77 lines
1.5 KiB
Lua
77 lines
1.5 KiB
Lua
-- © 2017 numberZero
|
|
-- License: GNU Lesser General Public License, version 2 (or any later version)
|
|
|
|
local function find_available_craftitem(...)
|
|
local names = {...}
|
|
for _, name in ipairs(names) do
|
|
if minetest.registered_items[name] then
|
|
return name
|
|
end
|
|
end
|
|
-- make register_craft happy
|
|
return "-- unavailable --"
|
|
end
|
|
|
|
local digiline_wire = "digilines:wire_std_00000000"
|
|
local connector = "digiline_routing:connector"
|
|
|
|
local steel = find_available_craftitem(
|
|
"technic:carbon_steel_ingot",
|
|
"default:steel_ingot"
|
|
)
|
|
|
|
local silver_wire = find_available_craftitem(
|
|
"technic:fine_silver_wire",
|
|
"moreores:silver_ingot",
|
|
"default:gold_ingot"
|
|
)
|
|
|
|
local gold_dust = find_available_craftitem(
|
|
"technic:gold_dust",
|
|
"default:gold_ingot"
|
|
)
|
|
|
|
local silicon = find_available_craftitem(
|
|
"mesecons_materials:silicon",
|
|
"default:mese_crystal_fragment"
|
|
)
|
|
|
|
minetest.register_craftitem(connector, {
|
|
description = "Digiline Bus Connector",
|
|
inventory_image = "digiline_routing_connector.png",
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = connector,
|
|
recipe = {
|
|
{"", steel, ""},
|
|
{digiline_wire, silver_wire, gold_dust},
|
|
{"", steel, ""},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "digiline_routing:diode",
|
|
recipe = {
|
|
{connector, silicon, connector},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "digiline_routing:filter",
|
|
recipe = {
|
|
{steel, silver_wire, steel},
|
|
{connector, silicon, connector},
|
|
{steel, silver_wire, steel},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "digiline_routing:splitter",
|
|
recipe = {
|
|
{connector, ""},
|
|
{silicon, connector},
|
|
{connector, ""},
|
|
}
|
|
})
|