21 Commits

Author SHA1 Message Date
cd585391ec Describe Mining Laser in guide 2025-12-06 15:13:12 +01:00
d50908dedb Describe jetpacks in guide 2025-12-06 14:51:45 +01:00
ae26f0fe58 Describe electric toolset in guide 2025-12-05 09:46:40 +01:00
a210cc78e0 Describe BatPacks in guide 2025-12-05 09:32:25 +01:00
f480f16340 Fix oversight in LapPack definition 2025-12-05 09:32:06 +01:00
6a37a84114 Describe machine upgrades in guide 2025-12-04 22:50:55 +01:00
eb546fd07b Replace variable parsing in guide with pattern matching 2025-12-04 22:45:23 +01:00
6c93528d13 Describe Wind Mill in guide 2025-12-04 21:32:01 +01:00
520f3717d6 Fix Wind Mill when used in MCL 2025-12-04 21:26:49 +01:00
75894128f0 Don't use mcl_fences.register_fence_def if not present 2025-12-03 23:51:19 +01:00
7efdf28b37 Describe chargepads in guide 2025-12-03 23:11:01 +01:00
8125d280da Fix fluid generator formspec not updating after putting fluid 2025-12-02 21:45:55 +01:00
0d8807a1c3 Describe Water Mill in guide 2025-12-02 19:05:49 +01:00
e7ed72b261 Describe transformers in guide 2025-12-02 19:00:21 +01:00
647d46b2f4 Add missing textures in previous commits 2025-12-01 23:43:30 +01:00
27ebd4fbc5 Describe Tool Workshop in guide 2025-12-01 15:19:02 +01:00
603ae83507 Describe solar panels in guide 2025-12-01 15:18:49 +01:00
9633214a85 Describe Rotary Macerator in guide 2025-11-30 17:38:39 +01:00
a920bef790 Describe Recycler in guide 2025-11-30 17:25:20 +01:00
a9be76866f Describe Pump in guide 2025-11-29 19:00:10 +01:00
9b0792f1ff Describe power storage in guide 2025-11-29 18:40:01 +01:00
19 changed files with 807 additions and 32 deletions

770
guide.lua
View File

