technic/technic_worldgen/crafts.lua

166 lines
4.5 KiB
Lua
Raw Normal View History

2014-04-16 19:10:00 +02:00
local S = technic.worldgen.gettext
2013-07-17 21:34:35 +02:00
minetest.register_craftitem(":technic:uranium", {
2014-04-16 19:10:00 +02:00
description = S("Uranium"),
2013-03-30 11:36:45 +01:00
inventory_image = "technic_uranium.png",
on_place_on_ground = minetest.craftitem_place_item,
})
2013-07-17 21:34:35 +02:00
minetest.register_craftitem(":technic:chromium_lump", {
2014-04-16 19:10:00 +02:00
description = S("Chromium Lump"),
2013-03-30 11:36:45 +01:00
inventory_image = "technic_chromium_lump.png",
on_place_on_ground = minetest.craftitem_place_item,
})
2013-07-17 21:34:35 +02:00
minetest.register_craftitem(":technic:chromium_ingot", {
2014-04-16 19:10:00 +02:00
description = S("Chromium Ingot"),
2013-03-30 11:36:45 +01:00
inventory_image = "technic_chromium_ingot.png",
on_place_on_ground = minetest.craftitem_place_item,
})
2013-07-17 21:34:35 +02:00
minetest.register_craftitem(":technic:zinc_lump", {
2014-04-16 19:10:00 +02:00
description = S("Zinc Lump"),
2013-03-30 11:36:45 +01:00
inventory_image = "technic_zinc_lump.png",
})
2013-07-17 21:34:35 +02:00
minetest.register_craftitem(":technic:zinc_ingot", {
2014-04-16 19:10:00 +02:00
description = S("Zinc Ingot"),
2013-03-30 11:36:45 +01:00
inventory_image = "technic_zinc_ingot.png",
})
2013-10-26 09:13:17 +02:00
minetest.register_craftitem(":technic:brass_ingot", {
2014-04-16 19:10:00 +02:00
description = S("Brass Ingot"),
2013-10-26 09:13:17 +02:00
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",
})
2013-07-17 21:34:35 +02:00
minetest.register_craftitem(":technic:stainless_steel_ingot", {
2014-04-16 19:10:00 +02:00
description = S("Stainless Steel Ingot"),
2013-03-30 11:36:45 +01:00
inventory_image = "technic_stainless_steel_ingot.png",
})
2013-07-17 21:34:35 +02:00
local function register_block(block, ingot)
minetest.register_craft({
output = block,
recipe = {
{ingot, ingot, ingot},
{ingot, ingot, ingot},
{ingot, ingot, ingot},
}
})
minetest.register_craft({
output = ingot.." 9",
recipe = {
{block}
}
})
end
register_block("technic:uranium_block", "technic:uranium")
register_block("technic:chromium_block", "technic:chromium_ingot")
register_block("technic:zinc_block", "technic:zinc_ingot")
2013-10-26 09:13:17 +02:00
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")
2013-07-17 21:34:35 +02:00
register_block("technic:stainless_steel_block", "technic:stainless_steel_ingot")
2013-06-27 04:13:44 +02:00
2013-03-30 11:36:45 +01:00
minetest.register_craft({
type = 'cooking',
2013-07-17 21:34:35 +02:00
recipe = "technic:zinc_lump",
2013-03-30 11:36:45 +01:00
output = "technic:zinc_ingot",
})
2013-06-27 04:13:44 +02:00
minetest.register_craft({
type = 'cooking',
2013-07-17 21:34:35 +02:00
recipe = "technic:chromium_lump",
2013-06-27 04:13:44 +02:00
output = "technic:chromium_ingot",
})
2013-07-17 21:34:35 +02:00
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_item(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
local really_register_tool = minetest.register_tool
minetest.register_tool = function(name, def)
really_register_tool(name, def)
action(string.gsub(name, "^:", ""))
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
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",
"glooptest:hammer_steel",
"glooptest:handsaw_steel",
"glooptest:reinforced_crystal_glass",
"mesecons_doors:op_door_steel",
"mesecons_doors:sig_door_steel",
"vessels:steel_bottle",
}) do
steel_to_iron[i] = true
end
for_each_registered_item(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)