From f9b0906a82382af30475dc3cb040c4686d54bcf8 Mon Sep 17 00:00:00 2001 From: SmallJoker <mk939@ymail.com> Date: Wed, 08 Jun 2022 21:57:46 +0200 Subject: [PATCH] Switching station: Begin optimizations --- technic/machines/other/frames.lua | 46 +++++++++++++++------------------------------- 1 files changed, 15 insertions(+), 31 deletions(-) diff --git a/technic/machines/other/frames.lua b/technic/machines/other/frames.lua index b74d806..c116187 100644 --- a/technic/machines/other/frames.lua +++ b/technic/machines/other/frames.lua @@ -1,7 +1,5 @@ local S = technic.getter -frames = {} - local infinite_stacks = minetest.settings:get_bool("creative_mode") and minetest.get_modpath("unified_inventory") == nil @@ -90,22 +88,22 @@ return false end -local function table_empty(table) - for _, __ in pairs(table) do +local function table_empty(what) + for _ in pairs(what) do return false end return true end -local function add_table(table, toadd) +local function add_table(what, toadd) local i = 1 while true do - o = table[i] + local o = what[i] if o == toadd then return end if o == nil then break end i = i + 1 end - table[i] = toadd + what[i] = toadd end local function move_nodes_vect(poslist, vect, must_not_move, owner) @@ -261,8 +259,8 @@ sunlight_propagates = true, frame_connect_all = function(nodename) - l2 = {} - l1 = { + local l2 = {} + local l1 = { { x = -1, y = 0, z = 0 }, { x = 1, y = 0, z = 0 }, { x = 0, y = -1, z = 0 }, { x = 0, y = 1, z = 0 }, { x = 0, y = 0, z = -1 }, { x = 0, y = 0, z = 1 } @@ -311,7 +309,7 @@ local node = minetest.get_node(pos) if node.name ~= "air" then if is_supported_node(node.name) then - obj = minetest.add_entity(pos, "technic:frame_entity") + local obj = minetest.add_entity(pos, "technic:frame_entity") obj:get_luaentity():set_node({ name = itemstack:get_name() }) end else @@ -349,8 +347,8 @@ end -- Run script hook - local _, callback - for _, callback in ipairs(minetest.registered_on_placenodes) do + local callback = nil + for _, _ in ipairs(minetest.registered_on_placenodes) do -- Copy pos and node because callback can modify them local pos_copy = { x = pos.x, y = pos.y, z = pos.z } local newnode_copy = { name = def.name, param1 = 0, param2 = 0 } @@ -364,7 +362,7 @@ itemstack:take_item() end - obj = minetest.add_entity(pos, "technic:frame_entity") + local obj = minetest.add_entity(pos, "technic:frame_entity") obj:get_luaentity():set_node({ name = node.name }) return itemstack @@ -400,21 +398,7 @@ local pos = vector.round(self.object:getpos()) frames_pos[pos_to_string(pos)] = node.name - local stack = ItemStack(node.name) - local itemtable = stack:to_table() - local itemname = nil - - if itemtable then - itemname = stack:to_table().name - end - - local item_texture = nil - local item_type = "" - if minetest.registered_items[itemname] then - item_texture = minetest.registered_items[itemname].inventory_image - item_type = minetest.registered_items[itemname].type - end - prop = { + local prop = { is_visible = true, textures = { node.name }, } @@ -589,7 +573,7 @@ end local function get_connected_nodes(pos) - c = { pos } + local c = { pos } local nodename = minetest.get_node(pos).name if frames_pos[pos_to_string(pos)] then nodename = frames_pos[pos_to_string(pos)] @@ -695,7 +679,7 @@ local saved_node = meta:get_string("saved_node") meta:set_string("saved_node", "") technic.swap_node(pos, new) - local meta = minetest.get_meta(pos) + meta = minetest.get_meta(pos) meta:set_string("saved_node", saved_node) end @@ -857,7 +841,7 @@ on_destruct = template_on_destruct, after_dig_node = template_drops, on_punch = function(pos, node, puncher) - local meta = minetest.get_meta(pos) + local _ = minetest.get_meta(pos) swap_template(pos, "technic:template_connector") end }) -- Gitblit v1.8.0