From 7e7b2bcabb35b1bf4d9aae351034a9d481610dce Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Tue, 18 Jun 2019 15:04:08 -0400 Subject: [PATCH] use table.copy instead of own clone node --- homedecor_3d_extras/init.lua | 17 ++++------------- homedecor_doors_and_gates/init.lua | 19 ++++--------------- 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/homedecor_3d_extras/init.lua b/homedecor_3d_extras/init.lua index 01132dfb..53d75545 100644 --- a/homedecor_3d_extras/init.lua +++ b/homedecor_3d_extras/init.lua @@ -89,28 +89,19 @@ end -- 3d-ify default mtg wood and steel doors and trap doors if minetest.get_modpath("doors") then - local function clone_node(name) - local node2 = {} - local node = minetest.registered_nodes[name] - for k,v in pairs(node) do - node2[k]=v - end - return node2 - end - local def for _,mat in ipairs({"wood", "steel"}) do - def = clone_node("doors:door_"..mat.."_a") + def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"]) def.mesh = "homedecor_3d_door_"..mat.."_a.obj" minetest.register_node(":doors:door_"..mat.."_a", def) - def = clone_node("doors:door_"..mat.."_b") + def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"]) def.mesh = "homedecor_3d_door_"..mat.."_b.obj" minetest.register_node(":doors:door_"..mat.."_b", def) end for _,mat in ipairs({"", "_steel"}) do - def = clone_node("doors:trapdoor"..mat) + def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat]) def.drawtype = "mesh" def.mesh = "homedecor_3d_trapdoor"..mat..".obj" def.tiles = { @@ -119,7 +110,7 @@ if minetest.get_modpath("doors") then } minetest.register_node(":doors:trapdoor"..mat, def) - def = clone_node("doors:trapdoor"..mat.."_open") + def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"]) def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj" def.drawtype = "mesh" def.tiles = { diff --git a/homedecor_doors_and_gates/init.lua b/homedecor_doors_and_gates/init.lua index b20fd4ad..8b42f673 100644 --- a/homedecor_doors_and_gates/init.lua +++ b/homedecor_doors_and_gates/init.lua @@ -3,17 +3,6 @@ local S = homedecor.gettext local mesecons_mp = minetest.get_modpath("mesecons") --- clone node - -function hd_doors_clone_node(name) - local node2 = {} - local node = minetest.registered_nodes[name] - for k,v in pairs(node) do - node2[k]=v - end - return node2 -end - -- new doors using minetest_game doors API local door_list = { @@ -181,22 +170,22 @@ for _, door in ipairs(door_list) do local nn_b = "doors:homedecor_"..door.name.."_b" if door.alpha then - local def = hd_doors_clone_node(nn_a) + local def = table.copy(minetest.registered_nodes[nn_a]) def.use_texture_alpha = true def.mesh = "door_a.obj" -- leaving this out will break the _a model minetest.register_node(":"..nn_a, def) -- assignment when the override takes place - def = hd_doors_clone_node(nn_b) + def = table.copy(minetest.registered_nodes[nn_b]) def.use_texture_alpha = true minetest.register_node(":"..nn_b, def) end if door.custom_model and hd_3d then - def = hd_doors_clone_node(nn_a) + def = table.copy(minetest.registered_nodes[nn_a]) def.mesh = door.custom_model.."_a.obj" minetest.register_node(":"..nn_a, def) - def = hd_doors_clone_node(nn_b) + def = table.copy(minetest.registered_nodes[nn_b]) def.mesh = door.custom_model.."_b.obj" minetest.register_node(":"..nn_b, def) end