@@ -60,11 +60,15 @@ end
-- \brief Creates table with machine information while providing few shortcuts for common fields -- \brief Creates table with machine information while providing few shortcuts for common fields
-- \param fields table -- \param fields table
-- \param machineName string -- \param machineName string
-- \param num (optional) number
-- \returns string -- \returns string
local function createMachineInformationTable(fields,machineName) local function createMachineInformationTable(fields,machineName,num)
local fieldLabels={ local fieldLabels={
inputVoltage="Input voltage level", inputVoltage="Input voltage level",
outputVoltage="Output voltage level", outputVoltage="Output voltage level",
voltage="Voltage",
lowVoltage="Low voltage",
highVoltage="High voltage",
recipe="Recipe type", recipe="Recipe type",
powerCapacity="Power capacity", powerCapacity="Power capacity",
opPower="Power per operation", opPower="Power per operation",
@@ -81,7 +85,7 @@ local function createMachineInformationTable(fields,machineName)
}) })
end end
return createTable(rows,false,string.format("Figure 1. Machine information for %s",machineName)) return createTable(rows,false,string.format("Figure %d. Machine information for %s",(num or 1),machineName))
end end
local pages={ local pages={
@@ -229,6 +233,25 @@ local pages={
} }
}, },
{
name="chargepads",
title=S("Chargepads"),
icon="industrialtest:batbox_chargepad",
content={
[[
<big>||Chargepads||</big>
<left>
||Chargepad is similar in functionality to regular power storage like <item name="industrialtest:batbox" height="{{ITEM_HEIGHT}}"> <b>BatBox</b>. The additional feature is that it can charge equipped electric gear and selected item in hotbar while player is standing on it. There is a chargepad corresponding to each power storage node and they have exact same information so there is no need to list that again here. While charging the top of chargepad changes color to blue.||
</left>
<mono>
----
</mono>
<img name="industrialtest_guide_chargepad.png">
<left>||Picture 1. Unused <item name="industrialtest:batbox_chargepad" height="{{ITEM_HEIGHT}}"> <b>BatBox Chargepad</b> attached to <item name="industrialtest:solar_panel" height="{{ITEM_HEIGHT}}"> <b>Solar Panel</b>.||</left>
]]
}
},
{ {
name="compressor", name="compressor",
title=S("Compressor"), title=S("Compressor"),
@@ -660,6 +683,741 @@ local pages={
<left>||Picture 2. Nuclear Reactor with some <item name="industrialtest:nuclear_reactor_chamber" height="{{ITEM_HEIGHT}}"> <b>Nuclear Reactor Chamber</b>.||</left> <left>||Picture 2. Nuclear Reactor with some <item name="industrialtest:nuclear_reactor_chamber" height="{{ITEM_HEIGHT}}"> <b>Nuclear Reactor Chamber</b>.||</left>
]] ]]
} }
},
{
name="powerStorage",
title=S("Power storage"),
icon="industrialtest:batbox",
content={
[[
<big>||Power storage||</big>
<left>
||This mod introduces a few nodes which allow for storing energy in them. It is useful in case some energy deficit happens or to charge electric items in them. Each of those have power input on each side except one marked with connector which is the output. Those are following:||
</left>
<mono>
</mono>
<left>
<item name="industrialtest:batbox" height="{{ITEM_HEIGHT}}"> <b>||BatBox||</b>
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="LV"
},
{
name="outputVoltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.BatBox.capacity)
}
},S("BatBox")),
[[
<mono></mono>
<left>
<item name="industrialtest:cesu" height="{{ITEM_HEIGHT}}"> <b>||CESU||</b>
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="MV"
},
{
name="outputVoltage",
value="MV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.CESU.capacity)
}
},S("CESU"),2),
[[
<mono></mono>
<left>
<item name="industrialtest:mfe" height="{{ITEM_HEIGHT}}"> <b>||MFE||</b>
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="HV"
},
{
name="outputVoltage",
value="HV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.MFE.capacity)
}
},S("MFE"),3),
[[
<mono></mono>
<left>
<item name="industrialtest:mfsu" height="{{ITEM_HEIGHT}}"> <b>||MFSU||</b>
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="EV"
},
{
name="outputVoltage",
value="EV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.MFSU.capacity)
}
},S("MFSU"),4),
[[
<mono></mono>
<img name="industrialtest_guide_batbox.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. BatBox with some energy.||</left>
]]
}
},
{
name="pump",
title=S("Pump"),
icon="industrialtest:pump",
content={
[[
<big>||Pump||</big>
<left>
||Pump is used to pump fluids under it into internal fluid storage. It is later possible to move that fluid into some item, for example <item name="industrialtest:empty_cell" height="{{ITEM_HEIGHT}}"> <b>Empty Cell</b>. Pump when used together with <item name="industrialtest:miner" height="{{ITEM_HEIGHT}}"> <b>Miner</b> can pump fluids found.||
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.Pump.capacity)
},
{
name="opPower",
value=string.format("%d EU",industrialtest.Pump._opPower)
},
{
name="Fluid capacity",
value=string.format("%d mB",industrialtest.Pump._fluidCapacity)
},
{
name="Pump time",
value=string.format("%d seconds",industrialtest.Pump._pumpTime)
}
},S("Pump")),
[[
<img name="industrialtest_guide_pump_formspec.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. Pump with some fluid.||</left>
<mono>
</mono>
<img name="industrialtest_guide_pump.png">
<left>||Picture 1. Pump attached to <item name="industrialtest:miner" height="{{ITEM_HEIGHT}}"> <b>Miner</b>.||</left>
]]
}
},
{
name="recycler",
title=S("Recycler"),
icon="industrialtest:recycler",
content={
[[
<big>||Recycler||</big>
<left>
||Recycler with chance of 1/8 allows for transforming any item into <item name="industrialtest:scrap" height="{{ITEM_HEIGHT}}"> <b>Scrap</b>.||
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="LV"
},
{
name="recipe",
value="Recycling"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.Recycler.capacity)
},
{
name="opPower",
value=string.format("%d EU",industrialtest.Recycler.opPower)
},
{
name="efficiency",
value=tostring(1/industrialtest.Recycler.efficiency)
}
},S("Recycler")),
[[
<img name="industrialtest_guide_recycler.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. Recycler transforming some items.||</left>
]]
}
},
{
name="rotaryMacerator",
title=S("Rotary Macerator"),
icon="industrialtest:rotary_macerator",
content={
[[
<big>||Rotary Macerator||</big>
<left>
||Rotary Macerator works in similar way to regular Macerator with few differences. Like Induction Furnace the longer it runs the faster it works. Furthermore it provides additional slot for recipe modifier which can slightly alter the result.||
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="LV"
},
{
name="recipe",
value="Macerating + modifier"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.RotaryMacerator.capacity)
},
{
name="opPower",
value=string.format("%d EU",industrialtest.RotaryMacerator._opPower)
},
{
name="Power while maintaining energy",
value=string.format("%d EU",industrialtest.RotaryMacerator._maintainSpeedOpPower)
}
},S("Rotary Macerator")),
[[
<img name="industrialtest_guide_rotary_macerator.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. Rotary Macerator running with altered recipe.||</left>
]]
}
},
{
name="solarPanels",
title=S("Solar panels"),
icon="industrialtest:solar_panel",
content={
[[
<big>||Solar panels||</big>
<left>
||Solar panels are generators which allow for producting power from sun energy. There are few of them in this mod for different voltages. Those are:||
</left>
<mono>
</mono>
<left>
<item name="industrialtest:solar_panel" height="{{ITEM_HEIGHT}}"> <b>||Solar Panel||</b>
</left>
]],
createMachineInformationTable({
{
name="outputVoltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.SolarPanel.capacity)
},
{
name="Generation multiplier",
value=tostring(industrialtest.SolarPanel.multiplier)
}
},S("Solar Panel")),
[[
<mono></mono>
<left>
<item name="industrialtest:lv_solar_array" height="{{ITEM_HEIGHT}}"> <b>||LV Solar Array||</b>
</left>
]],
createMachineInformationTable({
{
name="outputVoltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.LVSolarArray.capacity)
},
{
name="Generation multiplier",
value=tostring(industrialtest.LVSolarArray.multiplier)
}
},S("LV Solar Array"),2),
[[
<mono></mono>
<left>
<item name="industrialtest:mv_solar_array" height="{{ITEM_HEIGHT}}"> <b>||MV Solar Array||</b>
</left>
]],
createMachineInformationTable({
{
name="outputVoltage",
value="MV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.MVSolarArray.capacity)
},
{
name="Generation multiplier",
value=tostring(industrialtest.MVSolarArray.multiplier)
}
},S("MV Solar Array"),3),
[[
<mono></mono>
<left>
<item name="industrialtest:hv_solar_array" height="{{ITEM_HEIGHT}}"> <b>||HV Solar Array||</b>
</left>
]],
createMachineInformationTable({
{
name="outputVoltage",
value="HV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.HVSolarArray.capacity)
},
{
name="Generation multiplier",
value=tostring(industrialtest.HVSolarArray.multiplier)
}
},S("HV Solar Array"),4),
[[
<mono></mono>
<img name="industrialtest_guide_solar_panel_full.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. Solar Panel generating in full sunlight.||</left>
<mono>
</mono>
<img name="industrialtest_guide_solar_panel_none.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 2. Solar Panel not generating.||</left>
]]
}
},
{
name="toolWorkshop",
title=S("Tool Workshop"),
icon="industrialtest:tool_workshop",
content={
[[
<big>||Tool Workshop||</big>
<left>
||Tool Workshop can be used to repair various tools with cost of energy. The process requires quite a lot energy and is slow.||
</left>
]],
createMachineInformationTable({
{
name="inputVoltage",
value="HV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ToolWorkshop.capacity)
},
{
name="opPower",
value=string.format("%d EU",industrialtest.ToolWorkshop._opPower)
},
{
name="efficiency",
value=tostring(industrialtest.ToolWorkshop._efficiency)
}
},S("Tool Workshop")),
[[
<img name="industrialtest_guide_tool_workshop.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. Tool Workshop repairing <item name="{{elementKeyIronPickaxe}}" height="{{ITEM_HEIGHT}}"> <b>Iron Pickaxe</b>.||</left>
]]
}
},
{
name="transformers",
title=S("Transformers"),
icon="industrialtest:lv_transformer",
content={
[[
<big>||Transformers||</big>
<left>
||Transformer can be used to either bump up or lower the voltage between different voltage levels. Each transformer has one high voltage input/output side and five low voltage input/output sides. These are transformers in this mod:||
</left>
<mono>
</mono>
<left>
<item name="industrialtest:lv_transformer" height="{{ITEM_HEIGHT}}"> <b>||LV Transformer||</b>
</left>
]],
createMachineInformationTable({
{
name="lowVoltage",
value="LV"
},
{
name="highVoltage",
value="MV"
}
},S("LV Transformer")),
[[
<mono></mono>
<left>
<item name="industrialtest:mv_transformer" height="{{ITEM_HEIGHT}}"> <b>||MV Transformer||</b>
</left>
]],
createMachineInformationTable({
{
name="lowVoltage",
value="MV"
},
{
name="highVoltage",
value="HV"
}
},S("MV Transformer"),2),
[[
<mono></mono>
<left>
<item name="industrialtest:hv_transformer" height="{{ITEM_HEIGHT}}"> <b>||HV Transformer||</b>
</left>
]],
createMachineInformationTable({
{
name="lowVoltage",
value="HV"
},
{
name="highVoltage",
value="EV"
}
},S("HV Transformer"),3),
[[
<mono></mono>
<left>
<item name="industrialtest:ev_transformer" height="{{ITEM_HEIGHT}}"> <b>||EV Transformer||</b>
</left>
]],
createMachineInformationTable({
{
name="lowVoltage",
value="EV"
},
{
name="highVoltage",
value="IV"
}
},S("EV Transformer"),4),
[[
<mono></mono>
<img name="industrialtest_guide_transformer.png">
<left>||Picture 1. <item name="industrialtest:electric_furnace" height="{{ITEM_HEIGHT}}"> <b>Electric Furnace</b> connected to <item name="industrialtest:mv_solar_array" height="{{ITEM_HEIGHT}}"> <b>MV Solar Array</b> through <item name="industrialtest:lv_transformer" height="{{ITEM_HEIGHT}}"> <b>LV Transformer</b>.||</left>
]]
}
},
{
name="waterMill",
title=S("Water Mill"),
icon="industrialtest:water_mill",
content={
[[
<big>||Water Mill||</big>
<left>
||Water Mill is used to produce power from water kinetic force. There are two ways to supply water flow to Water Mill: putting it next to water or putting water in Water Mill for example by using <item name="industrialtest:empty_cell" height="{{ITEM_HEIGHT}}"> <b>Empty Cell</b>. The fluid level indicator in formspec shows the amount of water.||
</left>
]],
createMachineInformationTable({
{
name="outputVoltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.WaterMill.capacity)
}
},S("Water Mill")),
[[
<img name="industrialtest_guide_water_mill_formspec.png" width="{{IMAGE_WIDTH}}">
<left>||Picture 1. Water Mill with some water inside.||</left>
<mono>
</mono>
<img name="industrialtest_guide_water_mill.png">
<left>||Picture 2. Water Mill in water.||</left>
]]
}
},
{
name="windMill",
title=S("Wind Mill"),
icon="industrialtest:wind_mill",
content={
[[
<big>||Wind Mill||</big>
<left>
||Wind Mill can be used to produce energy from wind moving it's fan. The amount of produced power depends on height where Wind Mill is put, the higher the more power and it is indicated by icon in formspec. Wind Mill can't be put next to any node or otherwise it won't produce power.||
</left>
]],
createMachineInformationTable({
{
name="outputVoltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.WindMill.capacity)
}
},S("Wind Mill")),
[[
<img name="industrialtest_guide_wind_mill.png">
<left>||Picture 1. Wind Mill producing some power.||</left>
]]
}
},
{
name="upgrades",
title=S("Machine upgrades"),
icon="industrialtest:overclocker_upgrade",
content={
[[
<big>||Machine upgrades||</big>
<left>
||Upgrades can be put into special slots in machine formspec for this purpose. They increase machine capabilities while changing other properties. Not all machines can accept upgrades, however this can be determined by presence of four slots on right of formspec where upgrades are put. The following are all machine upgrades:||
</left>
<left>
||<item name="industrialtest:overclocker_upgrade" height="{{ITEM_HEIGHT}}"> <b>Overclocker Upgrade</b> - speeds up the machine.||
||<item name="industrialtest:power_storage_upgrade" height="{{ITEM_HEIGHT}}"> <b>Power Storage Upgrade</b> - increases the amount of power that machine can store.||
||<item name="industrialtest:transformer_upgrade" height="{{ITEM_HEIGHT}}"> <b>Transformer Upgrade</b> - allows machine to be connected to higher voltage by one level.||
</left>
<mono>--</mono>
<img name="industrialtest_guide_upgrades.png">
<left>||Picture 1. <item name="industrialtest:electric_furnace" height="{{ITEM_HEIGHT}}"> <b>Electric Furnace</b> with <item name="industrialtest:overclocker_upgrade" height="{{ITEM_HEIGHT}}"> <b>Overclocker Upgrade</b>.||</left>
]]
}
},
{
name="batpacks",
title=S("BatPacks"),
icon="industrialtest:batpack_v",
content={
[[
<big>||BatPacks||</big>
<left>
||BatPack when equipped charges currently wielded electric item. There are two types of BatPacks:||
</left>
<left>
||<item name="industrialtest:batpack_v" height="{{ITEM_HEIGHT}}"> <b>BatPack</b>||
</left>
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.BatPack.capacity)
}
},S("BatPack")),
[[
<mono></mono>
<left>
||<item name="industrialtest:lappack_v" height="{{ITEM_HEIGHT}}"> <b>LapPack</b>||
</left>
]],
createMachineInformationTable({
{
name="voltage",
value="MV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.LapPack.capacity)
}
},S("LapPack"),2)
}
},
{
name="electricToolset",
title=S("Electric toolset"),
icon="industrialtest:electric_drill",
content={
[[
<big>||Electric toolset||</big>
<left>
||Electric toolset consists of typical tools like pickaxe but powered by electricity. While used they don't wear out but instead discharge which allow them to be reused. When completely discharged it's still possible to use the tool but it will be considerably slower. Those are (regular and advanced version):||
</left>
<left>
||<item name="industrialtest:electric_chainsaw" height="{{ITEM_HEIGHT}}"> <b>Electric Chainsaw</b>||
</left>
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ElectricChainsaw.capacity)
}
},S("Electric Chainsaw")),
[[
<mono></mono>
<left>
||<item name="industrialtest:electric_drill" height="{{ITEM_HEIGHT}}"> <b>Electric Drill</b>||
</left>
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ElectricDrill.capacity)
}
},S("Electric Drill"),2),
[[
<mono></mono>
||<item name="industrialtest:electric_hoe" height="{{ITEM_HEIGHT}}"> <b>Electric Hoe</b>||
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ElectricHoe.capacity)
}
},S("Electric Hoe"),3),
[[
<mono></mono>
||<item name="industrialtest:electric_saber" height="{{ITEM_HEIGHT}}"> <b>Electric Saber</b>||
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ElectricSaber.capacity)
}
},S("Electric Saber"),4),
[[
<mono></mono>
||<item name="industrialtest:electric_treetap" height="{{ITEM_HEIGHT}}"> <b>Electric Treetap</b>||
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ElectricTreetap.capacity)
}
},S("Electric Treetap"),5)
}
},
{
name="jetpacks",
title=S("Jetpacks"),
icon="industrialtest:jetpack_v",
content={
[[
<big>||Jetpacks||</big>
<left>
||Jetpacks allow to combat against the gravity after pressing the jump key. They are equipped as chest part of armor. There are two jetpack types:||
</left>
<left>
||<item name="industrialtest:jetpack_v" height="{{ITEM_HEIGHT}}"> <b>Jetpack</b> - regular jetpack which is powered by fuel, can be refilled in <item name="industrialtest:canning_machine" height="{{ITEM_HEIGHT}}"> <b>Canning Machine</b>.||
</left>
]],
createMachineInformationTable({
{
name="Fuel capacity",
value=string.format("%d mB",industrialtest.Jetpack.capacity)
}
},S("Jetpack")),
[[
<mono></mono>
<left>
||<item name="industrialtest:electric_jetpack" height="{{ITEM_HEIGHT}}"> <b>Electric Jetpack</b> - jetpack powered by electricity.||
</left>
]],
createMachineInformationTable({
{
name="voltage",
value="LV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.ElectricJetpack.capacity)
}
},S("Electric Jetpack"),2)
}
},
{
name="miningLaser",
title=S("Mining Laser"),
icon="industrialtest:mining_laser",
content={
[[
<big>||Mining Laser||</big>
<left>
||Mining Laser is a tool that emits beam when used. Depending on the mode beam will cause different a result:||
||Mode 1 - breaks nodes at full power, direction where player looks.||
||Mode 2 - breaks nodes at low power, direction where player looks.||
||Mode 3 - breaks nodes at full power, direction only horizontal.||
||Mode 4 - explodes after touching node, direction where player looks.||
</left>
]],
createMachineInformationTable({
{
name="voltage",
value="HV"
},
{
name="powerCapacity",
value=string.format("%d EU",industrialtest.MiningLaser.capacity)
},
{
name="Power per operation (Mode 1)",
value="1250 EU"
},
{
name="Power per operation (Mode 2)",
value="100 EU"
},
{
name="Power per operation (Mode 3)",
value="100 EU"
},
{
name="Power per operation (Mode 4)",
value="5000 EU"
}
},S("Mining Laser"))
}
} }
} }
@@ -669,9 +1427,10 @@ local function preprocessHypertext(content,vars)
return S(sourceString) return S(sourceString)
end) end)
for key,value in pairs(vars) do -- Replace all sequences which should be treated as variables with values provided in vars
content=string.gsub(content,string.format("{{%s}}",key),value) content=string.gsub(content,"{{([^{}]+)}}",function(var)
end return vars[var] or "nil"
end)
return content return content
end end
@@ -709,6 +1468,7 @@ local function getGuideFormspec(playerName,pageName)
elementKeyCopperIngot=industrialtest.elementKeys.copperIngot, elementKeyCopperIngot=industrialtest.elementKeys.copperIngot,
elementKeyIronIngot=industrialtest.elementKeys.ironIngot, elementKeyIronIngot=industrialtest.elementKeys.ironIngot,
elementKeyIronLump=industrialtest.elementKeys.ironLump, elementKeyIronLump=industrialtest.elementKeys.ironLump,
elementKeyIronPickaxe=industrialtest.elementKeys.ironPickaxe,
elementKeyRubber=industrialtest.elementKeys.rubber, elementKeyRubber=industrialtest.elementKeys.rubber,
elementKeyRubberWood=industrialtest.elementKeys.rubberWood elementKeyRubberWood=industrialtest.elementKeys.rubberWood
}) })

