summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2014-05-16 22:02:49 +0100
committerRealBadAngel <maciej.kasatkin@o2.pl>2014-05-22 20:57:50 +0200
commit68b7bcc28e39bdf0926072b834eeeeec0ee6c721 (patch)
tree4cce934d620ecd679e1912a25223c0eb8105e736
parentecb53e9717f75c21d849adcc64d58b84a9cde974 (diff)
split default iron/steel into three metals
Override the default mod's iron/steel substance, replacing it with three metals: wrought iron (pure iron), carbon steel (iron alloyed with a little carbon), and cast iron (iron alloyed with lots of carbon). Wrought iron is easiest to refine, then cast iron, and carbon steel the most difficult, matching the historical progression. Recipes that used default steel are changed to use one of the three, the choice of alloy for each application being both somewhat realistic and also matching up with game progression. The default:steel{_ingot,block} items are identified specifically with wrought iron. This makes the default refining recipes work appropriately. Iron-using recipes defined outside technic are thus necessarily reinterpreted to use wrought iron, which is mostly appropriate. Some objects are renamed accordingly. Rather than use the default steel textures for wrought iron, with technic providing textures for the other two, technic now provides textures for all three metals. This avoids problems that would occur with texture packs that provide default_steel_{ingot,block} textures that are not intended to support this wrought-iron/carbon-steel/cast-iron distinction. A texture pack can provide a distinct set of three textures specifically for the situation where this distinction is required. Incidentally make grinding and alloy cooking recipes work correctly when ingredients are specified by alias.
-rw-r--r--concrete/init.lua13
-rw-r--r--notes_on_iron68
-rw-r--r--technic/crafts.lua24
-rw-r--r--technic/legacy.lua1
-rw-r--r--technic/locale/de.txt5
-rw-r--r--technic/locale/es.txt5
-rw-r--r--technic/locale/it.txt5
-rw-r--r--technic/locale/template.txt5
-rw-r--r--technic/machines/HV/quarry.lua12
-rw-r--r--technic/machines/HV/solar_array.lua6
-rw-r--r--technic/machines/LV/alloy_furnace.lua6
-rw-r--r--technic/machines/LV/battery_box.lua6
-rw-r--r--technic/machines/LV/cnc.lua4
-rw-r--r--technic/machines/LV/cnc_nodes.lua9
-rw-r--r--technic/machines/LV/electric_furnace.lua6
-rw-r--r--technic/machines/LV/solar_array.lua6
-rw-r--r--technic/machines/LV/solar_panel.lua2
-rw-r--r--technic/machines/MV/solar_array.lua6
-rw-r--r--technic/machines/MV/wind_mill.lua16
-rw-r--r--technic/machines/register/alloy_furnace.lua38
-rw-r--r--technic/machines/register/grinder_recipes.lua20
-rw-r--r--technic/machines/switching_station.lua6
-rw-r--r--technic/textures/technic_carbon_steel_dust.pngbin0 -> 416 bytes
-rw-r--r--technic/textures/technic_cast_iron_dust.pngbin0 -> 420 bytes
-rw-r--r--technic/textures/technic_wrought_iron_dust.png (renamed from technic/textures/technic_iron_dust.png)bin448 -> 448 bytes
-rw-r--r--technic/textures/technicx32/technic_carbon_steel_dust.pngbin0 -> 1228 bytes
-rw-r--r--technic/textures/technicx32/technic_cast_iron_dust.pngbin0 -> 1225 bytes
-rw-r--r--technic/textures/technicx32/technic_iron_dust.pngbin1199 -> 0 bytes
-rw-r--r--technic/textures/technicx32/technic_wrought_iron_dust.pngbin0 -> 1202 bytes
-rw-r--r--technic/tools/cans.lua4
-rw-r--r--technic/tools/mining_lasers.lua18
-rw-r--r--technic_chests/copper_chest.lua2
-rw-r--r--technic_chests/depends.txt1
-rw-r--r--technic_chests/gold_chest.lua2
-rw-r--r--technic_chests/iron_chest.lua14
-rw-r--r--technic_chests/mithril_chest.lua2
-rw-r--r--technic_chests/silver_chest.lua2
-rw-r--r--technic_worldgen/crafts.lua75
-rw-r--r--technic_worldgen/locale/de.txt8
-rw-r--r--technic_worldgen/locale/template.txt8
-rw-r--r--technic_worldgen/nodes.lua57
-rw-r--r--technic_worldgen/textures/technic_carbon_steel_block.pngbin0 -> 606 bytes
-rw-r--r--technic_worldgen/textures/technic_carbon_steel_ingot.pngbin0 -> 312 bytes
-rw-r--r--technic_worldgen/textures/technic_cast_iron_block.pngbin0 -> 606 bytes
-rw-r--r--technic_worldgen/textures/technic_cast_iron_ingot.pngbin0 -> 315 bytes
-rw-r--r--technic_worldgen/textures/technic_wrought_iron_block.pngbin0 -> 572 bytes
-rw-r--r--technic_worldgen/textures/technic_wrought_iron_ingot.pngbin0 -> 293 bytes
-rw-r--r--wrench/depends.txt1
-rw-r--r--wrench/init.lua6
49 files changed, 374 insertions, 95 deletions
diff --git a/concrete/init.lua b/concrete/init.lua
index 869dbbd..03a865a 100644
--- a/concrete/init.lua
+++ b/concrete/init.lua
@@ -18,12 +18,19 @@ minetest.register_alias("technic:concrete_post33", "technic:concrete_post3")
minetest.register_alias("technic:concrete_post34", "technic:concrete_post28")
minetest.register_alias("technic:concrete_post35", "technic:concrete_post19")
+local steel_ingot
+if minetest.get_modpath("technic_worldgen") then
+ steel_ingot = "technic:carbon_steel_ingot"
+else
+ steel_ingot = "default:steel_ingot"
+end
+
minetest.register_craft({
output = 'technic:rebar 6',
recipe = {
- {'','', 'default:steel_ingot'},
- {'','default:steel_ingot',''},
- {'default:steel_ingot', '', ''},
+ {'','', steel_ingot},
+ {'',steel_ingot,''},
+ {steel_ingot, '', ''},
}
})
diff --git a/notes_on_iron b/notes_on_iron
new file mode 100644
index 0000000..7facbcf
--- /dev/null
+++ b/notes_on_iron
@@ -0,0 +1,68 @@
+Notes on iron and steel
+=======================
+
+Alloying iron with carbon is of huge importance, but in some processes
+the alloying is an implicit side effect rather than the product of
+explicit mixing, so it is a complex area. In the real world, there is
+a huge variety of kinds of iron and steel, differing in the proportion
+of carbon included and in other elements added to the mix.
+
+The Minetest default mod doesn't distinguish between types of iron and
+steel at all. This mod introduces multiple types in order to get a bit
+of complexity and flavour.
+
+Leaving aside explicit addition of other elements, the iron/carbon
+spectrum is here represented by three substances: wrought iron,
+carbon steel, and cast iron. Wrought iron has low carbon content
+(less than 0.25%), resists shattering, and is easily welded, but is
+relatively soft and susceptible to rusting. It was used for rails,
+gates, chains, wire, pipes, fasteners, and other purposes. Cast iron
+has high carbon content (2.1% to 4%), is especially hard, and resists
+corrosion, but is relatively brittle, and difficult to work. It was used
+to build large structures such as bridges, and for cannons, cookware,
+and engine cylinders. Carbon steel has medium carbon content (0.25%
+to 2.1%), and intermediate properties: moderately hard and also tough,
+somewhat resistant to corrosion. It is now used for most of the purposes
+previously satisfied by wrought iron and many of those of cast iron,
+but has historically been especially important for its use in swords,
+armour, skyscrapers, large bridges, and machines.
+
+Historically, the first form of iron to be refined was wrought iron,
+produced from ore by a low-temperature furnace process in which the
+ore/iron remains solid and impurities (slag) are progressively removed.
+Cast iron, by contrast, was produced somewhat later by a high-temperature
+process in a blast furnace, in which the metal is melted, and carbon is
+unavoidably incorporated from the furnace's fuel. (In fact, it's done
+in two stages, first producing pig iron from ore, and then remelting the
+pig iron to cast as cast iron.) Carbon steel requires a more advanced
+process, in which molten pig iron is processed to remove the carbon,
+and then a controlled amount of carbon is explicitly mixed back in.
+Other processes are possible to refine iron ore and to adjust its
+carbon content.
+
+Unfortunately, Minetest doesn't let us readily distinguish between
+low-temperature and high-temperature processes: in the default game, the
+same furnace is used both to cook food (low temperature) and to cast metal
+ingots (varying high temperatures). So we can't sensibly have wrought
+iron and cast iron produced by different types of furnace. Nor can
+furnace recipes discriminate by which kind of fuel is used (and thus
+by the availability of carbon). The alloy furnace allows for explicit
+alloying, which appropriately represents how carbon steel is made, but
+is not sensible for the other two, and is a relatively advanced process.
+About the only option to make a second iron-processing furnace process
+readily available is to cook multiple times; happily, this bears a slight
+resemblance to the real process with pig iron as an intermediate product.
+
+The default mod's refined iron, which it calls "steel", is identified
+with this mod's wrought iron. Cooking an iron lump (representing ore)
+initially produces wrought iron; the cooking process here represents a
+low-temperature bloomery process. Cooking wrought iron then produces
+cast iron; this time the cooking process represents a blast furnace.
+Alloy cooking wrought iron with coal dust (carbon) produces carbon steel;
+this represents the explicit mixing stage of carbon steel production.
+Additionally, alloy cooking carbon steel with coal dust produces cast
+iron, which is logical but not very useful. Furthermore, to make it
+possible to turn any of the forms of iron into any other, cooking carbon
+steel or cast iron produces wrought iron, in an abbreviated form of the
+bloomery process. As usual for metals, the same cooking and alloying
+processes can be performed in parallel forms on ingots or dust.
diff --git a/technic/crafts.lua b/technic/crafts.lua
index 0beea30..29199b3 100644
--- a/technic/crafts.lua
+++ b/technic/crafts.lua
@@ -100,36 +100,36 @@ minetest.register_craft({
minetest.register_craft({
output = 'technic:copper_coil 1',
recipe = {
- {'technic:fine_copper_wire', 'default:steel_ingot', 'technic:fine_copper_wire'},
- {'default:steel_ingot', '', 'default:steel_ingot'},
- {'technic:fine_copper_wire', 'default:steel_ingot', 'technic:fine_copper_wire'},
+ {'technic:fine_copper_wire', 'technic:wrought_iron_ingot', 'technic:fine_copper_wire'},
+ {'technic:wrought_iron_ingot', '', 'technic:wrought_iron_ingot'},
+ {'technic:fine_copper_wire', 'technic:wrought_iron_ingot', 'technic:fine_copper_wire'},
}
})
minetest.register_craft({
output = 'technic:motor',
recipe = {
- {'default:steel_ingot', 'technic:copper_coil', 'default:steel_ingot'},
- {'default:steel_ingot', 'technic:copper_coil', 'default:steel_ingot'},
- {'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
+ {'technic:carbon_steel_ingot', 'technic:copper_coil', 'technic:carbon_steel_ingot'},
+ {'technic:carbon_steel_ingot', 'technic:copper_coil', 'technic:carbon_steel_ingot'},
+ {'technic:carbon_steel_ingot', 'default:copper_ingot', 'technic:carbon_steel_ingot'},
}
})
minetest.register_craft({
output = 'technic:lv_transformer',
recipe = {
- {'default:iron_lump', 'default:iron_lump', 'default:iron_lump'},
- {'technic:copper_coil', 'default:iron_lump', 'technic:copper_coil'},
- {'default:iron_lump', 'default:iron_lump', 'default:iron_lump'},
+ {'technic:wrought_iron_ingot', 'technic:wrought_iron_ingot', 'technic:wrought_iron_ingot'},
+ {'technic:copper_coil', 'technic:wrought_iron_ingot', 'technic:copper_coil'},
+ {'technic:wrought_iron_ingot', 'technic:wrought_iron_ingot', 'technic:wrought_iron_ingot'},
}
})
minetest.register_craft({
output = 'technic:mv_transformer',
recipe = {
- {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
- {'technic:copper_coil', 'default:steel_ingot', 'technic:copper_coil'},
- {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
+ {'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot'},
+ {'technic:copper_coil', 'technic:carbon_steel_ingot', 'technic:copper_coil'},
+ {'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot'},
}
})
diff --git a/technic/legacy.lua b/technic/legacy.lua
index 37fb1d5..bc6fd9c 100644
--- a/technic/legacy.lua
+++ b/technic/legacy.lua
@@ -24,6 +24,7 @@ technic.legacy_nodenames = {
["technic:mv_battery_box"] = "technic:mv_battery_box0",
["technic:generator"] = "technic:lv_generator",
["technic:generator_active"] = "technic:lv_generator_active",
+ ["technic:iron_dust"] = "technic:wrought_iron_dust",
}
for old, new in pairs(technic.legacy_nodenames) do
diff --git a/technic/locale/de.txt b/technic/locale/de.txt
index acf6dfb..4844a83 100644
--- a/technic/locale/de.txt
+++ b/technic/locale/de.txt
@@ -135,7 +135,6 @@ Cobble = Pflasterstein:
Dirt = Erde:
Leaves = Laub:
Sandstone = Sandstein:
-Steel = Stahl:
Stone = Stein:
Tree = Baumstamm:
Wooden = Holz:
@@ -148,16 +147,18 @@ Alatro = Alatro
Arol = Arol
Brass = Messing
Bronze = Bronze
+Carbon Steel = Kohlenstoffstahl
+Cast Iron = Gusseisen
Chromium = Chrom
Coal = Kohle
Copper = Kupfer
Gold = Gold
-Iron = Eisen
Mithril = Mithril
Silver = Silber
Stainless Steel = Edelstahl
Talinite = Talinite
Tin = Zinn
+Wrought Iron = Schmiedeeisen
Zinc = Zink
## Tools
diff --git a/technic/locale/es.txt b/technic/locale/es.txt
index 4ac9693..a0200bd 100644
--- a/technic/locale/es.txt
+++ b/technic/locale/es.txt
@@ -121,7 +121,6 @@ Slope Edge = Borde de Rampa
Slope = Rampa
Element T = Elemento T
Cylinder = Cilindro
-Steel = Acero
Cobble = Adoquines
Stone = Piedra
Brick = Ladrillo
@@ -138,16 +137,18 @@ Alatro = Alatro
Arol = Arol
Brass = Laton
Bronze = Bronce
+Carbon Steel = Acero al Carbono
+Cast Iron = Hierro Fundido
Chromium = Cromo
Coal = Carbon
Copper = Cobre
Gold = Oro
-Iron = Hierro
Mithril = Mitrilo
Silver = Plata
Stainless Steel = Acero Inoxidable
Talinite = Talinita
Tin = Estanio
+Wrought Iron = Hierro Forjado
Zinc = Zinc
## Tools
diff --git a/technic/locale/it.txt b/technic/locale/it.txt
index 03d1c5f..4b4fbe0 100644
--- a/technic/locale/it.txt
+++ b/technic/locale/it.txt
@@ -132,7 +132,6 @@ Cobble = Ciottolato
Dirt = Terra
Leaves = Foglie
Sandstone = Arenaria
-Steel = Acciaio
Stone = Pietra
Tree = Albero
Wooden = Legno
@@ -145,16 +144,18 @@ Alatro = Alatro
Arol = Arol
Brass = Ottone
Bronze = Bronzo
+Carbon Steel = Acciaio al Carbonio
+Cast Iron = Ghisa
Chromium = Cromo
Coal = Carbone
Copper = Rame
Gold = Oro
-Iron = Ferro
Mithril = Mithril
Silver = Argento
Stainless Steel = Acciaio Inossidabile
Talinite = Talinite
Tin = Stagno
+Wrought Iron = Ferro Battuto
Zinc = Zinco
## Tools
diff --git a/technic/locale/template.txt b/technic/locale/template.txt
index 5bda22f..17860ee 100644
--- a/technic/locale/template.txt
+++ b/technic/locale/template.txt
@@ -135,7 +135,6 @@ Cobble =
Dirt =
Leaves =
Sandstone =
-Steel =
Stone =
Tree =
Wooden =
@@ -148,16 +147,18 @@ Alatro =
Arol =
Brass =
Bronze =
+Carbon Steel =
+Cast Iron =
Chromium =
Coal =
Copper =
Gold =
-Iron =
Mithril =
Silver =
Stainless Steel =
Talinite =
Tin =
+Wrought Iron =
Zinc =
## Tools
diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua
index 4d6d932..fcf0fec 100644
--- a/technic/machines/HV/quarry.lua
+++ b/technic/machines/HV/quarry.lua
@@ -3,9 +3,9 @@ local S = technic.getter
minetest.register_craft({
recipe = {
- {"default:steelblock", "pipeworks:filter", "default:steelblock"},
- {"default:steelblock", "technic:motor", "default:steelblock"},
- {"default:steelblock", "technic:diamond_drill_head", "default:steelblock"}},
+ {"technic:carbon_steel_block", "pipeworks:filter", "technic:carbon_steel_block"},
+ {"technic:carbon_steel_block", "technic:motor", "technic:carbon_steel_block"},
+ {"technic:carbon_steel_block", "technic:diamond_drill_head", "technic:carbon_steel_block"}},
output = "technic:quarry",
})
@@ -136,9 +136,9 @@ end
minetest.register_node("technic:quarry", {
description = S("Quarry"),
- tiles = {"default_steel_block.png", "default_steel_block.png",
- "default_steel_block.png", "default_steel_block.png",
- "default_steel_block.png^default_tool_mesepick.png", "default_steel_block.png"},
+ tiles = {"technic_carbon_steel_block.png", "technic_carbon_steel_block.png",
+ "technic_carbon_steel_block.png", "technic_carbon_steel_block.png",
+ "technic_carbon_steel_block.png^default_tool_mesepick.png", "technic_carbon_steel_block.png"},
paramtype2 = "facedir",
groups = {cracky=2, tubedevice=1},
tube = {
diff --git a/technic/machines/HV/solar_array.lua b/technic/machines/HV/solar_array.lua
index cb4874a..ceea77a 100644
--- a/technic/machines/HV/solar_array.lua
+++ b/technic/machines/HV/solar_array.lua
@@ -4,9 +4,9 @@
minetest.register_craft({
output = 'technic:solar_array_hv 1',
recipe = {
- {'technic:solar_array_mv', 'technic:solar_array_mv', 'technic:solar_array_mv'},
- {'default:steel_ingot', 'technic:hv_transformer', 'default:steel_ingot'},
- {'', 'technic:hv_cable0', ''},
+ {'technic:solar_array_mv', 'technic:solar_array_mv', 'technic:solar_array_mv'},
+ {'technic:carbon_steel_ingot', 'technic:hv_transformer', 'technic:carbon_steel_ingot'},
+ {'', 'technic:hv_cable0', ''},
}
})
diff --git a/technic/machines/LV/alloy_furnace.lua b/technic/machines/LV/alloy_furnace.lua
index 0637f48..b24e192 100644
--- a/technic/machines/LV/alloy_furnace.lua
+++ b/technic/machines/LV/alloy_furnace.lua
@@ -4,9 +4,9 @@
minetest.register_craft({
output = 'technic:lv_alloy_furnace',
recipe = {
- {'default:brick', 'default:brick', 'default:brick'},
- {'default:brick', '', 'default:brick'},
- {'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
+ {'default:brick', 'default:brick', 'default:brick'},
+ {'default:brick', '', 'default:brick'},
+ {'technic:cast_iron_ingot', 'default:copper_ingot', 'technic:cast_iron_ingot'},
}
})
diff --git a/technic/machines/LV/battery_box.lua b/technic/machines/LV/battery_box.lua
index cba2ef6..e21a66a 100644
--- a/technic/machines/LV/battery_box.lua
+++ b/technic/machines/LV/battery_box.lua
@@ -2,9 +2,9 @@
minetest.register_craft({
output = 'technic:lv_battery_box0',
recipe = {
- {'technic:battery', 'group:wood', 'technic:battery'},
- {'technic:battery', 'default:copper_ingot', 'technic:battery'},
- {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
+ {'technic:battery', 'group:wood', 'technic:battery'},
+ {'technic:battery', 'default:copper_ingot', 'technic:battery'},
+ {'technic:cast_iron_ingot', 'technic:cast_iron_ingot', 'technic:cast_iron_ingot'},
}
})
diff --git a/technic/machines/LV/cnc.lua b/technic/machines/LV/cnc.lua
index e466dad..baee2c9 100644
--- a/technic/machines/LV/cnc.lua
+++ b/technic/machines/LV/cnc.lua
@@ -229,8 +229,8 @@ minetest.register_craft({
output = 'technic:cnc',
recipe = {
{'default:glass', 'technic:diamond_drill_head', 'default:glass'},
- {'technic:control_logic_unit', 'technic:motor', 'default:steel_ingot'},
- {'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
+ {'technic:control_logic_unit', 'technic:motor', 'technic:carbon_steel_ingot'},
+ {'technic:carbon_steel_ingot', 'default:copper_ingot', 'technic:carbon_steel_ingot'},
},
})
diff --git a/technic/machines/LV/cnc_nodes.lua b/technic/machines/LV/cnc_nodes.lua
index a12307f..4835e49 100644
--- a/technic/machines/LV/cnc_nodes.lua
+++ b/technic/machines/LV/cnc_nodes.lua
@@ -58,12 +58,13 @@ technic.cnc.register_all("default:tree",
{snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, wood=1, not_in_creative_inventory=1},
{"default_tree.png"},
S("Tree"))
--- STEEL
---------
+
+-- WROUGHT IRON
+---------------
technic.cnc.register_all("default:steelblock",
{cracky=1, level=2, not_in_creative_inventory=1},
- {"default_steel_block.png"},
- S("Steel"))
+ {"technic_wrought_iron_block.png"},
+ S("Wrought Iron"))
-- Bronze
--------
diff --git a/technic/machines/LV/electric_furnace.lua b/technic/machines/LV/electric_furnace.lua
index a67fca1..8bb1562 100644
--- a/technic/machines/LV/electric_furnace.lua
+++ b/technic/machines/LV/electric_furnace.lua
@@ -5,9 +5,9 @@
minetest.register_craft({
output = 'technic:electric_furnace',
recipe = {
- {'default:cobble', 'default:cobble', 'default:cobble'},
- {'default:cobble', '', 'default:cobble'},
- {'default:steel_ingot', 'moreores:copper_ingot', 'default:steel_ingot'},
+ {'default:cobble', 'default:cobble', 'default:cobble'},
+ {'default:cobble', '', 'default:cobble'},
+ {'technic:cast_iron_ingot', 'moreores:copper_ingot', 'technic:cast_iron_ingot'},
}
})
diff --git a/technic/machines/LV/solar_array.lua b/technic/machines/LV/solar_array.lua
index 63f64f1..4d2c3b3 100644
--- a/technic/machines/LV/solar_array.lua
+++ b/technic/machines/LV/solar_array.lua
@@ -8,9 +8,9 @@
minetest.register_craft({
output = 'technic:solar_array_lv 1',
recipe = {
- {'technic:solar_panel', 'technic:solar_panel', 'technic:solar_panel'},
- {'default:steel_ingot', 'technic:lv_transformer', 'default:steel_ingot'},
- {'', 'technic:lv_cable0', ''},
+ {'technic:solar_panel', 'technic:solar_panel', 'technic:solar_panel'},
+ {'technic:carbon_steel_ingot', 'technic:lv_transformer', 'technic:carbon_steel_ingot'},
+ {'', 'technic:lv_cable0', ''},
}
})
diff --git a/technic/machines/LV/solar_panel.lua b/technic/machines/LV/solar_panel.lua
index d49f609..95b359d 100644
--- a/technic/machines/LV/solar_panel.lua
+++ b/technic/machines/LV/solar_panel.lua
@@ -29,7 +29,7 @@ minetest.register_craft({
output = 'technic:solar_panel',
recipe = {
{'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer', 'technic:doped_silicon_wafer'},
- {'default:steel_ingot', 'technic:lv_cable0', 'default:steel_ingot'},
+ {'technic:wrought_iron_ingot', 'technic:lv_cable0', 'technic:wrought_iron_ingot'},
}
})
diff --git a/technic/machines/MV/solar_array.lua b/technic/machines/MV/solar_array.lua
index d939fb9..227d8ee 100644
--- a/technic/machines/MV/solar_array.lua
+++ b/technic/machines/MV/solar_array.lua
@@ -2,9 +2,9 @@
minetest.register_craft({
output = 'technic:solar_array_mv 1',
recipe = {
- {'technic:solar_array_lv', 'technic:solar_array_lv', 'technic:solar_array_lv'},
- {'default:steel_ingot', 'technic:mv_transformer', 'default:steel_ingot'},
- {'', 'technic:mv_cable0', ''},
+ {'technic:solar_array_lv', 'technic:solar_array_lv', 'technic:solar_array_lv'},
+ {'technic:carbon_steel_ingot', 'technic:mv_transformer', 'technic:carbon_steel_ingot'},
+ {'', 'technic:mv_cable0', ''},
}
})
diff --git a/technic/machines/MV/wind_mill.lua b/technic/machines/MV/wind_mill.lua
index 32fa5c3..6930228 100644
--- a/technic/machines/MV/wind_mill.lua
+++ b/technic/machines/MV/wind_mill.lua
@@ -4,25 +4,25 @@ local S = technic.getter
minetest.register_craft({
output = 'technic:wind_mill_frame 5',
recipe = {
- {'default:steel_ingot', '', 'default:steel_ingot'},
- {'', 'default:steel_ingot', ''},
- {'default:steel_ingot', '', 'default:steel_ingot'},
+ {'technic:carbon_steel_ingot', '', 'technic:carbon_steel_ingot'},
+ {'', 'technic:carbon_steel_ingot', ''},
+ {'technic:carbon_steel_ingot', '', 'technic:carbon_steel_ingot'},
}
})
minetest.register_craft({
output = 'technic:wind_mill',
recipe = {
- {'', 'default:steel_ingot', ''},
- {'default:steel_ingot', 'technic:motor', 'default:steel_ingot'},
- {'', 'default:steelblock', ''},
+ {'', 'technic:carbon_steel_ingot', ''},
+ {'technic:carbon_steel_ingot', 'technic:motor', 'technic:carbon_steel_ingot'},
+ {'', 'technic:carbon_steel_block', ''},
}
})
minetest.register_node("technic:wind_mill_frame", {
description = S("Wind Mill Frame"),
drawtype = "glasslike_framed",
- tiles = {"default_steel_block.png", "default_glass.png"},
+ tiles = {"technic_carbon_steel_block.png", "default_glass.png"},
sunlight_propagates = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
@@ -31,7 +31,7 @@ minetest.register_node("technic:wind_mill_frame", {
minetest.register_node("technic:wind_mill", {
description = S("Wind Mill"),
- tiles = {"default_steel_block.png"},
+ tiles = {"technic_carbon_steel_block.png"},
paramtype2 = "facedir",
groups = {cracky=1},
sounds = default.node_sound_stone_defaults(),
diff --git a/technic/machines/register/alloy_furnace.lua b/technic/machines/register/alloy_furnace.lua
index ebf5eab..ac1cd05 100644
--- a/technic/machines/register/alloy_furnace.lua
+++ b/technic/machines/register/alloy_furnace.lua
@@ -45,6 +45,36 @@ technic.register_alloy_recipe = function(metal1, count1, metal2, count2, result,
end
end
+minetest.after(0.01, function ()
+ for _, recipe in pairs(technic.alloy_recipes) do
+ local in1 = recipe.input[1]
+ local in2 = recipe.input[2]
+ local in1n = in1.name
+ local in2n = in2.name
+ while minetest.registered_aliases[in1n] do
+ in1n = minetest.registered_aliases[in1n]
+ end
+ while minetest.registered_aliases[in2n] do
+ in2n = minetest.registered_aliases[in2n]
+ end
+ if in1n > in2n then
+ local temp = in1
+ in1 = in2
+ in2 = temp
+ temp = in1n
+ in1n = in2n
+ in2n = temp
+ end
+ technic.alloy_recipes[in1n.." "..in2n] = {
+ input = {
+ { name = in1n, count = in1.count },
+ { name = in2n, count = in2.count },
+ },
+ output = recipe.output,
+ }
+ end
+end)
+
-- Retrieve a recipe given the input metals.
function technic.get_alloy_recipe(stack1, stack2)
-- Sort the stacks alphebetically
@@ -65,8 +95,12 @@ end
technic.register_alloy_recipe("technic:copper_dust", 3, "technic:tin_dust", 1, "technic:bronze_dust", 4)
technic.register_alloy_recipe("default:copper_ingot", 3, "moreores:tin_ingot", 1, "moreores:bronze_ingot", 4)
-technic.register_alloy_recipe("technic:iron_dust", 3, "technic:chromium_dust", 1, "technic:stainless_steel_dust", 4)
-technic.register_alloy_recipe("default:steel_ingot", 3, "technic:chromium_ingot", 1, "technic:stainless_steel_ingot", 4)
+technic.register_alloy_recipe("technic:wrought_iron_dust", 1, "technic:coal_dust", 1, "technic:carbon_steel_dust", 1)
+technic.register_alloy_recipe("technic:wrought_iron_ingot", 1, "technic:coal_dust", 1, "technic:carbon_steel_ingot", 1)
+technic.register_alloy_recipe("technic:carbon_steel_dust", 1, "technic:coal_dust", 1, "technic:cast_iron_dust", 1)
+technic.register_alloy_recipe("technic:carbon_steel_ingot", 1, "technic:coal_dust", 1, "technic:cast_iron_ingot", 1)
+technic.register_alloy_recipe("technic:carbon_steel_dust", 3, "technic:chromium_dust", 1, "technic:stainless_steel_dust", 4)
+technic.register_alloy_recipe("technic:carbon_steel_ingot", 3, "technic:chromium_ingot", 1, "technic:stainless_steel_ingot", 4)
technic.register_alloy_recipe("technic:copper_dust", 2, "technic:zinc_dust", 1, "technic:brass_dust", 3)
technic.register_alloy_recipe("default:copper_ingot", 2, "technic:zinc_ingot", 1, "technic:brass_ingot", 3)
technic.register_alloy_recipe("default:sand", 2, "technic:coal_dust", 2, "technic:silicon_wafer", 1)
diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua
index d81d421..d0352d7 100644
--- a/technic/machines/register/grinder_recipes.lua
+++ b/technic/machines/register/grinder_recipes.lua
@@ -24,6 +24,16 @@ function technic.register_grinder_recipe(data)
end
end
+minetest.after(0.01, function ()
+ for ingredient, recipe in pairs(technic.grinder_recipes) do
+ ingredient = minetest.registered_aliases[ingredient]
+ while ingredient do
+ technic.grinder_recipes[ingredient] = recipe
+ ingredient = minetest.registered_aliases[ingredient]
+ end
+ end
+end)
+
-- Receive an ItemStack of result by an ItemStack input
function technic.get_grinder_recipe(itemstack)
return technic.grinder_recipes[itemstack:get_name()]
@@ -40,8 +50,7 @@ local recipes = {
{"default:gold_ingot", "technic:gold_dust 1"},
{"default:gold_lump", "technic:gold_dust 2"},
{"default:gravel", "default:dirt"},
- {"default:iron_lump", "technic:iron_dust 2"},
- {"default:steel_ingot", "technic:iron_dust 1"},
+ {"default:iron_lump", "technic:wrought_iron_dust 2"},
{"default:stone", "default:sand"},
{"gloopores:alatro_lump", "technic:alatro_dust 2"},
{"gloopores:kalite_lump", "technic:kalite_dust 2"},
@@ -54,8 +63,11 @@ local recipes = {
{"moreores:silver_lump", "technic:silver_dust 2"},
{"moreores:tin_ingot", "technic:tin_dust 1"},
{"moreores:tin_lump", "technic:tin_dust 2"},
+ {"technic:cast_iron_ingot", "technic:cast_iron_dust 1"},
{"technic:chromium_ingot", "technic:chromium_dust 1"},
{"technic:chromium_lump", "technic:chromium_dust 2"},
+ {"technic:wrought_iron_ingot", "technic:wrought_iron_dust 1"},
+ {"technic:carbon_steel_ingot", "technic:carbon_steel_dust 1"},
{"technic:zinc_ingot", "technic:zinc_dust 1"},
{"technic:zinc_lump", "technic:zinc_dust 2"},
{"technic:brass_ingot", "technic:brass_dust 1"},
@@ -92,16 +104,18 @@ register_dust("Alatro", "glooptest:alatro_ingot")
register_dust("Arol", "glooptest:arol_ingot")
register_dust("Brass", "technic:brass_ingot")
register_dust("Bronze", "default:bronze_ingot")
+register_dust("Carbon Steel", "technic:carbon_steel_ingot")
+register_dust("Cast Iron", "technic:cast_iron_ingot")
register_dust("Chromium", "technic:chromium_ingot")
register_dust("Coal", nil)
register_dust("Copper", "default:copper_ingot")
register_dust("Gold", "default:gold_ingot")
-register_dust("Iron", "default:steel_ingot")
register_dust("Mithril", "moreores:mithril_ingot")
register_dust("Silver", "moreores:silver_ingot")
register_dust("Stainless Steel", "technic:stainless_steel_ingot")
register_dust("Talinite", "glooptest:talinite_ingot")
register_dust("Tin", "moreores:tin_ingot")
+register_dust("Wrought Iron", "technic:wrought_iron_ingot")
register_dust("Zinc", "technic:zinc_ingot")
minetest.register_craft({
diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua
index f7a0f44..a6c0c99 100644
--- a/technic/machines/switching_station.lua
+++ b/technic/machines/switching_station.lua
@@ -35,9 +35,9 @@ local S = technic.getter
minetest.register_craft({
output = "technic:switching_station",
recipe = {
- {"default:steel_ingot", "technic:lv_transformer", "default:steel_ingot"},
- {"default:copper_ingot", "technic:lv_cable0", "default:copper_ingot"},
- {"default:steel_ingot", "technic:lv_cable0", "default:steel_ingot"}
+ {"technic:cast_iron_ingot", "technic:lv_transformer", "technic:cast_iron_ingot"},
+ {"default:copper_ingot", "technic:lv_cable0", "default:copper_ingot"},
+ {"technic:cast_iron_ingot", "technic:lv_cable0", "technic:cast_iron_ingot"}
}
})
diff --git a/technic/textures/technic_carbon_steel_dust.png b/technic/textures/technic_carbon_steel_dust.png
new file mode 100644
index 0000000..0fa8a17
--- /dev/null
+++ b/technic/textures/technic_carbon_steel_dust.png
Binary files differ
diff --git a/technic/textures/technic_cast_iron_dust.png b/technic/textures/technic_cast_iron_dust.png
new file mode 100644
index 0000000..b5690ac
--- /dev/null
+++ b/technic/textures/technic_cast_iron_dust.png
Binary files differ
diff --git a/technic/textures/technic_iron_dust.png b/technic/textures/technic_wrought_iron_dust.png
index ad23c62..ad23c62 100644
--- a/technic/textures/technic_iron_dust.png
+++ b/technic/textures/technic_wrought_iron_dust.png
Binary files differ
diff --git a/technic/textures/technicx32/technic_carbon_steel_dust.png b/technic/textures/technicx32/technic_carbon_steel_dust.png
new file mode 100644
index 0000000..0bf350f
--- /dev/null
+++ b/technic/textures/technicx32/technic_carbon_steel_dust.png
Binary files differ
diff --git a/technic/textures/technicx32/technic_cast_iron_dust.png b/technic/textures/technicx32/technic_cast_iron_dust.png
new file mode 100644
index 0000000..f355094
--- /dev/null
+++ b/technic/textures/technicx32/technic_cast_iron_dust.png
Binary files differ
diff --git a/technic/textures/technicx32/technic_iron_dust.png b/technic/textures/technicx32/technic_iron_dust.png
deleted file mode 100644
index aaecd2b..0000000
--- a/technic/textures/technicx32/technic_iron_dust.png
+++ /dev/null
Binary files differ
diff --git a/technic/textures/technicx32/technic_wrought_iron_dust.png b/technic/textures/technicx32/technic_wrought_iron_dust.png
new file mode 100644
index 0000000..d890e73
--- /dev/null
+++ b/technic/textures/technicx32/technic_wrought_iron_dust.png
Binary files differ
diff --git a/technic/tools/cans.lua b/technic/tools/cans.lua
index 737443e..f1a821b 100644
--- a/technic/tools/cans.lua
+++ b/technic/tools/cans.lua
@@ -7,8 +7,8 @@ minetest.register_craft({
output = 'technic:water_can 1',
recipe = {
{'technic:zinc_ingot', 'technic:rubber','technic:zinc_ingot'},
- {'default:steel_ingot', '', 'default:steel_ingot'},
- {'technic:zinc_ingot', 'default:steel_ingot', 'technic:zinc_ingot'},
+ {'technic:carbon_steel_ingot', '', 'technic:carbon_steel_ingot'},
+ {'technic:zinc_ingot', 'technic:carbon_steel_ingot', 'technic:zinc_ingot'},
}
})
diff --git a/technic/tools/mining_lasers.lua b/technic/tools/mining_lasers.lua
index 03286f4..8f32a5a 100644
--- a/technic/tools/mining_lasers.lua
+++ b/technic/tools/mining_lasers.lua
@@ -16,25 +16,25 @@ local S = technic.getter
minetest.register_craft({
output = 'technic:laser_mk1',
recipe = {
- {'default:diamond', 'default:steel_ingot', 'technic:red_energy_crystal'},
- {'', 'default:steel_ingot', 'default:steel_ingot'},
- {'', '', 'default:copper_ingot'},
+ {'default:diamond', 'technic:carbon_steel_ingot', 'technic:red_energy_crystal'},
+ {'', 'technic:carbon_steel_ingot', 'technic:carbon_steel_ingot'},
+ {'', '', 'default:copper_ingot'},
}
})
minetest.register_craft({
output = 'technic:laser_mk2',
recipe = {
- {'default:diamond', 'default:steel_ingot', 'technic:laser_mk1'},
- {'', 'default:steel_ingot', 'technic:green_energy_crystal'},
- {'', '', 'default:copper_ingot'},
+ {'default:diamond', 'technic:carbon_steel_ingot', 'technic:laser_mk1'},
+ {'', 'technic:carbon_steel_ingot', 'technic:green_energy_crystal'},
+ {'', '', 'default:copper_ingot'},
}
})
minetest.register_craft({
output = 'technic:laser_mk3',
recipe = {
- {'default:diamond', 'default:steel_ingot', 'technic:laser_mk2'},
- {'', 'default:steel_ingot', 'technic:blue_energy_crystal'},
- {'', '', 'default:copper_ingot'},
+ {'default:diamond', 'technic:carbon_steel_ingot', 'technic:laser_mk2'},
+ {'', 'technic:carbon_steel_ingot', 'technic:blue_energy_crystal'},
+ {'', '', 'default:copper_ingot'},
}
})
diff --git a/technic_chests/copper_chest.lua b/technic_chests/copper_chest.lua
index a2a5a28..21f0563 100644
--- a/technic_chests/copper_chest.lua
+++ b/technic_chests/copper_chest.lua
@@ -19,7 +19,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'technic:copper_locked_chest 1',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:copper_chest'},
}
})
diff --git a/technic_chests/depends.txt b/technic_chests/depends.txt
index 8009e56..fc0492e 100644
--- a/technic_chests/depends.txt
+++ b/technic_chests/depends.txt
@@ -1,5 +1,6 @@
default
technic
+technic_worldgen
moreores
pipeworks
intllib?
diff --git a/technic_chests/gold_chest.lua b/technic_chests/gold_chest.lua
index d173fde..941834d 100644
--- a/technic_chests/gold_chest.lua
+++ b/technic_chests/gold_chest.lua
@@ -20,7 +20,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'technic:gold_locked_chest',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:gold_chest'},
}
})
diff --git a/technic_chests/iron_chest.lua b/technic_chests/iron_chest.lua
index c21fcfb..a1f5c63 100644
--- a/technic_chests/iron_chest.lua
+++ b/technic_chests/iron_chest.lua
@@ -2,25 +2,25 @@
minetest.register_craft({
output = 'technic:iron_chest 1',
recipe = {
- {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
- {'default:steel_ingot','default:chest','default:steel_ingot'},
- {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
+ {'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'},
+ {'technic:cast_iron_ingot','default:chest','technic:cast_iron_ingot'},
+ {'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'},
}
})
minetest.register_craft({
output = 'technic:iron_locked_chest 1',
recipe = {
- {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
- {'default:steel_ingot','default:chest_locked','default:steel_ingot'},
- {'default:steel_ingot','default:steel_ingot','default:steel_ingot'},
+ {'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'},
+ {'technic:cast_iron_ingot','default:chest_locked','technic:cast_iron_ingot'},
+ {'technic:cast_iron_ingot','technic:cast_iron_ingot','technic:cast_iron_ingot'},
}
})
minetest.register_craft({
output = 'technic:iron_locked_chest 1',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:iron_chest'},
}
})
diff --git a/technic_chests/mithril_chest.lua b/technic_chests/mithril_chest.lua
index b39fc9d..f5aa986 100644
--- a/technic_chests/mithril_chest.lua
+++ b/technic_chests/mithril_chest.lua
@@ -19,7 +19,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'technic:mithril_locked_chest 1',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:mithril_chest'},
}
})
diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua
index 9c3453a..75b33f8 100644
--- a/technic_chests/silver_chest.lua
+++ b/technic_chests/silver_chest.lua
@@ -19,7 +19,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'technic:silver_locked_chest',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:silver_chest'},
}
})
diff --git a/technic_worldgen/crafts.lua b/technic_worldgen/crafts.lua
index fc593a6..e2d5236 100644
--- a/technic_worldgen/crafts.lua
+++ b/technic_worldgen/crafts.lua
@@ -34,6 +34,23 @@ minetest.register_craftitem(":technic:brass_ingot", {
inventory_image = "technic_brass_ingot.png",
})
+minetest.register_alias("technic:wrought_iron_ingot", "default:steel_ingot")
+
+minetest.override_item("default:steel_ingot", {
+ description = S("Wrought Iron Ingot"),
+ inventory_image = "technic_wrought_iron_ingot.png",
+})
+
+minetest.register_craftitem(":technic:cast_iron_ingot", {
+ description = S("Cast Iron Ingot"),
+ inventory_image = "technic_cast_iron_ingot.png",
+})
+
+minetest.register_craftitem(":technic:carbon_steel_ingot", {
+ description = S("Carbon Steel Ingot"),
+ inventory_image = "technic_carbon_steel_ingot.png",
+})
+
minetest.register_craftitem(":technic:stainless_steel_ingot", {
description = S("Stainless Steel Ingot"),
inventory_image = "technic_stainless_steel_ingot.png",
@@ -61,6 +78,8 @@ register_block("technic:uranium_block", "technic:uranium")
register_block("technic:chromium_block", "technic:chromium_ingot")
register_block("technic:zinc_block", "technic:zinc_ingot")
register_block("technic:brass_block", "technic:brass_ingot")
+register_block("technic:cast_iron_block", "technic:cast_iron_ingot")
+register_block("technic:carbon_steel_block", "technic:carbon_steel_ingot")
register_block("technic:stainless_steel_block", "technic:stainless_steel_ingot")
minetest.register_craft({
@@ -75,3 +94,59 @@ minetest.register_craft({
output = "technic:chromium_ingot",
})
+minetest.register_craft({
+ type = 'cooking',
+ recipe = minetest.registered_aliases["technic:wrought_iron_ingot"],
+ output = "technic:cast_iron_ingot",
+})
+
+minetest.register_craft({
+ type = 'cooking',
+ recipe = "technic:cast_iron_ingot",
+ cooktime = 2,
+ output = "technic:wrought_iron_ingot",
+})
+
+minetest.register_craft({
+ type = 'cooking',
+ recipe = "technic:carbon_steel_ingot",
+ cooktime = 2,
+ output = "technic:wrought_iron_ingot",
+})
+
+local function for_each_registered_craftitem(action)
+ local already_reg = {}
+ for k, _ in pairs(minetest.registered_items) do
+ table.insert(already_reg, k)
+ end
+ local really_register_craftitem = minetest.register_craftitem
+ minetest.register_craftitem = function(name, def)
+ really_register_craftitem(name, def)
+ action(string.gsub(name, "^:", ""))
+ end
+ for _, name in ipairs(already_reg) do
+ action(name)
+ end
+end
+
+local steel_to_iron = {}
+for _, i in ipairs({
+ "default:axe_steel",
+ "default:pick_steel",
+ "default:shovel_steel",
+ "default:sword_steel",
+ "doors:door_steel",
+ "farming:hoe_steel",
+ "mesecons_doors:op_door_steel",
+ "mesecons_doors:sig_door_steel",
+ "vessels:steel_bottle",
+}) do
+ steel_to_iron[i] = true
+end
+
+for_each_registered_craftitem(function(item_name)
+ local item_def = minetest.registered_items[item_name]
+ if steel_to_iron[item_name] and string.find(item_def.description, "Steel") then
+ minetest.override_item(item_name, { description = string.gsub(item_def.description, "Steel", S("Iron")) })
+ end
+end)
diff --git a/technic_worldgen/locale/de.txt b/technic_worldgen/locale/de.txt
index 60f3862..1dacb41 100644
--- a/technic_worldgen/locale/de.txt
+++ b/technic_worldgen/locale/de.txt
@@ -9,7 +9,11 @@ Chromium Ingot = Chrombarren
Zinc Lump = Zinkklumpen
Zinc Ingot = Zinkbarren
Brass Ingot = Messingbarren
+Wrought Iron Ingot = Schmiedeeisenbarren
+Cast Iron Ingot = Gusseisenbarren
+Carbon Steel Ingot = Kohlenstoffstahlbarren
Stainless Steel Ingot = Edelstahlbarren
+Iron = Eisen
## nodes.lua
Uranium Ore = Uranerz
@@ -21,8 +25,12 @@ Marble Bricks = Marmorziegel
Uranium Block = Uranblock
Chromium Block = Chromblock
Zinc Block = Zinkblock
+Wrought Iron Block = Schmiedeeisenblock
+Cast Iron Block = Gusseisenblock
+Carbon Steel Block = Kohlenstoffstahlblock
Stainless Steel Block = Edelstahlblock
Brass Block = Messingblock
+Wrought Iron = Schmiedeeisen
## rubber.lua
Rubber Tree Sapling = Gummibaumsetzling
diff --git a/technic_worldgen/locale/template.txt b/technic_worldgen/locale/template.txt
index f1da697..a4a6e4d 100644
--- a/technic_worldgen/locale/template.txt
+++ b/technic_worldgen/locale/template.txt
@@ -8,7 +8,11 @@ Chromium Ingot =
Zinc Lump =
Zinc Ingot =
Brass Ingot =
+Wrought Iron Ingot =
+Cast Iron Ingot =
+Carbon Steel Ingot =
Stainless Steel Ingot =
+Iron =
###nodes.lua
Uranium Ore =
@@ -20,8 +24,12 @@ Marble Bricks =
Uranium Block =
Chromium Block =
Zinc Block =
+Wrought Iron Block =
+Cast Iron Block =
+Carbon Steel Block =
Stainless Steel Block =
Brass Block =
+Wrought Iron =
###rubber.lua
Rubber Tree Sapling =
diff --git a/technic_worldgen/nodes.lua b/technic_worldgen/nodes.lua
index 07ec4af..12637f7 100644
--- a/technic_worldgen/nodes.lua
+++ b/technic_worldgen/nodes.lua
@@ -76,6 +76,29 @@ minetest.register_node(":technic:zinc_block", {
sounds = default.node_sound_stone_defaults()
})
+minetest.register_alias("technic:wrought_iron_block", "default:steelblock")
+
+minetest.override_item("default:steelblock", {
+ description = S("Wrought Iron Block"),
+ tiles = { "technic_wrought_iron_block.png" },
+})
+
+minetest.register_node(":technic:cast_iron_block", {
+ description = S("Cast Iron Block"),
+ tiles = { "technic_cast_iron_block.png" },
+ is_ground_content = true,
+ groups = {cracky=1, level=2},
+ sounds = default.node_sound_stone_defaults()
+})
+
+minetest.register_node(":technic:carbon_steel_block", {
+ description = S("Carbon Steel Block"),
+ tiles = { "technic_carbon_steel_block.png" },
+ is_ground_content = true,
+ groups = {cracky=1, level=2},
+ sounds = default.node_sound_stone_defaults()
+})
+
minetest.register_node(":technic:stainless_steel_block", {
description = S("Stainless Steel Block"),
tiles = { "technic_stainless_steel_block.png" },
@@ -104,3 +127,37 @@ minetest.register_alias("technic:diamond_block", "default:diamondblock")
minetest.register_alias("technic:diamond", "default:diamond")
minetest.register_alias("technic:mineral_diamond", "default:stone_with_diamond")
+local function for_each_registered_node(action)
+ local already_reg = {}
+ for k, _ in pairs(minetest.registered_nodes) do
+ table.insert(already_reg, k)
+ end
+ local really_register_node = minetest.register_node
+ minetest.register_node = function(name, def)
+ really_register_node(name, def)
+ action(string.gsub(name, "^:", ""))
+ end
+ for _, name in ipairs(already_reg) do
+ action(name)
+ end
+end
+
+for_each_registered_node(function(node_name)
+ local node_def = minetest.registered_nodes[node_name]
+ if node_name ~= "default:steelblock" and string.find(node_name, "steelblock") and string.find(node_def.description, "Steel") then
+ minetest.override_item(node_name, { description = string.gsub(node_def.description, "Steel", S("Wrought Iron")) })
+ end
+ if node_def.tiles or node_def.tile_images then
+ local tn = node_def.tiles and "tiles" or "tile_images"
+ local tl = {}
+ local ca = false
+ for i, t in ipairs(node_def[tn]) do
+ if type(t) == "string" and t == "default_steel_block.png" then
+ ca = true
+ t = "technic_wrought_iron_block.png"
+ end
+ table.insert(tl, t)
+ end
+ if ca then minetest.override_item(node_name, { [tn] = tl }) end
+ end
+end)
diff --git a/technic_worldgen/textures/technic_carbon_steel_block.png b/technic_worldgen/textures/technic_carbon_steel_block.png
new file mode 100644
index 0000000..f3cfdc1
--- /dev/null
+++ b/technic_worldgen/textures/technic_carbon_steel_block.png
Binary files differ
diff --git a/technic_worldgen/textures/technic_carbon_steel_ingot.png b/technic_worldgen/textures/technic_carbon_steel_ingot.png
new file mode 100644
index 0000000..0d45066
--- /dev/null
+++ b/technic_worldgen/textures/technic_carbon_steel_ingot.png
Binary files differ
diff --git a/technic_worldgen/textures/technic_cast_iron_block.png b/technic_worldgen/textures/technic_cast_iron_block.png
new file mode 100644
index 0000000..2df61e5
--- /dev/null
+++ b/technic_worldgen/textures/technic_cast_iron_block.png
Binary files differ
diff --git a/technic_worldgen/textures/technic_cast_iron_ingot.png b/technic_worldgen/textures/technic_cast_iron_ingot.png
new file mode 100644
index 0000000..692fff8
--- /dev/null
+++ b/technic_worldgen/textures/technic_cast_iron_ingot.png
Binary files differ
diff --git a/technic_worldgen/textures/technic_wrought_iron_block.png b/technic_worldgen/textures/technic_wrought_iron_block.png
new file mode 100644
index 0000000..cf6c961
--- /dev/null
+++ b/technic_worldgen/textures/technic_wrought_iron_block.png
Binary files differ
diff --git a/technic_worldgen/textures/technic_wrought_iron_ingot.png b/technic_worldgen/textures/technic_wrought_iron_ingot.png
new file mode 100644
index 0000000..b7e6d1e
--- /dev/null
+++ b/technic_worldgen/textures/technic_wrought_iron_ingot.png
Binary files differ
diff --git a/wrench/depends.txt b/wrench/depends.txt
index 0905917..4d126c6 100644
--- a/wrench/depends.txt
+++ b/wrench/depends.txt
@@ -1,5 +1,6 @@
default
technic
technic_chests
+technic_worldgen
intllib?
diff --git a/wrench/init.lua b/wrench/init.lua
index 500f8ac..f0a0e00 100644
--- a/wrench/init.lua
+++ b/wrench/init.lua
@@ -165,8 +165,8 @@ minetest.register_tool("wrench:wrench", {
minetest.register_craft({
output = "wrench:wrench",
recipe = {
- {"default:steel_ingot", "", "default:steel_ingot"},
- {"", "default:steel_ingot", ""},
- {"", "default:steel_ingot", ""},
+ {"technic:carbon_steel_ingot", "", "technic:carbon_steel_ingot"},
+ {"", "technic:carbon_steel_ingot", ""},
+ {"", "technic:carbon_steel_ingot", ""},
},
})