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, '', ''},
}
})
--- /dev/null
+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.
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'},
}
})
["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
Dirt = Erde:
Leaves = Laub:
Sandstone = Sandstein:
-Steel = Stahl:
Stone = Stein:
Tree = Baumstamm:
Wooden = Holz:
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
Slope = Rampa
Element T = Elemento T
Cylinder = Cilindro
-Steel = Acero
Cobble = Adoquines
Stone = Piedra
Brick = Ladrillo
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
Dirt = Terra
Leaves = Foglie
Sandstone = Arenaria
-Steel = Acciaio
Stone = Pietra
Tree = Albero
Wooden = Legno
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
Dirt =
Leaves =
Sandstone =
-Steel =
Stone =
Tree =
Wooden =
Arol =
Brass =
Bronze =
+Carbon Steel =
+Cast Iron =
Chromium =
Coal =
Copper =
Gold =
-Iron =
Mithril =
Silver =
Stainless Steel =
Talinite =
Tin =
+Wrought Iron =
Zinc =
## Tools
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",
})
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 = {
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', ''},
}
})
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'},
}
})
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'},
}
})
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'},
},
})
{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
--------
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'},
}
})
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', ''},
}
})
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'},
}
})
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', ''},
}
})
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(),
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(),
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
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)
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()]
{"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"},
{"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"},
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({
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"}
}
})
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'},
}
})
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'},
}
})
minetest.register_craft({
output = 'technic:copper_locked_chest 1',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:copper_chest'},
}
})
default
technic
+technic_worldgen
moreores
pipeworks
intllib?
minetest.register_craft({
output = 'technic:gold_locked_chest',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:gold_chest'},
}
})
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'},
}
})
minetest.register_craft({
output = 'technic:mithril_locked_chest 1',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:mithril_chest'},
}
})
minetest.register_craft({
output = 'technic:silver_locked_chest',
recipe = {
- {'default:steel_ingot'},
+ {'technic:wrought_iron_ingot'},
{'technic:silver_chest'},
}
})
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",
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({
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)
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
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
Zinc Lump =
Zinc Ingot =
Brass Ingot =
+Wrought Iron Ingot =
+Cast Iron Ingot =
+Carbon Steel Ingot =
Stainless Steel Ingot =
+Iron =
###nodes.lua
Uranium Ore =
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 =
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" },
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)
default
technic
technic_chests
+technic_worldgen
intllib?
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", ""},
},
})