View File

@@ -94,6 +94,7 @@ local function takeFuelFromItem(self,pos)
inv:set_stack("src",1,fluidSlot) inv:set_stack("src",1,fluidSlot)
meta:set_string("fluid",fuel.name) meta:set_string("fluid",fuel.name)
meta:set_float("fluidAmount",fluidAmount+1000) meta:set_float("fluidAmount",fluidAmount+1000)
self:updateFormspec(pos)
return true return true
end end
end end

View File

@@ -76,13 +76,14 @@ function industrialtest.WindMill.action(self,pos)
local dimMax=31000 local dimMax=31000
local dim=mcl_worlds.pos_to_dimension(pos) local dim=mcl_worlds.pos_to_dimension(pos)
if dim=="overworld" then if dim=="overworld" then
dimMax=mcl_vars.mg_overworld_max dimMax=mcl_vars.mg_overworld_max_official
elseif dim=="nether" then elseif dim=="nether" then
dimMax=mcl_vars.mg_nether_max dimMax=mcl_vars.mg_nether_max
elseif dim=="end" then elseif dim=="end" then
dimMax=mcl_vars.mg_end_max dimMax=mcl_vars.mg_end_max_official
end end
charging=math.max(mcl_worlds.layer_to_y(pos.y,dim),0)/dimMax local layer,_=mcl_worlds.y_to_layer(pos.y)
charging=math.min(math.max((layer or 0),0)/dimMax,1.0)
end end
local neighbourPositions={ local neighbourPositions={
vector.offset(pos,-1,0,0), vector.offset(pos,-1,0,0),

View File

@@ -591,6 +591,8 @@ if industrialtest.mtgAvailable then
} }
}) })
elseif industrialtest.mclAvailable then elseif industrialtest.mclAvailable then
-- Some MCL2 forks define this function so use it if available
if mcl_fences.register_fence_def then
mcl_fences.register_fence_def("iron_fence",{ mcl_fences.register_fence_def("iron_fence",{
description=S("Iron Fence"), description=S("Iron Fence"),
tiles={"default_steel_block.png"}, tiles={"default_steel_block.png"},
@@ -607,10 +609,21 @@ elseif industrialtest.mclAvailable then
on_destruct=ironFenceOnDestruct, on_destruct=ironFenceOnDestruct,
after_destruct=function(pos,oldnode,oldmeta) after_destruct=function(pos,oldnode,oldmeta)
ironFenceDetach(oldmeta) ironFenceDetach(oldmeta)
end, end
_mcl_fences_baseitem="industrialtest:iron_plate",
_mcl_fences_stickreplacer="industrialtest:iron_plate"
}) })
else
mcl_fences.register_fence("iron_fence",S("Iron Fence"),"default_steel_block.png",{_industrialtest_metalFence=1},4,5,{"industrialtest:magnetizer","group:fence"},mcl_sounds.node_sound_metal_defaults())
end
if minetest.registered_nodes["mcl_fences:iron_fence"] then
-- mcl_fences.register_fence_def registers fences in it's own namespace so register alias here to keep compatibility -- mcl_fences.register_fence_def registers fences in it's own namespace so register alias here to keep compatibility
minetest.register_alias("industrialtest:iron_fence","mcl_fences:iron_fence") minetest.register_alias("industrialtest:iron_fence","mcl_fences:iron_fence")
end end
minetest.register_craft({
type="shaped",
output="industrialtest:iron_fence 3",
recipe={
{"industrialtest:iron_plate","industrialtest:iron_plate","industrialtest:iron_plate"},
{"industrialtest:iron_plate","industrialtest:iron_plate","industrialtest:iron_plate"}
}
})
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -69,8 +69,8 @@ industrialtest.internal.unpackTableInto(industrialtest.LapPack,{
description=S("LapPack"), description=S("LapPack"),
inventoryImage="industrialtest_lappack_v_inv.png", inventoryImage="industrialtest_lappack_v_inv.png",
modelImage="industrialtest_lappack_v.png", modelImage="industrialtest_lappack_v.png",
capacity=60000, capacity=300000,
flow=industrialtest.api.lvPowerFlow flow=industrialtest.api.mvPowerFlow
}) })
industrialtest.LapPack:register() industrialtest.LapPack:register()
@@ -79,7 +79,7 @@ minetest.register_craft({
type="shaped", type="shaped",
output="industrialtest:lappack_v", output="industrialtest:lappack_v",
recipe={ recipe={
{industrialtest.elementKeys.powerCarrier,"industrialtest:electronic_circuit",industrialtest.elementKeys.powerCarrier}, {industrialtest.elementKeys.powerCarrier,"industrialtest:advanced_electronic_circuit",industrialtest.elementKeys.powerCarrier},
{industrialtest.elementKeys.powerCarrier,"industrialtest:batpack_v",industrialtest.elementKeys.powerCarrier}, {industrialtest.elementKeys.powerCarrier,"industrialtest:batpack_v",industrialtest.elementKeys.powerCarrier},
{industrialtest.elementKeys.powerCarrier,"",industrialtest.elementKeys.powerCarrier} {industrialtest.elementKeys.powerCarrier,"",industrialtest.elementKeys.powerCarrier}
} }