From: Zefram Date: Fri, 16 May 2014 21:02:49 +0000 (+0100) Subject: split default iron/steel into three metals X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=68b7bcc28e39bdf0926072b834eeeeec0ee6c721;p=zefram%2Fminetest%2Ftechnic.git 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. --- 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 Binary files /dev/null and b/technic/textures/technic_carbon_steel_dust.png 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 Binary files /dev/null and b/technic/textures/technic_cast_iron_dust.png differ diff --git a/technic/textures/technic_iron_dust.png b/technic/textures/technic_iron_dust.png deleted file mode 100644 index ad23c62..0000000 Binary files a/technic/textures/technic_iron_dust.png and /dev/null differ diff --git a/technic/textures/technic_wrought_iron_dust.png b/technic/textures/technic_wrought_iron_dust.png new file mode 100644 index 0000000..ad23c62 Binary files /dev/null and b/technic/textures/technic_wrought_iron_dust.png 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 Binary files /dev/null and b/technic/textures/technicx32/technic_carbon_steel_dust.png 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 Binary files /dev/null and b/technic/textures/technicx32/technic_cast_iron_dust.png 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 Binary files a/technic/textures/technicx32/technic_iron_dust.png and /dev/null 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 Binary files /dev/null and b/technic/textures/technicx32/technic_wrought_iron_dust.png 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 Binary files /dev/null and b/technic_worldgen/textures/technic_carbon_steel_block.png 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 Binary files /dev/null and b/technic_worldgen/textures/technic_carbon_steel_ingot.png 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 Binary files /dev/null and b/technic_worldgen/textures/technic_cast_iron_block.png 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 Binary files /dev/null and b/technic_worldgen/textures/technic_cast_iron_ingot.png 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 Binary files /dev/null and b/technic_worldgen/textures/technic_wrought_iron_block.png 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 Binary files /dev/null and b/technic_worldgen/textures/technic_wrought_iron_ingot.png 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", ""}, }, })