Introduce utility function for deriving table fields

This commit is contained in:
2026-05-28 21:15:00 +02:00
parent d47c4ad2ae
commit ff76d6f012
45 changed files with 96 additions and 173 deletions
+2 -4
View File
@@ -14,10 +14,8 @@
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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,
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+5 -10
View File
@@ -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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+2 -4
View File
@@ -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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -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={
+2 -4
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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"},
+5 -10
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -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={
+5 -10
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={
+5 -10
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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",
+1 -2
View File
@@ -15,8 +15,7 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
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={