From ff76d6f012a1d0656f610e2331d52a095a1b6feb Mon Sep 17 00:00:00 2001 From: mrkubax10 Date: Thu, 28 May 2026 21:15:00 +0200 Subject: [PATCH] Introduce utility function for deriving table fields --- api/common.lua | 10 ++++++++++ machines/activated_electric_machine.lua | 6 ++---- machines/cable_former.lua | 3 +-- machines/canning_machine.lua | 3 +-- machines/chargepad.lua | 15 +++++---------- machines/compressor.lua | 3 +-- machines/electric_furnace.lua | 3 +-- machines/extractor.lua | 3 +-- machines/fluid_generator.lua | 6 ++---- machines/generator.lua | 3 +-- machines/induction_furnace.lua | 3 +-- machines/iron_furnace.lua | 3 +-- machines/macerator.lua | 3 +-- machines/magnetizer.lua | 3 +-- machines/mass_fabricator.lua | 3 +-- machines/miner.lua | 3 +-- machines/nuclear_reactor.lua | 6 ++---- machines/power_storage.lua | 15 +++++---------- machines/pump.lua | 3 +-- machines/recycler.lua | 3 +-- machines/rotary_macerator.lua | 3 +-- machines/simple_electric_item_processor.lua | 3 +-- machines/solar_panel_generator.lua | 15 +++++---------- machines/tool_workshop.lua | 3 +-- machines/transformer.lua | 15 +++++---------- machines/wind_mill.lua | 3 +-- tools/batpack.lua | 9 +++------ tools/electric_chainsaw.lua | 9 +++------ tools/electric_drill.lua | 9 +++------ tools/electric_gear_tool.lua | 3 +-- tools/electric_hoe.lua | 9 +++------ tools/electric_saber.lua | 9 +++------ tools/electric_tool.lua | 3 +-- tools/fluid_storage.lua | 3 +-- tools/jetpack.lua | 9 +++------ tools/mining_laser.lua | 3 +-- tools/nano_suit.lua | 3 +-- tools/power_storage.lua | 12 ++++-------- tools/quantum_suit.lua | 15 +++++---------- tools/scanner.lua | 9 +++------ tools/solar_helmet.lua | 3 +-- tools/static_boots.lua | 4 +--- tools/tool.lua | 3 +-- tools/treetap.lua | 6 ++---- tools/wrench.lua | 6 ++---- 45 files changed, 96 insertions(+), 173 deletions(-) diff --git a/api/common.lua b/api/common.lua index 8342e39..1ae7982 100644 --- a/api/common.lua +++ b/api/common.lua @@ -56,6 +56,16 @@ function industrialtest.internal.unpackTableInto(first,second) end end +-- \brief Copies table passed in super while overriding fields with those from override and returns result +-- \param super table +-- \param override table +-- \returns table +function industrialtest.internal.derive(super,override) + local result=table.copy(super) + industrialtest.internal.unpackTableInto(result,override) + return result +end + -- \brief Returns machine speed in items per operation -- \param meta MetaDataRef -- \returns number diff --git a/machines/activated_electric_machine.lua b/machines/activated_electric_machine.lua index cdb00b3..e6de915 100644 --- a/machines/activated_electric_machine.lua +++ b/machines/activated_electric_machine.lua @@ -14,10 +14,8 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -industrialtest.ActivatedElectricMachine=table.copy(industrialtest.ElectricMachine) - --- Forward methods from ActivatedMachine -industrialtest.internal.unpackTableInto(industrialtest.ActivatedElectricMachine,{ +industrialtest.ActivatedElectricMachine=industrialtest.internal.derive(industrialtest.ElectricMachine,{ + -- Forward methods from ActivatedMachine canUpdate=industrialtest.ActivatedMachine.canUpdate, register=industrialtest.ActivatedMachine.register, createDefinitionTable=industrialtest.ActivatedMachine.createDefinitionTable, diff --git a/machines/cable_former.lua b/machines/cable_former.lua index 4674e4f..b7a1571 100644 --- a/machines/cable_former.lua +++ b/machines/cable_former.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.CableFormer=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.CableFormer,{ +industrialtest.CableFormer=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:cable_former", description=S("Cable Former"), tiles={ diff --git a/machines/canning_machine.lua b/machines/canning_machine.lua index 48141b1..60324c2 100644 --- a/machines/canning_machine.lua +++ b/machines/canning_machine.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.CanningMachine=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.CanningMachine,{ +industrialtest.CanningMachine=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:canning_machine", description=S("Canning Machine"), tiles={ diff --git a/machines/chargepad.lua b/machines/chargepad.lua index 6611c54..a8392ba 100644 --- a/machines/chargepad.lua +++ b/machines/chargepad.lua @@ -16,8 +16,7 @@ local S=minetest.get_translator("industrialtest") industrialtest.internal.chargepads={} -industrialtest.Chargepad=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Chargepad,{ +industrialtest.Chargepad=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ storageLists={ "charged", "discharged" @@ -170,8 +169,7 @@ function industrialtest.Chargepad.action(self,pos,node) end end -industrialtest.BatboxChargepad=table.copy(industrialtest.Chargepad) -industrialtest.internal.unpackTableInto(industrialtest.BatboxChargepad,{ +industrialtest.BatboxChargepad=industrialtest.internal.derive(industrialtest.Chargepad,{ name="industrialtest:batbox_chargepad", description=S("BatBox Chargepad"), tiles={ @@ -199,8 +197,7 @@ industrialtest.internal.unpackTableInto(industrialtest.BatboxChargepad,{ }) industrialtest.BatboxChargepad:register() -industrialtest.CESUChargepad=table.copy(industrialtest.Chargepad) -industrialtest.internal.unpackTableInto(industrialtest.CESUChargepad,{ +industrialtest.CESUChargepad=industrialtest.internal.derive(industrialtest.Chargepad,{ name="industrialtest:cesu_chargepad", description=S("CESU Chargepad"), tiles={ @@ -228,8 +225,7 @@ industrialtest.internal.unpackTableInto(industrialtest.CESUChargepad,{ }) industrialtest.CESUChargepad:register() -industrialtest.MFEChargepad=table.copy(industrialtest.Chargepad) -industrialtest.internal.unpackTableInto(industrialtest.MFEChargepad,{ +industrialtest.MFEChargepad=industrialtest.internal.derive(industrialtest.Chargepad,{ name="industrialtest:mfe_chargepad", description=S("MFE Chargepad"), tiles={ @@ -258,8 +254,7 @@ industrialtest.internal.unpackTableInto(industrialtest.MFEChargepad,{ }) industrialtest.MFEChargepad:register() -industrialtest.MFSUChargepad=table.copy(industrialtest.Chargepad) -industrialtest.internal.unpackTableInto(industrialtest.MFSUChargepad,{ +industrialtest.MFSUChargepad=industrialtest.internal.derive(industrialtest.Chargepad,{ name="industrialtest:mfsu_chargepad", description=S("MFSU Chargepad"), tiles={ diff --git a/machines/compressor.lua b/machines/compressor.lua index 6282ec9..307ce77 100644 --- a/machines/compressor.lua +++ b/machines/compressor.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Compressor=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.Compressor,{ +industrialtest.Compressor=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:compressor", description=S("Compressor"), tiles={ diff --git a/machines/electric_furnace.lua b/machines/electric_furnace.lua index 51de5a9..021baa8 100644 --- a/machines/electric_furnace.lua +++ b/machines/electric_furnace.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.ElectricFurnace=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.ElectricFurnace,{ +industrialtest.ElectricFurnace=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:electric_furnace", description=S("Electric Furnace"), tiles={ diff --git a/machines/extractor.lua b/machines/extractor.lua index 6fdee30..5a23e38 100644 --- a/machines/extractor.lua +++ b/machines/extractor.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Extractor=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.Extractor,{ +industrialtest.Extractor=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:extractor", description=S("Extractor"), tiles={ diff --git a/machines/fluid_generator.lua b/machines/fluid_generator.lua index 3b7b462..e28b1e8 100644 --- a/machines/fluid_generator.lua +++ b/machines/fluid_generator.lua @@ -117,8 +117,7 @@ local function generate(self,pos,elapsed) return false end -industrialtest.GeothermalGenerator=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.GeothermalGenerator,{ +industrialtest.GeothermalGenerator=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:geothermal_generator", description=S("Geothermal Generator"), tiles={ @@ -243,8 +242,7 @@ minetest.register_craft({ } }) -industrialtest.WaterMill=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.WaterMill,{ +industrialtest.WaterMill=industrialtest.internal.derive(industrialtest.ElectricMachine,{ name="industrialtest:water_mill", description=S("Water Mill"), tiles={ diff --git a/machines/generator.lua b/machines/generator.lua index 16a69ea..13419bf 100644 --- a/machines/generator.lua +++ b/machines/generator.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Generator=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Generator,{ +industrialtest.Generator=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:generator", description=S("Generator"), tiles={ diff --git a/machines/induction_furnace.lua b/machines/induction_furnace.lua index c5b613a..4130626 100644 --- a/machines/induction_furnace.lua +++ b/machines/induction_furnace.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.InductionFurnace=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.InductionFurnace,{ +industrialtest.InductionFurnace=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:induction_furnace", description=S("Induction Furnace"), tiles={ diff --git a/machines/iron_furnace.lua b/machines/iron_furnace.lua index 8f6907a..204159a 100644 --- a/machines/iron_furnace.lua +++ b/machines/iron_furnace.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.IronFurnace=table.copy(industrialtest.ActivatedMachine) -industrialtest.internal.unpackTableInto(industrialtest.IronFurnace,{ +industrialtest.IronFurnace=industrialtest.internal.derive(industrialtest.ActivatedMachine,{ name="industrialtest:iron_furnace", description=S("Iron Furnace"), tiles={ diff --git a/machines/macerator.lua b/machines/macerator.lua index 76124ef..7160ca7 100644 --- a/machines/macerator.lua +++ b/machines/macerator.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Macerator=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.Macerator,{ +industrialtest.Macerator=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:macerator", description=S("Macerator"), tiles={ diff --git a/machines/magnetizer.lua b/machines/magnetizer.lua index e8bfee6..ce3ef93 100644 --- a/machines/magnetizer.lua +++ b/machines/magnetizer.lua @@ -72,8 +72,7 @@ local function hasMetalBoots(player) return false end -industrialtest.Magnetizer=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Magnetizer,{ +industrialtest.Magnetizer=industrialtest.internal.derive(industrialtest.ElectricMachine,{ name="industrialtest:magnetizer", description=S("Magnetizer"), tiles={ diff --git a/machines/mass_fabricator.lua b/machines/mass_fabricator.lua index 6da6c84..fb46af4 100644 --- a/machines/mass_fabricator.lua +++ b/machines/mass_fabricator.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.MassFabricator=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.MassFabricator,{ +industrialtest.MassFabricator=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:mass_fabricator", description=S("Mass Fabricator"), tiles={ diff --git a/machines/miner.lua b/machines/miner.lua index bd1bfa7..2a4f759 100644 --- a/machines/miner.lua +++ b/machines/miner.lua @@ -119,8 +119,7 @@ minetest.register_craft({ } }) -industrialtest.Miner=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Miner,{ +industrialtest.Miner=industrialtest.internal.derive(industrialtest.ElectricMachine,{ name="industrialtest:miner", description=S("Miner"), tiles={ diff --git a/machines/nuclear_reactor.lua b/machines/nuclear_reactor.lua index 8a55e30..adcbd67 100644 --- a/machines/nuclear_reactor.lua +++ b/machines/nuclear_reactor.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Reactor=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Reactor,{ +industrialtest.Reactor=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:nuclear_reactor", description=S("Nuclear Reactor"), tiles={ @@ -366,8 +365,7 @@ minetest.register_craft({ } }) -industrialtest.ReactorChamber=table.copy(industrialtest.Machine) -industrialtest.internal.unpackTableInto(industrialtest.ReactorChamber,{ +industrialtest.ReactorChamber=industrialtest.internal.derive(industrialtest.Machine,{ name="industrialtest:nuclear_reactor_chamber", description=S("Nuclear Reactor Chamber"), tiles={"industrialtest_machine_block.png^industrialtest_nuclear_reactor_top.png"}, diff --git a/machines/power_storage.lua b/machines/power_storage.lua index bf48265..11e30af 100644 --- a/machines/power_storage.lua +++ b/machines/power_storage.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.PowerStorage=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.PowerStorage,{ +industrialtest.PowerStorage=industrialtest.internal.derive(industrialtest.ElectricMachine,{ facedir=true, storageLists={ "charged", @@ -63,8 +62,7 @@ function industrialtest.PowerStorage.getFormspec(self,pos) return parentFormspec..table.concat(formspec,"") end -industrialtest.BatBox=table.copy(industrialtest.PowerStorage) -industrialtest.internal.unpackTableInto(industrialtest.BatBox,{ +industrialtest.BatBox=industrialtest.internal.derive(industrialtest.PowerStorage,{ name="industrialtest:batbox", description=S("BatBox"), tiles={ @@ -92,8 +90,7 @@ minetest.register_craft({ } }) -industrialtest.CESU=table.copy(industrialtest.PowerStorage) -industrialtest.internal.unpackTableInto(industrialtest.CESU,{ +industrialtest.CESU=industrialtest.internal.derive(industrialtest.PowerStorage,{ name="industrialtest:cesu", description=S("CESU"), tiles={ @@ -121,8 +118,7 @@ minetest.register_craft({ } }) -industrialtest.MFE=table.copy(industrialtest.PowerStorage) -industrialtest.internal.unpackTableInto(industrialtest.MFE,{ +industrialtest.MFE=industrialtest.internal.derive(industrialtest.PowerStorage,{ name="industrialtest:mfe", description=S("MFE"), tiles={ @@ -152,8 +148,7 @@ minetest.register_craft({ }) -industrialtest.MFSU=table.copy(industrialtest.PowerStorage) -industrialtest.internal.unpackTableInto(industrialtest.MFSU,{ +industrialtest.MFSU=industrialtest.internal.derive(industrialtest.PowerStorage,{ name="industrialtest:mfsu", description=S("MFSU"), tiles={ diff --git a/machines/pump.lua b/machines/pump.lua index 1e35020..8e06477 100644 --- a/machines/pump.lua +++ b/machines/pump.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Pump=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Pump,{ +industrialtest.Pump=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:pump", description=S("Pump"), tiles={ diff --git a/machines/recycler.lua b/machines/recycler.lua index 6c9999e..c79bbdb 100644 --- a/machines/recycler.lua +++ b/machines/recycler.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Recycler=table.copy(industrialtest.SimpleElectricItemProcessor) -industrialtest.internal.unpackTableInto(industrialtest.Recycler,{ +industrialtest.Recycler=industrialtest.internal.derive(industrialtest.SimpleElectricItemProcessor,{ name="industrialtest:recycler", description=S("Recycler"), tiles={ diff --git a/machines/rotary_macerator.lua b/machines/rotary_macerator.lua index ff0ed64..ccd94a3 100644 --- a/machines/rotary_macerator.lua +++ b/machines/rotary_macerator.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.RotaryMacerator=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.RotaryMacerator,{ +industrialtest.RotaryMacerator=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:rotary_macerator", description=S("Rotary Macerator"), tiles={ diff --git a/machines/simple_electric_item_processor.lua b/machines/simple_electric_item_processor.lua index 79e6918..5983b15 100644 --- a/machines/simple_electric_item_processor.lua +++ b/machines/simple_electric_item_processor.lua @@ -16,8 +16,7 @@ local S=minetest.get_translator("industrialtest") -industrialtest.SimpleElectricItemProcessor=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.SimpleElectricItemProcessor,{ +industrialtest.SimpleElectricItemProcessor=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ facedir=true, sounds="metal", storageLists={ diff --git a/machines/solar_panel_generator.lua b/machines/solar_panel_generator.lua index 3f03302..da713c0 100644 --- a/machines/solar_panel_generator.lua +++ b/machines/solar_panel_generator.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.SolarPanelBase=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.SolarPanelBase,{ +industrialtest.SolarPanelBase=industrialtest.internal.derive(industrialtest.ElectricMachine,{ sounds="metal", requiresWrench=true, storageLists={ @@ -78,8 +77,7 @@ function industrialtest.SolarPanelBase.action(self,pos) end end -industrialtest.SolarPanel=table.copy(industrialtest.SolarPanelBase) -industrialtest.internal.unpackTableInto(industrialtest.SolarPanel,{ +industrialtest.SolarPanel=industrialtest.internal.derive(industrialtest.SolarPanelBase,{ name="industrialtest:solar_panel", description=S("Solar Panel"), tiles={ @@ -106,8 +104,7 @@ minetest.register_craft({ } }) -industrialtest.LVSolarArray=table.copy(industrialtest.SolarPanelBase) -industrialtest.internal.unpackTableInto(industrialtest.LVSolarArray,{ +industrialtest.LVSolarArray=industrialtest.internal.derive(industrialtest.SolarPanelBase,{ name="industrialtest:lv_solar_array", description=S("LV Solar Array"), tiles={ @@ -135,8 +132,7 @@ minetest.register_craft({ } }) -industrialtest.MVSolarArray=table.copy(industrialtest.SolarPanelBase) -industrialtest.internal.unpackTableInto(industrialtest.MVSolarArray,{ +industrialtest.MVSolarArray=industrialtest.internal.derive(industrialtest.SolarPanelBase,{ name="industrialtest:mv_solar_array", description=S("MV Solar Array"), tiles={ @@ -164,8 +160,7 @@ minetest.register_craft({ }) -industrialtest.HVSolarArray=table.copy(industrialtest.SolarPanelBase) -industrialtest.internal.unpackTableInto(industrialtest.HVSolarArray,{ +industrialtest.HVSolarArray=industrialtest.internal.derive(industrialtest.SolarPanelBase,{ name="industrialtest:hv_solar_array", description=S("HV Solar Array"), tiles={ diff --git a/machines/tool_workshop.lua b/machines/tool_workshop.lua index 482b58f..a4338f8 100644 --- a/machines/tool_workshop.lua +++ b/machines/tool_workshop.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.ToolWorkshop=table.copy(industrialtest.ActivatedElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.ToolWorkshop,{ +industrialtest.ToolWorkshop=industrialtest.internal.derive(industrialtest.ActivatedElectricMachine,{ name="industrialtest:tool_workshop", description=S("Tool Workshop"), tiles={ diff --git a/machines/transformer.lua b/machines/transformer.lua index ddd205e..10e228e 100644 --- a/machines/transformer.lua +++ b/machines/transformer.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.Transformer=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.Transformer,{ +industrialtest.Transformer=industrialtest.internal.derive(industrialtest.ElectricMachine,{ withoutFormspec=true, facedir=true, storageLists={}, @@ -59,8 +58,7 @@ function industrialtest.Transformer.onPowerFlow(self,pos) self:trigger(pos) end -industrialtest.LVTransformer=table.copy(industrialtest.Transformer) -industrialtest.internal.unpackTableInto(industrialtest.LVTransformer,{ +industrialtest.LVTransformer=industrialtest.internal.derive(industrialtest.Transformer,{ name="industrialtest:lv_transformer", description=S("LV Transformer"), sounds="wood", @@ -89,8 +87,7 @@ minetest.register_craft({ } }) -industrialtest.MVTransformer=table.copy(industrialtest.Transformer) -industrialtest.internal.unpackTableInto(industrialtest.MVTransformer,{ +industrialtest.MVTransformer=industrialtest.internal.derive(industrialtest.Transformer,{ name="industrialtest:mv_transformer", description=S("MV Transformer"), sounds="metal", @@ -120,8 +117,7 @@ minetest.register_craft({ } }) -industrialtest.HVTransformer=table.copy(industrialtest.Transformer) -industrialtest.internal.unpackTableInto(industrialtest.HVTransformer,{ +industrialtest.HVTransformer=industrialtest.internal.derive(industrialtest.Transformer,{ name="industrialtest:hv_transformer", description=S("HV Transformer"), sounds="metal", @@ -151,8 +147,7 @@ minetest.register_craft({ } }) -industrialtest.EVTransformer=table.copy(industrialtest.Transformer) -industrialtest.internal.unpackTableInto(industrialtest.EVTransformer,{ +industrialtest.EVTransformer=industrialtest.internal.derive(industrialtest.Transformer,{ name="industrialtest:ev_transformer", description=S("EV Transformer"), sounds="metal", diff --git a/machines/wind_mill.lua b/machines/wind_mill.lua index 0be873a..e18f650 100644 --- a/machines/wind_mill.lua +++ b/machines/wind_mill.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.WindMill=table.copy(industrialtest.ElectricMachine) -industrialtest.internal.unpackTableInto(industrialtest.WindMill,{ +industrialtest.WindMill=industrialtest.internal.derive(industrialtest.ElectricMachine,{ name="industrialtest:wind_mill", description=S("Wind Mill"), tiles={ diff --git a/tools/batpack.lua b/tools/batpack.lua index 988fae1..16e7416 100644 --- a/tools/batpack.lua +++ b/tools/batpack.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.BatPackBase=table.copy(industrialtest.ElectricGearTool) -industrialtest.internal.unpackTableInto(industrialtest.BatPackBase,{ +industrialtest.BatPackBase=industrialtest.internal.derive(industrialtest.ElectricGearTool,{ part="torso" }) @@ -41,8 +40,7 @@ function industrialtest.BatPackBase.update(self,player,inv,itemstack,dtime) return false end -industrialtest.BatPack=table.copy(industrialtest.BatPackBase) -industrialtest.internal.unpackTableInto(industrialtest.BatPack,{ +industrialtest.BatPack=industrialtest.internal.derive(industrialtest.BatPackBase,{ name="industrialtest:batpack_v", description=S("BatPack"), inventoryImage="industrialtest_batpack_v_inv.png", @@ -63,8 +61,7 @@ minetest.register_craft({ } }) -industrialtest.LapPack=table.copy(industrialtest.BatPackBase) -industrialtest.internal.unpackTableInto(industrialtest.LapPack,{ +industrialtest.LapPack=industrialtest.internal.derive(industrialtest.BatPackBase,{ name="industrialtest:lappack_v", description=S("LapPack"), inventoryImage="industrialtest_lappack_v_inv.png", diff --git a/tools/electric_chainsaw.lua b/tools/electric_chainsaw.lua index 3e63dea..6332fdb 100644 --- a/tools/electric_chainsaw.lua +++ b/tools/electric_chainsaw.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.ElectricChainsawBase=table.copy(industrialtest.ActivatedElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricChainsawBase,{ +industrialtest.ElectricChainsawBase=industrialtest.internal.derive(industrialtest.ActivatedElectricTool,{ digs={"choppy"} }) @@ -33,8 +32,7 @@ function industrialtest.ElectricChainsawBase.getOpPower(self,itemstack) return 50 end -industrialtest.ElectricChainsaw=table.copy(industrialtest.ElectricChainsawBase) -industrialtest.internal.unpackTableInto(industrialtest.ElectricChainsaw,{ +industrialtest.ElectricChainsaw=industrialtest.internal.derive(industrialtest.ElectricChainsawBase,{ name="industrialtest:electric_chainsaw", description=S("Electric Chainsaw"), inventoryImage="industrialtest_electric_chainsaw.png", @@ -61,8 +59,7 @@ minetest.register_craft({ } }) -industrialtest.AdvancedElectricChainsaw=table.copy(industrialtest.ElectricChainsawBase) -industrialtest.internal.unpackTableInto(industrialtest.AdvancedElectricChainsaw,{ +industrialtest.AdvancedElectricChainsaw=industrialtest.internal.derive(industrialtest.ElectricChainsawBase,{ name="industrialtest:advanced_electric_chainsaw", description=S("Advanced Electric Chainsaw"), inventoryImage="industrialtest_advanced_electric_chainsaw.png", diff --git a/tools/electric_drill.lua b/tools/electric_drill.lua index 0b3d566..2ff5e89 100644 --- a/tools/electric_drill.lua +++ b/tools/electric_drill.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.ElectricDrillBase=table.copy(industrialtest.ActivatedElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricDrillBase,{ +industrialtest.ElectricDrillBase=industrialtest.internal.derive(industrialtest.ActivatedElectricTool,{ digs={ "cracky", "crumbly" @@ -33,8 +32,7 @@ function industrialtest.ElectricDrillBase.getOpPower(self,itemstack) return 50 end -industrialtest.ElectricDrill=table.copy(industrialtest.ElectricDrillBase) -industrialtest.internal.unpackTableInto(industrialtest.ElectricDrill,{ +industrialtest.ElectricDrill=industrialtest.internal.derive(industrialtest.ElectricDrillBase,{ name="industrialtest:electric_drill", description=S("Electric Drill"), inventoryImage="industrialtest_electric_drill.png", @@ -60,8 +58,7 @@ minetest.register_craft({ } }) -industrialtest.AdvancedElectricDrill=table.copy(industrialtest.ElectricDrillBase) -industrialtest.internal.unpackTableInto(industrialtest.AdvancedElectricDrill,{ +industrialtest.AdvancedElectricDrill=industrialtest.internal.derive(industrialtest.ElectricDrillBase,{ name="industrialtest:advanced_electric_drill", description=S("Advanced Electric Drill"), inventoryImage="industrialtest_advanced_electric_drill.png", diff --git a/tools/electric_gear_tool.lua b/tools/electric_gear_tool.lua index 008ff91..1798014 100644 --- a/tools/electric_gear_tool.lua +++ b/tools/electric_gear_tool.lua @@ -14,7 +14,6 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -industrialtest.ElectricGearTool=table.copy(industrialtest.GearTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricGearTool,{ +industrialtest.ElectricGearTool=industrialtest.internal.derive(industrialtest.GearTool,{ prepare=industrialtest.ElectricItem.prepare }) diff --git a/tools/electric_hoe.lua b/tools/electric_hoe.lua index 4b3b116..283af79 100644 --- a/tools/electric_hoe.lua +++ b/tools/electric_hoe.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.ElectricHoeBase=table.copy(industrialtest.ActivatedElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricHoeBase,{ +industrialtest.ElectricHoeBase=industrialtest.internal.derive(industrialtest.ActivatedElectricTool,{ digs={"hoey"}, capacity=10000, flow=industrialtest.api.lvPowerFlow @@ -130,8 +129,7 @@ function industrialtest.ElectricHoeBase.getOpPower(self,itemstack) return 50 end -industrialtest.ElectricHoe=table.copy(industrialtest.ElectricHoeBase) -industrialtest.internal.unpackTableInto(industrialtest.ElectricHoe,{ +industrialtest.ElectricHoe=industrialtest.internal.derive(industrialtest.ElectricHoeBase,{ name="industrialtest:electric_hoe", description=S("Electric Hoe"), inventoryImage="industrialtest_electric_hoe.png", @@ -164,8 +162,7 @@ minetest.register_craft({ }) if industrialtest.mclAvailable then - industrialtest.AdvancedElectricHoe=table.copy(industrialtest.ElectricHoeBase) - industrialtest.internal.unpackTableInto(industrialtest.AdvancedElectricHoe,{ + industrialtest.AdvancedElectricHoe=industrialtest.internal.derive(industrialtest.ElectricHoeBase,{ name="industrialtest:advanced_electric_hoe", description=S("Advanced Electric Hoe"), inventoryImage="industrialtest_advanced_electric_hoe.png", diff --git a/tools/electric_saber.lua b/tools/electric_saber.lua index d149812..2ded8a6 100644 --- a/tools/electric_saber.lua +++ b/tools/electric_saber.lua @@ -17,8 +17,7 @@ -- This entire code is super hacky, I'm aware. local S=minetest.get_translator("industrialtest") -industrialtest.ElectricSaberBase=table.copy(industrialtest.ActivatedElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricSaberBase,{ +industrialtest.ElectricSaberBase=industrialtest.internal.derive(industrialtest.ActivatedElectricTool,{ fullPunchInterval=0.5, digs={"snappy"}, hits={"fleshy"}, @@ -55,8 +54,7 @@ function industrialtest.ElectricSaberBase.getOpPower(self,itemstack) return 500 end -industrialtest.ElectricSaber=table.copy(industrialtest.ElectricSaberBase) -industrialtest.internal.unpackTableInto(industrialtest.ElectricSaber,{ +industrialtest.ElectricSaber=industrialtest.internal.derive(industrialtest.ElectricSaberBase,{ name="industrialtest:electric_saber", description=S("Electric Saber"), inventoryImage="industrialtest_electric_saber.png", @@ -81,8 +79,7 @@ minetest.register_craft({ } }) -industrialtest.AdvancedElectricSaber=table.copy(industrialtest.ElectricSaberBase) -industrialtest.internal.unpackTableInto(industrialtest.AdvancedElectricSaber,{ +industrialtest.AdvancedElectricSaber=industrialtest.internal.derive(industrialtest.ElectricSaberBase,{ name="industrialtest:advanced_electric_saber", description=S("Advanced Electric Saber"), inventoryImage="industrialtest_advanced_electric_saber.png", diff --git a/tools/electric_tool.lua b/tools/electric_tool.lua index 80ad47b..6184d20 100644 --- a/tools/electric_tool.lua +++ b/tools/electric_tool.lua @@ -14,8 +14,7 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -industrialtest.ElectricTool=table.copy(industrialtest.Tool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricTool,{ +industrialtest.ElectricTool=industrialtest.internal.derive(industrialtest.Tool,{ prepare=industrialtest.ElectricItem.prepare }) diff --git a/tools/fluid_storage.lua b/tools/fluid_storage.lua index e52bfb1..decbb9c 100644 --- a/tools/fluid_storage.lua +++ b/tools/fluid_storage.lua @@ -16,8 +16,7 @@ local S=minetest.get_translator("industrialtest") -industrialtest.FuelCan=table.copy(industrialtest.FluidContainerItem) -industrialtest.internal.unpackTableInto(industrialtest.FuelCan,{ +industrialtest.FuelCan=industrialtest.internal.derive(industrialtest.FluidContainerItem,{ name="industrialtest:fuel_can", description=S("Fuel Can"), inventoryImage="industrialtest_fuel_can.png", diff --git a/tools/jetpack.lua b/tools/jetpack.lua index d025eba..f10cd03 100644 --- a/tools/jetpack.lua +++ b/tools/jetpack.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.JetpackBase=table.copy(industrialtest.GearTool) -industrialtest.internal.unpackTableInto(industrialtest.JetpackBase,{ +industrialtest.JetpackBase=industrialtest.internal.derive(industrialtest.GearTool,{ part="torso" }) local soundHandles = {} @@ -47,8 +46,7 @@ function industrialtest.JetpackBase.update(self, player, inv, itemstack, dtime) return false end -industrialtest.Jetpack=table.copy(industrialtest.JetpackBase) -industrialtest.internal.unpackTableInto(industrialtest.Jetpack,{ +industrialtest.Jetpack=industrialtest.internal.derive(industrialtest.JetpackBase,{ -- _v is hack to suppress "Registered armor doesn't have material at the end of registration name" warning from 3D Armor. name="industrialtest:jetpack_v", description=S("Jetpack"), @@ -84,8 +82,7 @@ minetest.register_craft({ } }) -industrialtest.ElectricJetpack=table.copy(industrialtest.JetpackBase) -industrialtest.internal.unpackTableInto(industrialtest.ElectricJetpack,{ +industrialtest.ElectricJetpack=industrialtest.internal.derive(industrialtest.JetpackBase,{ name="industrialtest:electric_jetpack", description=S("Electric Jetpack"), inventoryImage="industrialtest_electric_jetpack_inv.png", diff --git a/tools/mining_laser.lua b/tools/mining_laser.lua index 573f62e..3f49904 100644 --- a/tools/mining_laser.lua +++ b/tools/mining_laser.lua @@ -108,8 +108,7 @@ minetest.register_entity("industrialtest:mining_laser_beam",{ on_step=industrialtest.MiningLaserBeam.onStep }) -industrialtest.MiningLaser=table.copy(industrialtest.ElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.MiningLaser,{ +industrialtest.MiningLaser=industrialtest.internal.derive(industrialtest.ElectricTool,{ name="industrialtest:mining_laser", description=S("Mining Laser (Mode 1)"), inventoryImage="industrialtest_mining_laser.png", diff --git a/tools/nano_suit.lua b/tools/nano_suit.lua index 44b2d3c..2c2b2da 100644 --- a/tools/nano_suit.lua +++ b/tools/nano_suit.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.NanoSuit=table.copy(industrialtest.ElectricArmor) -industrialtest.internal.unpackTableInto(industrialtest.NanoSuit,{ +industrialtest.NanoSuit=industrialtest.internal.derive(industrialtest.ElectricArmor,{ name="industrialtest:nano", elements={ { diff --git a/tools/power_storage.lua b/tools/power_storage.lua index b14bfb8..a365d87 100644 --- a/tools/power_storage.lua +++ b/tools/power_storage.lua @@ -16,8 +16,7 @@ local S=minetest.get_translator("industrialtest") -industrialtest.REBattery=table.copy(industrialtest.ElectricItem) -industrialtest.internal.unpackTableInto(industrialtest.REBattery,{ +industrialtest.REBattery=industrialtest.internal.derive(industrialtest.ElectricItem,{ name="industrialtest:re_battery", description=S("RE-Battery"), inventoryImage="industrialtest_re_battery.png", @@ -37,8 +36,7 @@ minetest.register_craft({ } }) -industrialtest.AdvancedREBattery=table.copy(industrialtest.ElectricItem) -industrialtest.internal.unpackTableInto(industrialtest.AdvancedREBattery,{ +industrialtest.AdvancedREBattery=industrialtest.internal.derive(industrialtest.ElectricItem,{ name="industrialtest:advanced_re_battery", description=S("Advanced RE-Battery"), inventoryImage="industrialtest_advanced_re_battery.png", @@ -58,8 +56,7 @@ minetest.register_craft({ } }) -industrialtest.EnergyCrystal=table.copy(industrialtest.ElectricItem) -industrialtest.internal.unpackTableInto(industrialtest.EnergyCrystal,{ +industrialtest.EnergyCrystal=industrialtest.internal.derive(industrialtest.ElectricItem,{ name="industrialtest:energy_crystal", description=S("Energy Crystal"), inventoryImage="industrialtest_energy_crystal.png", @@ -79,8 +76,7 @@ minetest.register_craft({ } }) -industrialtest.LapotronCrystal=table.copy(industrialtest.ElectricItem) -industrialtest.internal.unpackTableInto(industrialtest.LapotronCrystal,{ +industrialtest.LapotronCrystal=industrialtest.internal.derive(industrialtest.ElectricItem,{ name="industrialtest:lapotron_crystal", description=S("Lapotron Crystal"), inventoryImage="industrialtest_lapotron_crystal.png", diff --git a/tools/quantum_suit.lua b/tools/quantum_suit.lua index 0ca5e56..267e357 100644 --- a/tools/quantum_suit.lua +++ b/tools/quantum_suit.lua @@ -16,8 +16,7 @@ local S=minetest.get_translator("industrialtest") -industrialtest.QuantumArmorBase=table.copy(industrialtest.ElectricGearTool) -industrialtest.internal.unpackTableInto(industrialtest.QuantumArmorBase,{ +industrialtest.QuantumArmorBase=industrialtest.internal.derive(industrialtest.ElectricGearTool,{ flow=industrialtest.api.ivPowerFlow, capacity=10000000 }) @@ -32,8 +31,7 @@ function industrialtest.QuantumArmorBase.getPowerPerDamageForItem(self,itemstack return 30 end -industrialtest.QuantumHelmet=table.copy(industrialtest.QuantumArmorBase) -industrialtest.internal.unpackTableInto(industrialtest.QuantumHelmet,{ +industrialtest.QuantumHelmet=industrialtest.internal.derive(industrialtest.QuantumArmorBase,{ name="industrialtest:quantum_helmet", description=S("Quantum Helmet"), inventoryImage="industrialtest_quantum_helmet_inv.png", @@ -79,8 +77,7 @@ minetest.register_craft({ } }) -industrialtest.QuantumBodyarmor=table.copy(industrialtest.QuantumArmorBase) -industrialtest.internal.unpackTableInto(industrialtest.QuantumBodyarmor,{ +industrialtest.QuantumBodyarmor=industrialtest.internal.derive(industrialtest.QuantumArmorBase,{ name="industrialtest:quantum_bodyarmor", description=S("Quantum Bodyarmor"), inventoryImage="industrialtest_quantum_bodyarmor_inv.png", @@ -107,8 +104,7 @@ minetest.register_craft({ } }) -industrialtest.QuantumLeggings=table.copy(industrialtest.QuantumArmorBase) -industrialtest.internal.unpackTableInto(industrialtest.QuantumLeggings,{ +industrialtest.QuantumLeggings=industrialtest.internal.derive(industrialtest.QuantumArmorBase,{ name="industrialtest:quantum_leggings", description=S("Quantum Leggings"), inventoryImage="industrialtest_quantum_leggings_inv.png", @@ -167,8 +163,7 @@ minetest.register_craft({ } }) -industrialtest.QuantumBoots=table.copy(industrialtest.QuantumArmorBase) -industrialtest.internal.unpackTableInto(industrialtest.QuantumBoots,{ +industrialtest.QuantumBoots=industrialtest.internal.derive(industrialtest.QuantumArmorBase,{ name="industrialtest:quantum_boots", description=S("Quantum Boots"), inventoryImage="industrialtest_quantum_boots_inv.png", diff --git a/tools/scanner.lua b/tools/scanner.lua index ee84b5b..31f325d 100644 --- a/tools/scanner.lua +++ b/tools/scanner.lua @@ -16,8 +16,7 @@ local S=minetest.get_translator("industrialtest") -industrialtest.Scanner=table.copy(industrialtest.ElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.Scanner,{ +industrialtest.Scanner=industrialtest.internal.derive(industrialtest.ElectricTool,{ define={onUse=true} }) @@ -87,8 +86,7 @@ function industrialtest.OreScanner.isOre(node) return string.find(node.name,":stone_with_") end -industrialtest.ODScanner=table.copy(industrialtest.OreScanner) -industrialtest.internal.unpackTableInto(industrialtest.ODScanner,{ +industrialtest.ODScanner=industrialtest.internal.derive(industrialtest.OreScanner,{ name="industrialtest:od_scanner", description=S("OD Scanner"), inventoryImage="industrialtest_od_scanner.png", @@ -114,8 +112,7 @@ minetest.register_craft({ } }) -industrialtest.OVScanner=table.copy(industrialtest.OreScanner) -industrialtest.internal.unpackTableInto(industrialtest.OVScanner,{ +industrialtest.OVScanner=industrialtest.internal.derive(industrialtest.OreScanner,{ name="industrialtest:ov_scanner", description=S("OV Scanner"), inventoryImage="industrialtest_ov_scanner.png", diff --git a/tools/solar_helmet.lua b/tools/solar_helmet.lua index 7bebf6e..232a3e9 100644 --- a/tools/solar_helmet.lua +++ b/tools/solar_helmet.lua @@ -15,8 +15,7 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.SolarHelmet=table.copy(industrialtest.GearTool) -industrialtest.internal.unpackTableInto(industrialtest.SolarHelmet,{ +industrialtest.SolarHelmet=industrialtest.internal.derive(industrialtest.GearTool,{ name="industrialtest:solar_helmet", description=S("Solar Helmet"), inventoryImage="industrialtest_solar_helmet_inv.png", diff --git a/tools/static_boots.lua b/tools/static_boots.lua index a553339..cc36a12 100644 --- a/tools/static_boots.lua +++ b/tools/static_boots.lua @@ -15,11 +15,9 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") -industrialtest.StaticBoots=table.copy(industrialtest.GearTool) local image=(industrialtest.mtgAvailable and "industrialtest_static_boots.png" or "industrialtest_mcl_static_boots.png") - -industrialtest.internal.unpackTableInto(industrialtest.StaticBoots,{ +industrialtest.StaticBoots=industrialtest.internal.derive(industrialtest.GearTool,{ name="industrialtest:static_boots", description=S("Static Boots"), inventoryImage="industrialtest_static_boots_inv.png", diff --git a/tools/tool.lua b/tools/tool.lua index b6ef92f..f70e6a5 100644 --- a/tools/tool.lua +++ b/tools/tool.lua @@ -14,8 +14,7 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -industrialtest.Tool=table.copy(industrialtest.Item) -industrialtest.internal.unpackTableInto(industrialtest.Tool,{ +industrialtest.Tool=industrialtest.internal.derive(industrialtest.Item,{ define={} }) diff --git a/tools/treetap.lua b/tools/treetap.lua index fac154d..e6a2e7b 100644 --- a/tools/treetap.lua +++ b/tools/treetap.lua @@ -38,8 +38,7 @@ local function onTreetapUse(user,pointed) end local S=minetest.get_translator("industrialtest") -industrialtest.Treetap=table.copy(industrialtest.Tool) -industrialtest.internal.unpackTableInto(industrialtest.Treetap,{ +industrialtest.Treetap=industrialtest.internal.derive(industrialtest.Tool,{ name="industrialtest:treetap", define={onPlace=true}, description=S("Treetap"), @@ -65,8 +64,7 @@ minetest.register_craft({ } }) -industrialtest.ElectricTreetap=table.copy(industrialtest.ElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricTreetap,{ +industrialtest.ElectricTreetap=industrialtest.internal.derive(industrialtest.ElectricTool,{ name="industrialtest:electric_treetap", define={onPlace=true}, description=S("Electric Treetap"), diff --git a/tools/wrench.lua b/tools/wrench.lua index 162dbfb..56efd35 100644 --- a/tools/wrench.lua +++ b/tools/wrench.lua @@ -40,8 +40,7 @@ local function onWrenchUse(user,pointed) return true end -industrialtest.Wrench=table.copy(industrialtest.Tool) -industrialtest.internal.unpackTableInto(industrialtest.Wrench,{ +industrialtest.Wrench=industrialtest.internal.derive(industrialtest.Tool,{ name="industrialtest:wrench", define={onUse=true}, description=S("Wrench"), @@ -66,8 +65,7 @@ minetest.register_craft({ } }) -industrialtest.ElectricWrench=table.copy(industrialtest.ElectricTool) -industrialtest.internal.unpackTableInto(industrialtest.ElectricWrench,{ +industrialtest.ElectricWrench=industrialtest.internal.derive(industrialtest.ElectricTool,{ name="industrialtest:electric_wrench", define={onUse=true}, description=S("Electric Wrench"),