Skip to content
Snippets Groups Projects
Commit 2f7b7695 authored by Peter Nerlich's avatar Peter Nerlich
Browse files

move to mod.conf, add all dependencies, try to keep them optional

parent 58e57f95
No related branches found
No related tags found
No related merge requests found
......@@ -16,7 +16,7 @@ minetest.register_tool("kif_custom:pick_salad", {
end
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "kif_custom:pick_salad",
recipe = {
{"farming:potato_salad", "farming:potato_salad", "farming:potato_salad"},
......
......@@ -10,7 +10,7 @@ local additional_nonblocknodes={
"mesecons_pressureplates:pressure_plate_wood",
"mesecons_pressureplates:pressure_plate_stone",
}
minetest.after(0, function()
local mods = {"moreblocks", "bakedclay", "building_blocks", "my_door_wood", "my_sliding_doors"}
local variants = {
micro_ = nil,
......@@ -54,4 +54,3 @@ minetest.after(0, function()
minetest.registered_nodes[name].groups.not_blocking_trains=1
end
end
end)
......@@ -3,35 +3,35 @@ local greens = {"dye:green", "dye:light_green", "dye:medium_green", "dye:dark_gr
-- track stuff
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_interlocking:tcb_node",
recipe = {{"default:mese_crystal_fragment"},
{"default:steel_ingot"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_interlocking:tcb_node 9",
recipe = {{"default:mese_crystal"},
{"default:steelblock"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_line_automation:dtrack_stop_placer",
recipe = {{"dye:black"},
{"default:mese_crystal_fragment"},
{"advtrains:dtrack_placer"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_interlocking:dtrack_npr_placer",
recipe = {{"advtrains_line_automation:dtrack_stop_placer"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_interlocking:dtrack_stop_placer",
recipe = {{"advtrains_line_automation:dtrack_npr_placer"}}
})
--[[
-- TODO: fix crash in advtrains before adding recipe
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:dtrack_atc_placer",
recipe = {{"dye:blue"},
{"default:mese_crystal_fragment"},
......@@ -39,35 +39,35 @@ minetest.register_craft({
})
]]--
for i,color in ipairs(greens) do
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:dtrack_unload_placer",
recipe = {{color},
{"default:mese_crystal_fragment"},
{"advtrains:dtrack_placer"}}
})
end
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:dtrack_load_placer",
recipe = {{"dye:red"},
{"default:mese_crystal_fragment"},
{"advtrains:dtrack_placer"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:dtrack_load_placer",
recipe = {{"advtrains:dtrack_unload_placer"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:dtrack_unload_placer",
recipe = {{"advtrains:dtrack_load_placer"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_luaautomation:dtrack_placer",
recipe = {{"dye:blue"},
{"mesecons_microcontroller:microcontroller0000"},
{"advtrains:dtrack_placer"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_luaautomation:oppanel",
recipe = {
{"default:steel_ingot","dye:blue","default:steel_ingot"},
......@@ -77,12 +77,12 @@ minetest.register_craft({
-- train stuff
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:engine_japan",
recipe = {{"advtrains:wagon_japan"},
{"default:mese"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_japan",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
......@@ -90,14 +90,14 @@ minetest.register_craft({
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:engine_industrial",
recipe = {
{"dye:red", "advtrains:driver_cab"},
{"default:steelblock", "default:mese_crystal"},
{"advtrains:wheel", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:engine_industrial_big",
recipe = {
{"dye:red", "advtrains:driver_cab", "default:steelblock"},
......@@ -105,14 +105,14 @@ minetest.register_craft({
{"advtrains:wheel", "advtrains:wheel", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_wood",
recipe = {
{"default:steel_ingot","","default:steel_ingot"},
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
{"advtrains:wheel","advtrains:wheel","advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_tank",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
......@@ -120,42 +120,42 @@ minetest.register_craft({
{"advtrains:wheel","advtrains:wheel","advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:engine_railbus",
recipe = {
{"","basic_materials:steel_bar"},
{"dye:red","advtrains:subway_wagon"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:diesel_lokomotive",
recipe = {
{"dye:cyan", "advtrains:driver_cab"},
{"default:steelblock", "default:mese_crystal"},
{"advtrains:wheel", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_track",
recipe = {
{"advtrains:dtrack_placer", "advtrains:dtrack_placer", "advtrains:dtrack_placer"},
{"default:stick", "default:stick", "default:stick"},
{"advtrains:wheel", "", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_gravel",
recipe = {
{"group:wood", "default:gravel", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
{"advtrains:wheel", "", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_tree",
recipe = {
{"", "group:tree", ""},
{"default:stick", "default:stick", "default:stick"},
{"advtrains:wheel", "", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:wagon_lava",
recipe = {
{"default:stick", "bucket:bucket_lava", "default:stick"},
......@@ -163,27 +163,27 @@ minetest.register_craft({
{"advtrains:wheel", "", "advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:SaHa_E231",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
{"default:steel_ingot","dye:green","default:steel_ingot"},
{"advtrains:wheel","","advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:MoHa_E230",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
{"default:steel_ingot","dye:green","default:steel_ingot"},
{"advtrains:wheel","default:mese","advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:MoHa_E231",
recipe = {
{"basic_materials:steel_bar"},
{"advtrains:MoHa_E230"}},
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:KuHa_E231",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
......@@ -191,14 +191,14 @@ minetest.register_craft({
{"advtrains:wheel","default:mese","advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:under_s7dm",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
{"default:steel_ingot","dye:red","default:steel_ingot"},
{"advtrains:wheel","dye:blue","advtrains:wheel"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:under_s7ndm",
recipe = {
{"default:steel_ingot","default:steel_ingot","default:steel_ingot"},
......@@ -209,73 +209,73 @@ minetest.register_craft({
-- signal stuff
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:mast_mast_0",
recipe = {{"default:steel_ingot"},
{"default:steel_ingot"},
{"default:steel_ingot"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:hs_danger_0 2",
type = "shapeless",
recipe = {"advtrains:signal_off", "advtrains:signal_off", "dye:white", "dye:yellow"}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:ra_danger_0 2",
type = "shapeless",
recipe = {"advtrains:signal_off", "advtrains:signal_off", "dye:white"}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_wall_l_off",
recipe = {{"advtrains:signal_wall_t_off"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_wall_r_off",
recipe = {{"advtrains:signal_wall_l_off"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_wall_t_off",
recipe = {{"advtrains:signal_wall_r_off"}}
})
for i,color in ipairs(greens) do
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_wall_l_off 2",
recipe = {{"default:steel_ingot", "dye:red"},
{"", color},
{"default:steel_ingot", "default:steel_ingot"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_wall_r_off 2",
recipe = {{"dye:red", "default:steel_ingot"},
{color, ""},
{"default:steel_ingot", "default:steel_ingot"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_wall_t_off 2",
recipe = {{"default:steel_ingot", "", "default:steel_ingot"},
{"default:steel_ingot", color, "dye:red"}}
})
end
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:sign_8_0 2",
type = "shapeless",
recipe = {"default:sign_wall_steel", "default:sign_wall_steel", "default:steel_ingot", "dye:white", "dye:black"}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:sign_8_0 2",
type = "shapeless",
recipe = {"basic_signs:sign_wall_steel_white_black", "default:steel_ingot"}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:sign_8_0 2",
recipe = {{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"dye:black", "default:steel_ingot", "dye:white"}}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains_signals_ks:sign_8_0 2",
recipe = {{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
......@@ -292,7 +292,7 @@ for rot = 0, 3 do
return "dye:red"
end
end
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:across_off 2",
recipe = {
{pos(3), "", pos(2)},
......@@ -303,7 +303,7 @@ end
-- add recipe with normal green for signal
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "advtrains:signal_off 2",
recipe = {
{"", "dye:red", "default:steel_ingot"},
......
default
digilines
xpanes
basic_materials
mesecons_luacontroller
moreblocks
advtrains_interlocking
advtrains_signals_ks
advtrains_luaautomation
......@@ -3,6 +3,9 @@ kif = {}
local MP = minetest.get_modpath("kif_custom")
-- utilities
dofile(MP.."/util.lua")
-- some items don't have recipes. fill them in
dofile(MP.."/missing_recipes.lua")
......
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "digilines:lightsensor",
recipe = {
{"basic_materials:plastic_sheet", "xpanes:pane_flat", "basic_materials:plastic_sheet"},
{"default:steel_ingot", "mesecons_luacontroller:luacontroller0000", "digilines:wire_std_00000000"}
}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "digilines:rtc",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet"},
......@@ -13,7 +14,7 @@ minetest.register_craft({
}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "computer:tetris_arcade",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet"},
......@@ -21,7 +22,7 @@ minetest.register_craft({
{"basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet"}
}
})
minetest.register_craft({
kif.register_craft_if_items_exist({
output = "computer:3dprinter_bedflinger",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:empty_spool", "default:mese_crystal_fragment"},
......
mod.conf 0 → 100644
name = kif_custom
depends = default
optional_depends = """
advtrains_interlocking,
advtrains_signals_ks,
advtrains_luaautomation,
bakedclay,
basic_materials,
building_blocks,
computer,
digilines,
digiterms,
dye,
farming,
homedecor,
mesecons_luacontroller,
mesecons_pressureplates,
moreblocks,
my_door_wood,
my_sliding_doors,
xpanes,
"""
util.lua 0 → 100644
kif.register_craft_if_items_exist = function(def)
if def.output and minetest.registered_items[tostring(def.output)] == nil then
return false
end
if def.recipe then
if type(def.recipe) ~= "table" then
if minetest.registered_items[tostring(def.recipe)] == nil then
return false
end
else
for y, row in ipairs(def.recipe) do
if type(row) ~= "table" then
if row ~= "" and minetest.registered_items[tostring(row)] == nil then
return false
end
else
for x, col in ipairs(row) do
if col ~= "" and minetest.registered_items[tostring(col)] == nil then
return false
end
end
end
end
end
-- still here? recipe is fine then!
minetest.register_craft(def)
return true
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment