14 Commits

Author SHA1 Message Date
0219e61908 Release IndustrialTest 2.1.0 (stable, release) 2025-12-17 23:32:14 +01:00
0329750877 Add some missing recipes with UU-Matter 2025-12-17 23:29:53 +01:00
27479f302c Update README.md 2025-12-17 23:29:39 +01:00
909f20992e Add Polish (pl_PL) locale 2025-12-16 15:06:23 +01:00
c041f609ee Add missing strings from guide to locale template 2025-12-16 15:05:57 +01:00
52c78915c0 Some final fixes in guide text 2025-12-16 15:01:46 +01:00
1603bdef90 Add missing Pipeworks compatibility for recent machines 2025-12-13 14:51:10 +01:00
ca95a94a95 Add missing short strings to locale template 2025-12-11 23:30:53 +01:00
a0abab4e1c Add translation gettext template
Note: This template doesn't yet include strings from guide
2025-12-10 23:05:06 +01:00
c192789b63 Describe Wrench in guide 2025-12-10 22:54:49 +01:00
eb5b2ba127 Describe Treetap in guide 2025-12-10 22:47:26 +01:00
2a6d038e5a Describe Static Boots in guide 2025-12-09 19:53:47 +01:00
bf193e98cd Describe Solar Helmet in guide 2025-12-09 19:47:53 +01:00
699db0f557 Add missing picture for last entry in guide 2025-12-08 19:50:45 +01:00
8 changed files with 3183 additions and 18 deletions

View File

