]> git.lizzy.rs Git - minetest.git/blobdiff - builtin/game/register.lua
Translated using Weblate (Chinese (Simplified))
[minetest.git] / builtin / game / register.lua
index 51492e928b6f5c86c7095a6fdea3e37a2161628c..b006957e914452a612b504ed47544953a6b87936 100644 (file)
@@ -118,6 +118,10 @@ function core.register_item(name, itemdef)
        end
        itemdef.name = name
 
+       -- default short_description to first line of description
+       itemdef.short_description = itemdef.short_description or
+               (itemdef.description or ""):gsub("\n.*","")
+
        -- Apply defaults and add to registered_* table
        if itemdef.type == "node" then
                -- Use the nodebox as selection box if it's not set manually
@@ -256,6 +260,18 @@ function core.register_tool(name, tooldef)
        end
        -- END Legacy stuff
 
+       -- This isn't just legacy, but more of a convenience feature
+       local toolcaps = tooldef.tool_capabilities
+       if toolcaps and toolcaps.punch_attack_uses == nil then
+               for _, cap in pairs(toolcaps.groupcaps or {}) do
+                       local level = (cap.maxlevel or 0) - 1
+                       if (cap.uses or 0) ~= 0 and level >= 0 then
+                               toolcaps.punch_attack_uses = cap.uses * (3 ^ level)
+                               break
+                       end
+               end
+       end
+
        core.register_item(name, tooldef)
 end
 
@@ -303,19 +319,11 @@ end
 
 -- Alias the forbidden item names to "" so they can't be
 -- created via itemstrings (e.g. /give)
-local name
 for name in pairs(forbidden_item_names) do
        core.registered_aliases[name] = ""
        register_alias_raw(name, "")
 end
 
-
--- Deprecated:
--- Aliases for core.register_alias (how ironic...)
---core.alias_node = core.register_alias
---core.alias_tool = core.register_alias
---core.alias_craftitem = core.register_alias
-
 --
 -- Built-in node definitions. Also defined in C.
 --
@@ -363,9 +371,9 @@ core.register_node(":ignore", {
        drop = "",
        groups = {not_in_creative_inventory=1},
        on_place = function(itemstack, placer, pointed_thing)
-               minetest.chat_send_player(
+               core.chat_send_player(
                                placer:get_player_name(),
-                               minetest.colorize("#FF0000",
+                               core.colorize("#FF0000",
                                "You can't place 'ignore' nodes!"))
                return ""
        end,
@@ -374,6 +382,7 @@ core.register_node(":ignore", {
 -- The hand (bare definition)
 core.register_item(":", {
        type = "none",
+       wield_image = "wieldhand.png",
        groups = {not_in_creative_inventory=1},
 })
 
@@ -413,10 +422,6 @@ function core.run_callbacks(callbacks, mode, ...)
                local origin = core.callback_origins[callbacks[i]]
                if origin then
                        core.set_last_run_mod(origin.mod)
-                       --print("Running " .. tostring(callbacks[i]) ..
-                       --      " (a " .. origin.name .. " callback in " .. origin.mod .. ")")
-               else
-                       --print("No data associated with callback")
                end
                local cb_ret = callbacks[i](...)
 
@@ -537,7 +542,7 @@ end
 core.registered_on_player_hpchanges = { modifiers = { }, loggers = { } }
 
 function core.registered_on_player_hpchange(player, hp_change, reason)
-       local last = false
+       local last
        for i = #core.registered_on_player_hpchanges.modifiers, 1, -1 do
                local func = core.registered_on_player_hpchanges.modifiers[i]
                hp_change, last = func(player, hp_change, reason)
@@ -576,6 +581,7 @@ core.unregister_biome = make_wrap_deregistration(core.register_biome,
                core.clear_registered_biomes, core.registered_biomes)
 
 core.registered_on_chat_messages, core.register_on_chat_message = make_registration()
+core.registered_on_chatcommands, core.register_on_chatcommand = make_registration()
 core.registered_globalsteps, core.register_globalstep = make_registration()
 core.registered_playerevents, core.register_playerevent = make_registration()
 core.registered_on_mods_loaded, core.register_on_mods_loaded = make_registration()
@@ -599,11 +605,12 @@ core.registered_on_item_eats, core.register_on_item_eat = make_registration()
 core.registered_on_punchplayers, core.register_on_punchplayer = make_registration()
 core.registered_on_priv_grant, core.register_on_priv_grant = make_registration()
 core.registered_on_priv_revoke, core.register_on_priv_revoke = make_registration()
+core.registered_on_authplayers, core.register_on_authplayer = make_registration()
 core.registered_can_bypass_userlimit, core.register_can_bypass_userlimit = make_registration()
 core.registered_on_modchannel_message, core.register_on_modchannel_message = make_registration()
-core.registered_on_auth_fail, core.register_on_auth_fail = make_registration()
 core.registered_on_player_inventory_actions, core.register_on_player_inventory_action = make_registration()
 core.registered_allow_player_inventory_actions, core.register_allow_player_inventory_action = make_registration()
+core.registered_on_rightclickplayers, core.register_on_rightclickplayer = make_registration()
 
 --
 -- Compatibility for on_mapgen_init()