diff options
Diffstat (limited to 'builtin')
-rwxr-xr-x[-rw-r--r--] | builtin/common/information_formspecs.lua | 4 | ||||
-rw-r--r-- | builtin/common/misc_helpers.lua | 1 | ||||
-rw-r--r-- | builtin/common/vector.lua | 8 | ||||
-rw-r--r-- | builtin/game/register.lua | 20 |
4 files changed, 29 insertions, 4 deletions
diff --git a/builtin/common/information_formspecs.lua b/builtin/common/information_formspecs.lua index 1445a017c..d4426aff4 100644..100755 --- a/builtin/common/information_formspecs.lua +++ b/builtin/common/information_formspecs.lua @@ -57,11 +57,11 @@ local function build_chatcommands_formspec(name, sel, copy) .. "any entry in the list.").. "\n" .. S("Double-click to copy the entry to the chat history.") - local privs = core.get_player_privs(name) + local check_player_privs = core.check_player_privs for i, data in ipairs(mod_cmds) do rows[#rows + 1] = COLOR_BLUE .. ",0," .. F(data[1]) .. "," for j, cmds in ipairs(data[2]) do - local has_priv = privs[cmds[2].privs] + local has_priv = check_player_privs(name, cmds[2].privs) rows[#rows + 1] = ("%s,1,%s,%s"):format( has_priv and COLOR_GREEN or COLOR_GRAY, cmds[1], F(cmds[2].params)) diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua index 467f18804..a8ec5817a 100644 --- a/builtin/common/misc_helpers.lua +++ b/builtin/common/misc_helpers.lua @@ -5,6 +5,7 @@ local string_sub, string_find = string.sub, string.find -------------------------------------------------------------------------------- + local function basic_dump(o) local tp = type(o) if tp == "number" then diff --git a/builtin/common/vector.lua b/builtin/common/vector.lua index a08472e32..b662f73fc 100644 --- a/builtin/common/vector.lua +++ b/builtin/common/vector.lua @@ -125,6 +125,14 @@ function vector.distance(a, b) return math.sqrt(x * x + y * y + z * z) end +-- square roots are expensive +function vector.distance_sq(a, b) + local x = a.x - b.x + local y = a.y - b.y + local z = a.z - b.z + return x * x + y * y + z * z +end + function vector.direction(pos1, pos2) return vector.subtract(pos2, pos1):normalize() end diff --git a/builtin/game/register.lua b/builtin/game/register.lua index ee4edabbf..08856dc17 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -181,6 +181,7 @@ function core.register_item(name, itemdef) --core.log("Registering item: " .. itemdef.name) core.registered_items[itemdef.name] = itemdef core.registered_aliases[itemdef.name] = nil + register_item_raw(itemdef) end @@ -207,6 +208,14 @@ end function core.register_node(name, nodedef) nodedef.type = "node" + if nodedef.use_texture_alpha == true then + nodedef.use_texture_alpha = "blend" + elseif nodedef.use_texture_alpha == false then + nodedef.use_texture_alpha = "opaque" + end + if nodedef.tile_images then + nodedef.tiles = nodedef.tile_images + end core.register_item(name, nodedef) end @@ -305,14 +314,14 @@ function core.on_craft(itemstack, player, old_craft_list, craft_inv) for _, func in ipairs(core.registered_on_crafts) do itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack end - return itemstack + return ItemStack(itemstack) end function core.craft_predict(itemstack, player, old_craft_list, craft_inv) for _, func in ipairs(core.registered_craft_predicts) do itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack end - return itemstack + return ItemStack(itemstack) end -- Alias the forbidden item names to "" so they can't be @@ -424,6 +433,7 @@ function core.run_callbacks(callbacks, mode, ...) end local ret = nil for i = 1, cb_len do + local start_time = os.clock() local origin = core.callback_origins[callbacks[i]] core.set_last_run_mod(origin.mod) local cb_ret = callbacks[i](...) @@ -615,9 +625,15 @@ core.registered_on_player_inventory_actions, core.register_on_player_inventory_a core.registered_allow_player_inventory_actions, core.register_allow_player_inventory_action = make_registration() core.registered_on_rightclickplayers, core.register_on_rightclickplayer = make_registration() core.registered_on_liquid_transformed, core.register_on_liquid_transformed = make_registration() +core.registered_on_player_change_wield, core.register_on_player_change_wield = make_registration() +core.registered_on_player_change_keys, core.register_on_player_change_keys = make_registration() -- -- Compatibility for on_mapgen_init() -- core.register_on_mapgen_init = function(func) func(core.get_mapgen_params()) end +core.register_on_mods_loaded(function() + print(time_taken_a, time_taken_b) +-- error("e") +end) |