@@ -1,25 +1,35 @@
# IndustrialTest # IndustrialTest
IndustrialTest is a mod for [Minetest](https://www.minetest.net/) that adds various tech and machinery related stuff. IndustrialTest is a mod for [Minetest](https://luanti.org) that adds various tech and machinery related stuff.
## Guide
Guide can be accessed in-game using `/industrialtest_guide` command.
## Compatibility ## Compatibility
Currently IndustrialTest supports following games: Currently IndustrialTest supports following games:
- [Minetest Game](https://content.minetest.net/packages/Minetest/minetest_game) and derivatives - [Minetest Game](https://content.luanti.org/packages/Minetest/minetest_game) and derivatives
- [MineClone2](https://content.minetest.net/packages/Wuzzy/mineclone2/) and derivatives - [VoxeLibre](https://content.luanti.org/packages/Wuzzy/mineclone2) and derivatives
## Additional dependencies ## Additional dependencies
- Minetest Game - Minetest Game
- [3D Armor](https://content.minetest.net/packages/stu/3d_armor) - [3D Armor](https://content.luanti.org/packages/stu/3d_armor)
- VoxeLibre - VoxeLibre
- none - none
## Optional dependencies ## Optional dependencies
- [Rubber Addon for MineClone](https://content.minetest.net/packages/biochemist/mcl_rubber) - [Rubber Addon for MineClone](https://content.luanti.org/packages/biochemist/mcl_rubber)
- [Pipeworks](https://content.minetest.net/packages/VanessaE/pipeworks) - [Pipeworks](https://content.luanti.org/packages/VanessaE/pipeworks)
- [Logistica](https://content.minetest.net/packages/ZenonSeth/logistica) - [Logistica](https://content.luanti.org/packages/ZenonSeth/logistica)
- [Mesecons](https://content.minetest.net/packages/Jeija/mesecons) - [Mesecons](https://content.luanti.org/packages/Jeija/mesecons)
## Locale
Mod is available in following languages:
- English / en_US (base)
- Polish / pl_PL (by mrkubax10)
New translations highly appreciated!
## Contributors ## Contributors
- mrkubax10 <mrkubax10@onet.pl or mrkubax10 at irc.libera.chat> [programming, some graphics] - mrkubax10 <mrkubax10@onet.pl or mrkubax10 at irc.libera.chat> [programming, some graphics]
- HandfulOfFrogs <<handfuloffrogs@gmail.com>> [some programming, graphics] - HandfulOfFrogs <<handfuloffrogs@gmail.com>> [some programming, graphics]
- LuanHawk <Discord: LuanHawk#8733> [lead graphics] - LuanHawk <Discord: luanhawk> [lead graphics]
- Migdyn <<temp1@cubesoftware.xyz>> [graphics] - Migdyn <<temp1@cubesoftware.xyz>> [graphics]

View File

@@ -385,6 +385,29 @@ addPipeworksCompatibility("industrialtest:induction_furnace",{
{listname="src"} {listname="src"}
},"dst") },"dst")
-- Miner
addPipeworksCompatibility("industrialtest:miner",{
{
y=1,
listname="powerStorage"
},
{listname="src"}
},"dst")
-- Pump
addPipeworksCompatibility("industrialtest:pump",{
{
y=1,
listname="powerStorage"
},
{listname="src"}
},"dst")
-- Magnetizer
addPipeworksCompatibility("industrialtest:magnetizer",{
{listname="powerStorage"}
},"powerStorage")
-- Simple electric item processors -- Simple electric item processors
for _,name in ipairs(industrialtest.api.tags.simpleElectricItemProcessor) do for _,name in ipairs(industrialtest.api.tags.simpleElectricItemProcessor) do
addPipeworksCompatibility(name,{ addPipeworksCompatibility(name,{

View File

@@ -528,7 +528,7 @@ if industrialtest.mclAvailable then
industrialtest.elementKeys.stoneWithCopper="mcl_copper:stone_with_copper" industrialtest.elementKeys.stoneWithCopper="mcl_copper:stone_with_copper"
industrialtest.elementKeys.leadLump="industrialtest:raw_lead" industrialtest.elementKeys.leadLump="industrialtest:raw_lead"
industrialtest.elementKeys.ironPickaxe="mcl_tools:pick_iron" industrialtest.elementKeys.ironPickaxe="mcl_tools:pick_iron"
industrialtest.elementKeys.ironHelmet="mcl_tools:helmet_iron" industrialtest.elementKeys.ironHelmet="mcl_armor:helmet_iron"
industrialtest.elementKeys.ironBoots="mcl_armor:boots_iron" industrialtest.elementKeys.ironBoots="mcl_armor:boots_iron"
industrialtest.elementKeys.lavaSource="mcl_core:lava_source" industrialtest.elementKeys.lavaSource="mcl_core:lava_source"
industrialtest.elementKeys.waterSource="mcl_core:water_source" industrialtest.elementKeys.waterSource="mcl_core:water_source"

110
guide.lua
View File

@@ -66,14 +66,15 @@ 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", voltage="Voltage level",
lowVoltage="Low voltage", lowVoltage="Low voltage level",
highVoltage="High voltage", highVoltage="High voltage level",
damageRed="Damage reduction", damageRed="Damage reduction",
recipe="Recipe type", recipe="Recipe type",
powerCapacity="Power capacity", powerCapacity="Power capacity",
opPower="Power per operation", opPower="Power per operation",
powerPerFuel="Power per fuel unit", powerPerFuel="Power per fuel unit",
uses="Uses",
efficiency="Default efficiency" efficiency="Default efficiency"
} }
@@ -86,7 +87,7 @@ local function createMachineInformationTable(fields,machineName,num)
}) })
end end
return createTable(rows,false,string.format("Figure %d. Machine information for %s",(num or 1),machineName)) return createTable(rows,false,S("Figure @1. Information for @2",(num or 1),machineName))
end end
local pages={ local pages={
@@ -1793,7 +1794,92 @@ local pages={
name="Distance in Miner", name="Distance in Miner",
value=tostring(industrialtest.OVScanner.minerDistance) value=tostring(industrialtest.OVScanner.minerDistance)
} }
},S("OV Scanner"),2) },S("OV Scanner"),2),
[[
<mono></mono>
<img name="industrialtest_guide_od_scanner.png">
<left>||Picture 1. <item name="industrialtest:od_scanner" height="{{ITEM_HEIGHT}}"> <b>OD Scanner</b> detecting some ores.||</left>
]]
}
},
{
name="solarHelmet",
title=S("Solar Helmet"),
icon="industrialtest:solar_helmet",
content={
[[
<big>||Solar Helmet||</big>
<left>
||Solar Helmet consists of <item name="{{elementKeyIronHelmet}}" height="{{ITEM_HEIGHT}}"> <b>Iron Helmet</b> with <item name="industrialtest:solar_panel" height="{{ITEM_HEIGHT}}"> <b>Solar Panel</b> attached to the top of it. It is capable of charging electric gear equipped as armor while exposed to light. However it is less efficent than regular solar panels.||
</left>
]],
createMachineInformationTable({
{
name="efficiency",
value="0.5"
}
},S("Solar Panel"))
}
},
{
name="staticBoots",
title=S("Static Boots"),
icon="industrialtest:static_boots",
content={
[[
<big>||Static Boots||</big>
<left>
||Static Boots are <item name="{{elementKeyIronBoots}}" height="{{ITEM_HEIGHT}}"> <b>Iron Boots</b> with <item name="industrialtest:insulated_copper_cable" height="{{ITEM_HEIGHT}}"> <b>Insulated Copper Cable</b> attached to the bottom. They are capable of charging electric gear equipped as armor by using static electricity which is produced while player is walking.||
</left>
]],
createMachineInformationTable({
{
name="Nodes per EU",
value="5"
}
},S("Static Boots"))
}
},
{
name="treetap",
title=S("Treetap"),
icon=industrialtest.elementKeys.treetap,
content={
[[
<big>||Treetap||</big>
<left>
||Treetap is used to extract <item name="{{elementKeyStickyResin}}" height="{{ITEM_HEIGHT}}"> <b>Sticky Resin</b> from <item name="{{elementKeyRubberWood}}" height="{{ITEM_HEIGHT}}"> <b>Rubber Wood</b>.||
</left>
]],
createMachineInformationTable({
{
name="uses",
value=tostring(industrialtest.Treetap.uses)
}
},S("Treetap"))
}
},
{
name="wrench",
title=S("Wrench"),
icon="industrialtest:wrench",
content={
[[
<big>||Wrench||</big>
<left>
||Wrench is one of the most important tools in this mod. It is used to safely remove machines with no material loss. In many cases when machine is removed without Wrench it drops <item name="industrialtest:machine_block" height="{{ITEM_HEIGHT}}"> <b>Machine Block</b> instead.||
</left>
]],
createMachineInformationTable({
{
name="uses",
value=tostring(industrialtest.Wrench.uses)
}
},S("Wrench"))
} }
} }
} }
@@ -1801,7 +1887,16 @@ local pages={
local function preprocessHypertext(content,vars) local function preprocessHypertext(content,vars)
-- Find and replace strings which should be translated, this pattern matches any string that doesn't include | which is contained within || at both ends -- Find and replace strings which should be translated, this pattern matches any string that doesn't include | which is contained within || at both ends
content=string.gsub(content,"||([^|]+)||",function(sourceString) content=string.gsub(content,"||([^|]+)||",function(sourceString)
return S(sourceString) -- Replace all sequences which should be treated as variables inside translation with format string
local trFormatIndex=1
local trFormatValues={}
sourceString=string.gsub(sourceString,"{{([^{}]+)}}",function(var)
local result=string.format("@%d",trFormatIndex)
trFormatIndex=trFormatIndex+1
table.insert(trFormatValues,vars[var] or "nil")
return result
end)
return S(sourceString,unpack(trFormatValues))
end) end)
-- Replace all sequences which should be treated as variables with values provided in vars -- Replace all sequences which should be treated as variables with values provided in vars
@@ -1844,9 +1939,12 @@ local function getGuideFormspec(playerName,pageName)
elementKeyBucket=industrialtest.elementKeys.bucket, elementKeyBucket=industrialtest.elementKeys.bucket,
elementKeyCoal=industrialtest.elementKeys.coal, elementKeyCoal=industrialtest.elementKeys.coal,
elementKeyCopperIngot=industrialtest.elementKeys.copperIngot, elementKeyCopperIngot=industrialtest.elementKeys.copperIngot,
elementKeyIronBoots=industrialtest.elementKeys.ironBoots,
elementKeyIronHelmet=industrialtest.elementKeys.ironHelmet,
elementKeyIronIngot=industrialtest.elementKeys.ironIngot, elementKeyIronIngot=industrialtest.elementKeys.ironIngot,
elementKeyIronLump=industrialtest.elementKeys.ironLump, elementKeyIronLump=industrialtest.elementKeys.ironLump,
elementKeyIronPickaxe=industrialtest.elementKeys.ironPickaxe, elementKeyIronPickaxe=industrialtest.elementKeys.ironPickaxe,
elementKeyStickyResin=industrialtest.elementKeys.stickyResin,
elementKeyRubber=industrialtest.elementKeys.rubber, elementKeyRubber=industrialtest.elementKeys.rubber,
elementKeyRubberWood=industrialtest.elementKeys.rubberWood elementKeyRubberWood=industrialtest.elementKeys.rubberWood
}) })

