aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
Diffstat (limited to 'builtin')
-rwxr-xr-x[-rw-r--r--]builtin/common/information_formspecs.lua4
-rw-r--r--builtin/common/misc_helpers.lua1
-rw-r--r--builtin/common/vector.lua8
-rw-r--r--builtin/game/register.lua20
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)