compartmentalised crafting recipes

This commit is contained in:
Sumi 2025-04-11 13:48:40 +10:00
parent 55fefd12c9
commit 29f7f2b2c5
4 changed files with 90 additions and 66 deletions

28
crafting_mcl.lua Normal file
View file

@ -0,0 +1,28 @@
local w = "group:wool"
local b = "group:boat"
local m = "mcl_core:iron_ingot"
local s = "mcl_mobitems:string"
minetest.register_craft({
output = "sum_airship:canvas_roll",
recipe = {
{w, w, w},
{w, w, w},
{w, w, w},
},
})
minetest.register_craft({
output = "sum_airship:hull",
recipe = {
{b, b, b},
{m, m, m},
},
})
minetest.register_craft({
output = "sum_airship:boat",
recipe = {
{"sum_airship:canvas_roll","sum_airship:canvas_roll","sum_airship:canvas_roll",},
{s, m, s,},
{s, "sum_airship:hull", s,},
},
})

29
crafting_mtg.lua Normal file
View file

@ -0,0 +1,29 @@
local w = "group:wool"
if not minetest.get_modpath("farming") then w = "default:paper" end
local b = "boats:boat"
local m = "default:steel_ingot"
local s = "farming:string"
minetest.register_craft({
output = "sum_airship:canvas_roll",
recipe = {
{w, w, w},
{w, w, w},
{w, w, w},
},
})
minetest.register_craft({
output = "sum_airship:hull",
recipe = {
{b, b, b},
{m, m, m},
},
})
minetest.register_craft({
output = "sum_airship:boat",
recipe = {
{"sum_airship:canvas_roll","sum_airship:canvas_roll","sum_airship:canvas_roll",},
{s, m, s,},
{s, "sum_airship:hull", s,},
},
})

23
crafting_rp.lua Normal file
View file

@ -0,0 +1,23 @@
crafting.register_craft({
output = "sum_airship:canvas_roll",
items = {
"group:fuzzy 9"
}
})
crafting.register_craft({
output = "sum_airship:hull",
items = {
"group:boat 3",
"rp_default:ingot_steel 3"
}
})
crafting.register_craft({
output = "sum_airship:boat",
items = {
"sum_airship:canvas_roll 3",
"rp_default:ingot_steel 8",
"rp_default:ingot_steel",
"sum_airship:hull",
}
})

View file

@ -1,3 +1,5 @@
local mod_name = minetest.get_current_modname()
local mod_path = minetest.get_modpath(mod_name)
local S = minetest.get_translator(minetest.get_current_modname())
@ -16,74 +18,16 @@ minetest.register_craftitem("sum_airship:hull", {
groups = { craftitem = 1 },
})
local w = "group:wool"
if not minetest.get_modpath("farming") then w = "default:paper" end
local b = "boats:boat"
local m = "default:steel_ingot"
local s = "farming:string"
if minetest.get_modpath("mcl_boats")
and minetest.get_modpath("mcl_wool")
and minetest.get_modpath("mcl_core")
and minetest.get_modpath("mcl_mobitems") then
w = "group:wool"
b = "group:boat"
m = "mcl_core:iron_ingot"
s = "mcl_mobitems:string"
dofile(mod_path .. "/crafting_mcl.lua")
elseif (minetest.get_modpath("rp_farming")
or minetest.get_modpath("rp_mobs_mobs"))
and minetest.get_modpath("rp_default")
and minetest.get_modpath("rp_crafting") then
dofile(mod_path .. "/crafting_rp.lua")
elseif minetest.get_modpath("default") then
dofile(mod_path .. "/crafting_mtg.lua")
end
local rp_fuzzy = minetest.get_modpath("rp_farming") or minetest.get_modpath("rp_mobs_mobs")
if rp_fuzzy and minetest.get_modpath("rp_default") then
w = "group:fuzzy" -- cotton bale or wool bundle
b = "group:boat"
m = "rp_default:ingot_steel"
s = "rp_default:fiber"
end
if minetest.get_modpath("rp_crafting") then
crafting.register_craft({
output = "sum_airship:canvas_roll",
items = {
w.." 9"
}
})
crafting.register_craft({
output = "sum_airship:hull",
items = {
b.." 3",
m.." 3"
}
})
crafting.register_craft({
output = "sum_airship:boat",
items = {
"sum_airship:canvas_roll 3",
s.." 8",
m,
"sum_airship:hull",
}
})
else
minetest.register_craft({
output = "sum_airship:canvas_roll",
recipe = {
{w, w, w},
{w, w, w},
{w, w, w},
},
})
minetest.register_craft({
output = "sum_airship:hull",
recipe = {
{b, b, b},
{m, m, m},
},
})
minetest.register_craft({
output = "sum_airship:boat",
recipe = {
{"sum_airship:canvas_roll","sum_airship:canvas_roll","sum_airship:canvas_roll",},
{s, m, s,},
{s, "sum_airship:hull", s,},
},
})
end