1462
locale/industrialtest.pl.po Normal file

File diff suppressed because it is too large Load Diff

1462
locale/industrialtest.pot Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -121,7 +121,87 @@ minetest.register_craft({
} }
}) })
if industrialtest.mclAvailable then minetest.register_craft({
type="shaped",
output=industrialtest.elementKeys.coal,
recipe={
{"industrialtest:uu_matter","",""},
{"","","industrialtest:uu_matter"},
{"industrialtest:uu_matter","",""}
}
})
minetest.register_craft({
type="shaped",
output=industrialtest.elementKeys.stoneWithIron,
recipe={
{"industrialtest:uu_matter","","industrialtest:uu_matter"},
{"","industrialtest:uu_matter",""},
{"industrialtest:uu_matter","","industrialtest:uu_matter"}
}
})
minetest.register_craft({
type="shaped",
output=industrialtest.elementKeys.diamond,
recipe={
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"},
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"},
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"}
}
})
minetest.register_craft({
type="shaped",
output=industrialtest.elementKeys.stickyResin.." 32",
recipe={
{"industrialtest:uu_matter","","industrialtest:uu_matter"},
{"","",""},
{"industrialtest:uu_matter","","industrialtest:uu_matter"}
}
})
minetest.register_craft({
type="shaped",
output="industrialtest:tin_dust 4",
recipe={
{"","",""},
{"industrialtest:uu_matter","","industrialtest:uu_matter"},
{"","","industrialtest:uu_matter"}
}
})
minetest.register_craft({
type="shaped",
output="industrialtest:copper_dust 4",
recipe={
{"","","industrialtest:uu_matter"},
{"industrialtest:uu_matter","","industrialtest:uu_matter"},
{"","",""}
}
})
if industrialtest.mtgAvailable then
minetest.register_craft({
type="shaped",
output="industrialtest:iridium_lump",
recipe={
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"},
{"","industrialtest:uu_matter",""},
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"}
}
})
elseif industrialtest.mclAvailable then
minetest.register_craft({
type="shaped",
output="industrialtest:raw_iridium",
recipe={
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"},
{"","industrialtest:uu_matter",""},
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"}
}
})
minetest.register_craft({ minetest.register_craft({
type="shaped", type="shaped",
output="mcl_core:vine 24", output="mcl_core:vine 24",
@@ -141,4 +221,34 @@ if industrialtest.mclAvailable then
{"industrialtest:uu_matter",""} {"industrialtest:uu_matter",""}
} }
}) })
minetest.register_craft({
type="shaped",
output=industrialtest.elementKeys.powerCarrier.." 10",
recipe={
{"","",""},
{"","industrialtest:uu_matter",""},
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"}
}
})
minetest.register_craft({
type="shaped",
output=industrialtest.elementKeys.blueDye,
recipe={
{"","industrialtest:uu_matter",""},
{"","industrialtest:uu_matter",""},
{"","industrialtest:uu_matter","industrialtest:uu_matter"}
}
})
minetest.register_craft({
type="shaped",
output="mcl_core:emerald 8",
recipe={
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"},
{"industrialtest:uu_matter","industrialtest:uu_matter","industrialtest:uu_matter"},
{"","industrialtest:uu_matter",""}
}
})
end end