2018-06-18 09:09:43 +02:00
|
|
|
|
2018-08-07 21:47:59 +02:00
|
|
|
local easycrafting = minetest.settings:get("elepower_easy_crafting") == "true"
|
|
|
|
|
2018-06-18 09:09:43 +02:00
|
|
|
---------------
|
|
|
|
-- Overrides --
|
|
|
|
---------------
|
|
|
|
|
2018-06-22 13:51:27 +02:00
|
|
|
-- Remove iron_lump -> steel_ingot, because dynamics adds iron ingot
|
2018-06-18 09:09:43 +02:00
|
|
|
minetest.clear_craft({type = "cooking", output = "default:steel_ingot"})
|
|
|
|
|
|
|
|
-----------
|
|
|
|
-- Tools --
|
|
|
|
-----------
|
|
|
|
|
|
|
|
-- Pickaxes
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:pick_iron',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:iron_ingot', 'elepower_dynamics:iron_ingot', 'elepower_dynamics:iron_ingot'},
|
|
|
|
{'', 'group:stick', ''},
|
|
|
|
{'', 'group:stick', ''},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:pick_lead',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:lead_ingot', 'elepower_dynamics:lead_ingot', 'elepower_dynamics:lead_ingot'},
|
|
|
|
{'', 'group:stick', ''},
|
|
|
|
{'', 'group:stick', ''},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Shovels
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:shovel_iron',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:iron_ingot'},
|
|
|
|
{'group:stick'},
|
|
|
|
{'group:stick'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:shovel_lead',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:lead_ingot'},
|
|
|
|
{'group:stick'},
|
|
|
|
{'group:stick'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Axes
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:axe_iron',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:iron_ingot', 'elepower_dynamics:iron_ingot'},
|
|
|
|
{'elepower_dynamics:iron_ingot', 'group:stick'},
|
|
|
|
{'', 'group:stick'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:axe_lead',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:lead_ingot', 'elepower_dynamics:lead_ingot'},
|
|
|
|
{'elepower_dynamics:lead_ingot', 'group:stick'},
|
|
|
|
{'', 'group:stick'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Swords
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:sword_iron',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:iron_ingot'},
|
|
|
|
{'elepower_dynamics:iron_ingot'},
|
|
|
|
{'group:stick'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'elepower_dynamics:sword_lead',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:lead_ingot'},
|
|
|
|
{'elepower_dynamics:lead_ingot'},
|
|
|
|
{'group:stick'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-08-15 13:17:52 +02:00
|
|
|
-- Bucket
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = 'bucket:bucket_empty',
|
|
|
|
recipe = {
|
|
|
|
{'elepower_dynamics:iron_ingot', '', 'elepower_dynamics:iron_ingot'},
|
|
|
|
{'', 'elepower_dynamics:iron_ingot', ''},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-18 09:09:43 +02:00
|
|
|
-----------
|
2018-06-18 14:24:59 +02:00
|
|
|
-- Nodes --
|
2018-06-18 09:09:43 +02:00
|
|
|
-----------
|
|
|
|
|
2018-06-18 13:43:40 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
type = "shapeless",
|
|
|
|
output = "elepower_dynamics:particle_board",
|
|
|
|
recipe = {
|
|
|
|
"elepower_dynamics:wood_dust",
|
|
|
|
"elepower_dynamics:wood_dust",
|
|
|
|
"elepower_dynamics:wood_dust",
|
|
|
|
"elepower_dynamics:wood_dust",
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-18 14:27:18 +02:00
|
|
|
-- Conduit
|
|
|
|
minetest.register_craft({
|
2018-08-30 22:14:50 +02:00
|
|
|
output = "elepower_dynamics:conduit 8",
|
2018-06-18 14:27:18 +02:00
|
|
|
recipe = {
|
|
|
|
{"elepower_dynamics:lead_ingot", "elepower_dynamics:lead_ingot", "elepower_dynamics:lead_ingot"},
|
|
|
|
{"elepower_dynamics:copper_wire", "elepower_dynamics:copper_wire", "elepower_dynamics:copper_wire"},
|
|
|
|
{"elepower_dynamics:lead_ingot", "elepower_dynamics:lead_ingot", "elepower_dynamics:lead_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-21 10:09:01 +02:00
|
|
|
-- Duct
|
|
|
|
minetest.register_craft({
|
2018-08-30 22:14:50 +02:00
|
|
|
output = "elepower_dynamics:fluid_duct 8",
|
2018-06-21 10:09:01 +02:00
|
|
|
recipe = {
|
|
|
|
{"group:glass", "group:glass", "group:glass"},
|
|
|
|
{"elepower_dynamics:lead_ingot", "elepower_dynamics:lead_ingot", "elepower_dynamics:lead_ingot"},
|
|
|
|
{"group:glass", "group:glass", "group:glass"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-21 12:14:12 +02:00
|
|
|
-- Portable Tank
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:portable_tank",
|
|
|
|
recipe = {
|
|
|
|
{"group:glass", "elepower_dynamics:fluid_duct", "group:glass"},
|
|
|
|
{"group:glass", "group:glass", "group:glass"},
|
|
|
|
{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-18 14:24:59 +02:00
|
|
|
-----------
|
|
|
|
-- Items --
|
|
|
|
-----------
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:wound_copper_coil",
|
|
|
|
recipe = {
|
|
|
|
{"", "default:copper_ingot", ""},
|
|
|
|
{"default:copper_ingot", "elepower_dynamics:iron_ingot", "default:copper_ingot"},
|
|
|
|
{"", "default:copper_ingot", ""}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-22 20:03:41 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:wound_silver_coil",
|
|
|
|
recipe = {
|
|
|
|
{"", "moreores:silver_ingot", ""},
|
2018-07-08 11:33:35 +02:00
|
|
|
{"moreores:silver_ingot", "elepower_dynamics:zinc_ingot", "moreores:silver_ingot"},
|
2018-06-22 20:03:41 +02:00
|
|
|
{"", "moreores:silver_ingot", ""}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-18 14:24:59 +02:00
|
|
|
minetest.register_craft({
|
2018-08-12 17:05:39 +02:00
|
|
|
output = "elepower_dynamics:copper_wire 8",
|
2018-06-18 14:24:59 +02:00
|
|
|
recipe = {
|
|
|
|
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
|
|
|
|
{"default:copper_ingot", "", "default:copper_ingot"},
|
|
|
|
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-21 10:09:01 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:servo_valve 3",
|
|
|
|
recipe = {
|
|
|
|
{"", "elepower_dynamics:wound_copper_coil", ""},
|
|
|
|
{"elepower_dynamics:fluid_duct", "elepower_dynamics:fluid_duct", "elepower_dynamics:fluid_duct"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:tree_tap",
|
|
|
|
recipe = {
|
|
|
|
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
|
|
|
{"", "", "default:steel_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-22 20:03:41 +02:00
|
|
|
minetest.register_craft({
|
2018-08-03 12:15:31 +02:00
|
|
|
output = "elepower_dynamics:chip 6",
|
2018-06-22 20:03:41 +02:00
|
|
|
recipe = {
|
|
|
|
{"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"},
|
|
|
|
{"default:mese_crystal", "dye:black", "default:mese_crystal"},
|
|
|
|
{"default:copper_ingot", "moreores:silver_ingot", "default:copper_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2018-08-03 12:15:31 +02:00
|
|
|
output = "elepower_dynamics:capacitor 6",
|
2018-06-22 20:03:41 +02:00
|
|
|
recipe = {
|
|
|
|
{"homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting"},
|
|
|
|
{"moreores:silver_ingot", "default:mese_crystal", "moreores:silver_ingot"},
|
|
|
|
{"default:copper_ingot", "dye:violet", "default:copper_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-08-07 21:47:59 +02:00
|
|
|
if easycrafting then
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:pcb_blank",
|
|
|
|
recipe = {
|
|
|
|
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
|
|
|
|
{"default:copper_ingot", "default:mese_crystal", "default:copper_ingot"},
|
|
|
|
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "shapeless",
|
|
|
|
output = "elepower_dynamics:acidic_compound",
|
|
|
|
recipe = {
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"farming:seed_wheat",
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Fluid Transfer Node
|
|
|
|
minetest.register_craft({
|
2018-08-30 22:14:50 +02:00
|
|
|
output = "elepower_dynamics:fluid_transfer_node 3",
|
2018-08-07 21:47:59 +02:00
|
|
|
recipe = {
|
|
|
|
{"group:stone", "elepower_dynamics:control_circuit", "group:stone"},
|
|
|
|
{"elepower_dynamics:electrum_gear", "elepower_dynamics:servo_valve", "elepower_dynamics:electrum_gear"},
|
|
|
|
{"group:stone", "elepower_dynamics:fluid_duct", "group:stone"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
else
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:pcb_blank",
|
|
|
|
recipe = {
|
|
|
|
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
|
|
|
|
{"default:copper_ingot", "default:mese_crystal", "default:copper_ingot"},
|
|
|
|
{"default:gold_ingot", "elepower_dynamics:viridisium_ingot", "default:gold_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "shapeless",
|
|
|
|
output = "elepower_dynamics:acidic_compound",
|
|
|
|
recipe = {
|
|
|
|
"elepower_dynamics:viridisium_dust",
|
|
|
|
"elepower_dynamics:viridisium_dust",
|
|
|
|
"elepower_dynamics:viridisium_dust",
|
|
|
|
"elepower_dynamics:viridisium_dust",
|
2018-08-13 19:02:22 +02:00
|
|
|
"farming:seed_wheat",
|
2018-08-07 21:47:59 +02:00
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
"elepower_dynamics:copper_dust",
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Fluid Transfer Node
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:fluid_transfer_node",
|
|
|
|
recipe = {
|
|
|
|
{"group:stone", "elepower_dynamics:control_circuit", "group:stone"},
|
|
|
|
{"elepower_dynamics:viridisium_gear", "elepower_dynamics:servo_valve", "elepower_dynamics:viridisium_gear"},
|
|
|
|
{"group:stone", "elepower_dynamics:fluid_duct", "group:stone"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
end
|
2018-06-24 11:10:47 +02:00
|
|
|
|
2018-08-13 19:02:22 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:battery 2",
|
|
|
|
recipe = {
|
|
|
|
{"elepower_dynamics:zinc_dust", "elepower_dynamics:wound_copper_coil", "elepower_dynamics:lead_dust"},
|
|
|
|
{"elepower_dynamics:tin_plate", "default:mese_crystal_fragment", "elepower_dynamics:tin_plate"},
|
|
|
|
{"elepower_dynamics:tin_plate", "default:mese_crystal_fragment", "elepower_dynamics:tin_plate"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:lcd_panel",
|
|
|
|
recipe = {
|
|
|
|
{"dye:red", "dye:green", "dye:blue"},
|
|
|
|
{"moreores:silver_ingot", "elepower_dynamics:wound_copper_coil", "moreores:silver_ingot"},
|
|
|
|
{"", "default:meselamp", ""}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-08-31 19:00:55 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:pv_cell",
|
|
|
|
recipe = {
|
|
|
|
{"group:glass", "group:glass", "group:glass"},
|
|
|
|
{"dye:blue", "elepower_dynamics:silicon_wafer_doped", "dye:blue"},
|
|
|
|
{"default:mese_crystal_fragment", "elepower_dynamics:wound_copper_coil", "default:mese_crystal_fragment"}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-22 20:03:41 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:integrated_circuit",
|
|
|
|
recipe = {
|
|
|
|
{"elepower_dynamics:chip", "elepower_dynamics:chip", "elepower_dynamics:chip"},
|
|
|
|
{"elepower_dynamics:capacitor", "elepower_dynamics:pcb", "elepower_dynamics:capacitor"},
|
|
|
|
{"default:copper_ingot", "default:mese_crystal", "default:gold_ingot"},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-08-03 12:15:31 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:motor 3",
|
|
|
|
recipe = {
|
|
|
|
{"default:steel_ingot", "elepower_dynamics:wound_copper_coil", "default:steel_ingot"},
|
|
|
|
{"elepower_dynamics:copper_wire", "elepower_dynamics:wound_copper_coil", "elepower_dynamics:copper_wire"},
|
|
|
|
{"default:steel_ingot", "elepower_dynamics:capacitor", "default:steel_ingot"},
|
2018-08-03 20:16:48 +02:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:tin_can 8",
|
|
|
|
recipe = {
|
|
|
|
{"elepower_dynamics:tin_plate", ""},
|
|
|
|
{"", "elepower_dynamics:tin_plate"}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-08-29 14:45:31 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = "elepower_dynamics:gas_container 8",
|
|
|
|
recipe = {
|
|
|
|
{"elepower_dynamics:steel_plate", "", "elepower_dynamics:steel_plate"},
|
|
|
|
{"elepower_dynamics:steel_plate", "", "elepower_dynamics:steel_plate"},
|
|
|
|
{"", "elepower_dynamics:steel_plate", ""}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2018-06-18 09:09:43 +02:00
|
|
|
--------------
|
|
|
|
-- Smelting --
|
|
|
|
--------------
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
|
|
|
output = "elepower_dynamics:iron_ingot",
|
|
|
|
recipe = "default:iron_lump"
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
2018-06-21 16:35:39 +02:00
|
|
|
output = "elepower_dynamics:lead_ingot",
|
|
|
|
recipe = "elepower_dynamics:lead_lump"
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
|
|
|
output = "elepower_dynamics:nickel_ingot",
|
|
|
|
recipe = "elepower_dynamics:nickel_lump"
|
2018-06-18 09:09:43 +02:00
|
|
|
})
|
2018-06-18 13:43:40 +02:00
|
|
|
|
2018-07-02 16:37:00 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
|
|
|
output = "elepower_dynamics:zinc_ingot",
|
|
|
|
recipe = "elepower_dynamics:zinc_lump"
|
|
|
|
})
|
|
|
|
|
2018-06-18 14:24:59 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
2018-06-22 20:03:41 +02:00
|
|
|
output = "elepower_dynamics:viridisium_ingot",
|
|
|
|
recipe = "elepower_dynamics:viridisium_lump",
|
|
|
|
cooktime = 10,
|
2018-06-18 14:24:59 +02:00
|
|
|
})
|
|
|
|
|
2018-06-18 13:43:40 +02:00
|
|
|
-----------
|
|
|
|
-- Gears --
|
|
|
|
-----------
|
|
|
|
|
|
|
|
local keywords = { "_ingot", "" }
|
|
|
|
for mat, data in pairs(elepd.registered_gears) do
|
|
|
|
for _,keyword in ipairs(keywords) do
|
|
|
|
local found = ele.helpers.scan_item_list(mat .. keyword)
|
|
|
|
local immebreak = false
|
|
|
|
|
|
|
|
if mat == "wood" then
|
|
|
|
found = "group:stick"
|
|
|
|
immebreak = true
|
|
|
|
end
|
|
|
|
|
|
|
|
if found then
|
|
|
|
-- Gear recipe for material
|
|
|
|
minetest.register_craft({
|
|
|
|
recipe = {
|
|
|
|
{ "", found, "" },
|
|
|
|
{ found, "", found},
|
|
|
|
{ "", found, "" }
|
|
|
|
},
|
|
|
|
output = data.item
|
|
|
|
})
|
|
|
|
|
|
|
|
if immebreak then break end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2018-07-02 16:37:00 +02:00
|
|
|
|
|
|
|
-----------
|
|
|
|
-- Nodes --
|
|
|
|
-----------
|
|
|
|
|
|
|
|
local function blockcraft(mat)
|
|
|
|
local ingot = "elepower_dynamics:" .. mat .. "_ingot"
|
|
|
|
local block = "elepower_dynamics:" .. mat .. "_block"
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "shapeless",
|
|
|
|
output = block,
|
|
|
|
recipe = {
|
|
|
|
ingot, ingot, ingot,
|
|
|
|
ingot, ingot, ingot,
|
|
|
|
ingot, ingot, ingot,
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "shapeless",
|
|
|
|
output = ingot .. " 9",
|
|
|
|
recipe = { block },
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
|
|
|
blockcraft("viridisium")
|
|
|
|
blockcraft("nickel")
|
|
|
|
blockcraft("invar")
|
|
|
|
blockcraft("lead")
|
|
|
|
blockcraft("zinc")
|