From 29f7f2b2c5cbc0fd8ed7274193b7fc2ccb2e52fa Mon Sep 17 00:00:00 2001 From: Sumi Date: Fri, 11 Apr 2025 13:48:40 +1000 Subject: [PATCH] compartmentalised crafting recipes --- crafting_mcl.lua | 28 ++++++++++++++++++ crafting_mtg.lua | 29 ++++++++++++++++++ crafting_rp.lua | 23 +++++++++++++++ crafts.lua | 76 +++++++----------------------------------------- 4 files changed, 90 insertions(+), 66 deletions(-) create mode 100644 crafting_mcl.lua create mode 100644 crafting_mtg.lua create mode 100644 crafting_rp.lua diff --git a/crafting_mcl.lua b/crafting_mcl.lua new file mode 100644 index 0000000..3df41b4 --- /dev/null +++ b/crafting_mcl.lua @@ -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,}, + }, +}) \ No newline at end of file diff --git a/crafting_mtg.lua b/crafting_mtg.lua new file mode 100644 index 0000000..2661801 --- /dev/null +++ b/crafting_mtg.lua @@ -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,}, + }, +}) \ No newline at end of file diff --git a/crafting_rp.lua b/crafting_rp.lua new file mode 100644 index 0000000..04b607a --- /dev/null +++ b/crafting_rp.lua @@ -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", + } +}) \ No newline at end of file diff --git a/crafts.lua b/crafts.lua index 669fc7c..f17d4ce 100644 --- a/crafts.lua +++ b/crafts.lua @@ -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 \ No newline at end of file