1
0
mirror of https://github.com/mt-mods/basic_materials.git synced 2025-06-29 06:30:38 +02:00

11 Commits

Author SHA1 Message Date
e4b766cd5c formatting fixes 2022-03-02 16:56:03 +11:00
f7039e09f3 Merge branch 'master' into hades 2022-03-02 16:33:13 +11:00
aa60caa261 Better compatibility with Hades Revisited. (#11)
* add hades revisted crafts and update sound api for sounds (#10)

* add hades revisted crafts and update sound api for sounds

* fix https://github.com/mt-mods/basic_materials/issues/9

* fix https://github.com/mt-mods/basic_materials/issues/9 part 2

* Add hades_bucket to crafts. Fix some bugs.

* Fix dependencies and recipes. Disable silicon if hades_materials is aviable.

* Remove unused dependence.

* Clear original recipe for palstic base from hades_materials. Prevent dual plastic cook recipe.

* Use register_alias_force.

* Fix spaces vs tabs.

Co-authored-by: wsor4035 <24964441+wsor4035@users.noreply.github.com>
2022-03-01 19:03:35 -05:00
1f8085b8c3 fix https://github.com/mt-mods/basic_materials/issues/9 part 2 2022-02-27 18:37:28 -05:00
39d822252e fix https://github.com/mt-mods/basic_materials/issues/9 2022-02-27 17:45:47 -05:00
dfb7beb8b7 add hades revisted crafts and update sound api for sounds (#10)
* add hades revisted crafts and update sound api for sounds
2022-02-27 17:43:13 -05:00
0837b7d766 refactor if statment 2022-02-27 11:30:27 -05:00
6e41b10e5f add missing optional dep 2022-02-27 11:28:43 -05:00
d14a1b4e52 if statement bugfix 2022-02-27 11:27:49 -05:00
29ade1253a add hades revisted crafts and update sound api for sounds 2022-02-27 11:24:35 -05:00
727b5999dc add more game crafts (#8)
* add support for mineclon*s, farlands_reloaded crafts
2022-02-27 10:22:33 -05:00
4 changed files with 305 additions and 204 deletions

View File

@ -127,4 +127,11 @@ minetest.register_craftitem("basic_materials:gear_steel", {
minetest.register_craftitem("basic_materials:padlock", { minetest.register_craftitem("basic_materials:padlock", {
description = S("Padlock"), description = S("Padlock"),
inventory_image = "basic_materials_padlock.png" inventory_image = "basic_materials_padlock.png"
}) })
if minetest.get_modpath("hades_materials") then
minetest.register_alias_force("basic_materials:plastic_sheet", "hades_materials:plastic_sheeting")
minetest.register_alias_force("basic_materials:paraffin", "hades_materials:plastic_base")
minetest.register_alias_force("hades_extramaterials:silicon", "hades_materials:silicon")
end

View File

@ -1,15 +1,108 @@
--craft recipes local materials = {
dirt = "default:dirt",
sand = "default:sand",
gravel = "default:gravel",
copper_ingot = "default:copper_ingot",
steel_ingot = "default:steel_ingot",
gold_ingot = "default:gold_ingot",
tin_ingot = "default:tin_ingot",
mese_crystal_fragment = "default:mese_crystal_fragment",
torch = "default:torch",
diamond = "default:diamond",
clay_lump = "default:clay_lump",
water_bucket = "bucket:bucket_water",
empty_bucket = "bucket:bucket_empty",
dye_dark_grey = "dye:dark_grey",
silicon = "mesecons_materials:silicon",
}
if minetest.get_modpath("mcl_core") then
materials = {
dirt = "mcl_core:dirt",
sand = "mcl_core:sand",
gravel = "mcl_core:gravel",
steel_ingot = "mcl_core:iron_ingot",
gold_ingot = "mcl_core:gold_ingot",
mese_crystal_fragment = "mesecons:redstone",
torch = "mcl_torches:torch",
diamond = "mcl_core:diamond",
clay_lump = "mcl_core:clay_lump",
water_bucket = "mcl_buckets:bucket_water",
empty_bucket = "mcl_buckets:bucket_empty",
dye_dark_grey = "mcl_dye:dark_grey",
-- Use iron where no equivalent
copper_ingot = "mcl_core:iron_ingot",
tin_ingot = "mcl_core:iron_ingot",
silver_ingot = "mcl_core:iron_ingot",
silicon = "mesecons_materials:silicon",
}
elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
materials = {
dirt = "fl_topsoil:dirt",
sand = "fl_stone:sand",
gravel = "fl_topsoil:gravel",
steel_ingot = "fl_ores:iron_ingot",
gold_ingot = "fl_ores:gold_ingot",
mese_crystal_fragment = "fl_ores:iron_ingot",
torch = "fl_light_sources:torch",
diamond = "fl_ores:diamond",
clay_lump = "fl_bricks:clay_lump",
water_bucket = "fl_bucket:bucket_water",
empty_bucket = "fl_bucket:bucket",
dye_dark_grey = "fl_dyes:dark_grey_dye",
copper_ingot = "fl_ores:copper_ingot",
tin_ingot = "fl_ores:tin_ingot",
silver_ingot = "fl_ores:iron_ingot",
silicon = "mesecons_materials:silicon",
}
elseif minetest.get_modpath("hades_core") then
materials = {
dirt = "hades_core:dirt",
sand = "hades_core:fertile_sand",
gravel = "hades_core:gravel",
steel_ingot = "hades_core:steel_ingot",
gold_ingot = "hades_core:gold_ingot",
mese_crystal_fragment = "hades_core:mese_crystal_fragment",
torch = "hades_torches:torch",
diamond = "hades_core:diamond",
clay_lump = "hades_core:clay_lump",
dye_dark_grey = "dye:dark_grey",
copper_ingot = "hades_core:copper_ingot",
tin_ingot = "hades_core:tin_ingot",
--[[
Since hades doesnt have buckets or water for the user,
using dirt from near water to pull the water out
]]
water_bucket = "hades_core:dirt",
empty_bucket = "hades_core:fertile_sand",
-- Set this to steel unless hadesextraores is present
silver_ingot = "hades_core:steel_ingot",
silicon = "hades_materials:silicon",
}
if minetest.get_modpath("hades_bucket") then
materials["water_bucket"] = "hades_bucket:bucket_water"
materials["empty_bucket"] = "hades_bucket:bucket_empty"
end
if minetest.get_modpath("hades_extraores") then
materials["silver_ingot"] = "hades_extraores:silver_ingot"
end
end
local have_hades_materials = minetest.get_modpath("hades_materials")
-- Craft recipes
minetest.register_craft({ minetest.register_craft({
output = "basic_materials:chainlink_brass 12", output = "basic_materials:chainlink_brass 12",
recipe = { recipe = {
{"", "basic_materials:brass_ingot", "basic_materials:brass_ingot"}, {"", "basic_materials:brass_ingot", "basic_materials:brass_ingot"},
{ "basic_materials:brass_ingot", "", "basic_materials:brass_ingot" }, {"basic_materials:brass_ingot", "", "basic_materials:brass_ingot"},
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "" }, {"basic_materials:brass_ingot", "basic_materials:brass_ingot", ""},
}, },
}) })
minetest.register_craft({ minetest.register_craft({
output = 'basic_materials:chain_steel 2', output = "basic_materials:chain_steel 2",
recipe = { recipe = {
{"basic_materials:chainlink_steel"}, {"basic_materials:chainlink_steel"},
{"basic_materials:chainlink_steel"}, {"basic_materials:chainlink_steel"},
@ -18,7 +111,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'basic_materials:chain_brass 2', output = "basic_materials:chain_brass 2",
recipe = { recipe = {
{"basic_materials:chainlink_brass"}, {"basic_materials:chainlink_brass"},
{"basic_materials:chainlink_brass"}, {"basic_materials:chainlink_brass"},
@ -29,46 +122,55 @@ minetest.register_craft({
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "basic_materials:brass_ingot 9", output = "basic_materials:brass_ingot 9",
recipe = { "basic_materials:brass_block" }, recipe = {"basic_materials:brass_block"},
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:brass_block", output = "basic_materials:brass_block",
recipe = { recipe = {
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, {"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"},
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, {"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"},
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }, {"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"},
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:plastic_strip 9", output = "basic_materials:plastic_strip 9",
recipe = { recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } {"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:empty_spool 3", output = "basic_materials:empty_spool 3",
recipe = { recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }, {"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"},
{ "", "basic_materials:plastic_sheet", "" }, {"", "basic_materials:plastic_sheet", ""},
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" } {"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}
}, },
}) })
if have_hades_materials then
minetest.clear_craft({
type = "shapeless",
recipe = {"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves"}
})
end
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "basic_materials:oil_extract 2", output = "basic_materials:oil_extract 2",
recipe = {"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves"} recipe = {"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves"}
}) })
--cooking recipes -- Cooking recipes
minetest.register_craft({ if not have_hades_materials then
minetest.register_craft({
type = "cooking", type = "cooking",
output = "basic_materials:plastic_sheet", output = "basic_materials:plastic_sheet",
recipe = "basic_materials:paraffin", recipe = "basic_materials:paraffin",
}) })
end
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
@ -83,7 +185,7 @@ minetest.register_craft({
cooktime = 8 cooktime = 8
}) })
--fuel recipes -- Fuel recipes
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "basic_materials:plastic_sheet", recipe = "basic_materials:plastic_sheet",
@ -102,202 +204,194 @@ minetest.register_craft({
burntime = 30, burntime = 30,
}) })
if minetest.get_modpath("default") then minetest.register_craft({
minetest.register_craft({ output = "basic_materials:concrete_block 6",
output = 'basic_materials:concrete_block 6', recipe = {
recipe = { {"group:sand", "basic_materials:wet_cement", materials.gravel},
{'group:sand', 'basic_materials:wet_cement', 'default:gravel'}, {"basic_materials:steel_bar", "basic_materials:wet_cement", "basic_materials:steel_bar"},
{'basic_materials:steel_bar', 'basic_materials:wet_cement', 'basic_materials:steel_bar'}, {materials.gravel, "basic_materials:wet_cement", "group:sand"},
{'default:gravel', 'basic_materials:wet_cement', 'group:sand'}, }
} })
})
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:motor 2", output = "basic_materials:motor 2",
recipe = { recipe = {
{ "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" }, {materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet"},
{ "default:copper_ingot", "default:steel_ingot", "default:steel_ingot" }, {materials.copper_ingot, materials.steel_ingot, materials.steel_ingot},
{ "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" } {materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet"}
}, },
replacements = { replacements = {
{ "basic_materials:copper_wire", "basic_materials:empty_spool" }, {"basic_materials:copper_wire", "basic_materials:empty_spool"},
{ "basic_materials:copper_wire", "basic_materials:empty_spool" }, {"basic_materials:copper_wire", "basic_materials:empty_spool"},
} }
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:heating_element 2", output = "basic_materials:heating_element 2",
recipe = { recipe = {
{ "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" } {materials.copper_ingot, materials.mese_crystal_fragment, materials.copper_ingot}
}, },
}) })
minetest.register_craft({ minetest.register_craft({
--type = "shapeless", --type = "shapeless",
output = "basic_materials:energy_crystal_simple 2", output = "basic_materials:energy_crystal_simple 2",
recipe = { recipe = {
{ "default:mese_crystal_fragment", "default:torch", "default:mese_crystal_fragment" }, {materials.mese_crystal_fragment, materials.torch, materials.mese_crystal_fragment},
{ "default:diamond", "default:gold_ingot", "default:diamond" } {materials.diamond, materials.gold_ingot, materials.diamond}
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:copper_wire 2", output = "basic_materials:copper_wire 2",
type = "shapeless", type = "shapeless",
recipe = { recipe = {
"default:copper_ingot", materials.copper_ingot,
"basic_materials:empty_spool", "basic_materials:empty_spool",
"basic_materials:empty_spool", "basic_materials:empty_spool",
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:gold_wire 2", output = "basic_materials:gold_wire 2",
type = "shapeless", type = "shapeless",
recipe = { recipe = {
"default:gold_ingot", materials.gold_ingot,
"basic_materials:empty_spool", "basic_materials:empty_spool",
"basic_materials:empty_spool", "basic_materials:empty_spool",
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:steel_wire 2", output = "basic_materials:steel_wire 2",
type = "shapeless", type = "shapeless",
recipe = { recipe = {
"default:steel_ingot", materials.steel_ingot,
"basic_materials:empty_spool", "basic_materials:empty_spool",
"basic_materials:empty_spool", "basic_materials:empty_spool",
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:steel_strip 12", output = "basic_materials:steel_strip 12",
recipe = { recipe = {
{ "", "default:steel_ingot", "" }, {"", materials.steel_ingot, ""},
{ "default:steel_ingot", "", "" }, {materials.steel_ingot, "", ""},
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:copper_strip 12", output = "basic_materials:copper_strip 12",
recipe = { recipe = {
{ "", "default:copper_ingot", "" }, {"", materials.copper_ingot, ""},
{ "default:copper_ingot", "", "" }, {materials.copper_ingot, "", ""},
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:steel_bar 6", output = "basic_materials:steel_bar 6",
recipe = { recipe = {
{ "", "", "default:steel_ingot" }, {"", "", materials.steel_ingot},
{ "", "default:steel_ingot", "" }, {"", materials.steel_ingot, ""},
{ "default:steel_ingot", "", "" }, {materials.steel_ingot, "", ""},
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:padlock 2", output = "basic_materials:padlock 2",
recipe = { recipe = {
{ "basic_materials:steel_bar" }, {"basic_materials:steel_bar"},
{ "default:steel_ingot" }, {materials.steel_ingot},
{ "default:steel_ingot" }, {materials.steel_ingot},
}, },
}) })
minetest.register_craft({ minetest.register_craft({
output = "basic_materials:chainlink_steel 12", output = "basic_materials:chainlink_steel 12",
recipe = { recipe = {
{"", "default:steel_ingot", "default:steel_ingot"}, {"", materials.steel_ingot, materials.steel_ingot},
{ "default:steel_ingot", "", "default:steel_ingot" }, {materials.steel_ingot, "", materials.steel_ingot},
{ "default:steel_ingot", "default:steel_ingot", "" }, {materials.steel_ingot, materials.steel_ingot, ""},
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:gear_steel 6", output = "basic_materials:gear_steel 6",
recipe = { recipe = {
{ "", "default:steel_ingot", "" }, {"", materials.steel_ingot, ""},
{ "default:steel_ingot","basic_materials:chainlink_steel", "default:steel_ingot" }, {materials.steel_ingot,"basic_materials:chainlink_steel", materials.steel_ingot},
{ "", "default:steel_ingot", "" } {"", materials.steel_ingot, ""}
}, },
}) })
if minetest.get_modpath("bucket") then minetest.register_craft( {
minetest.register_craft( { type = "shapeless",
type = "shapeless", output = "basic_materials:terracotta_base 8",
output = "basic_materials:terracotta_base 8", recipe = {
recipe = { materials.water_bucket,
"bucket:bucket_water", materials.clay_lump,
"default:clay_lump", materials.gravel,
"default:gravel", },
}, replacements = {{materials.water_bucket, materials.empty_bucket}},
replacements = { {"bucket:bucket_water", "bucket:bucket_empty"}, }, })
})
if minetest.get_modpath("dye") then minetest.register_craft({
minetest.register_craft({ type = "shapeless",
type = "shapeless", output = "basic_materials:wet_cement 3",
output = "basic_materials:wet_cement 3", recipe = {
recipe = { materials.dirt,
"default:dirt", materials.dye_dark_grey,
"dye:dark_grey", materials.dye_dark_grey,
"dye:dark_grey", materials.dye_dark_grey,
"dye:dark_grey", materials.water_bucket
"bucket:bucket_water" },
}, replacements = {{materials.water_bucket, materials.empty_bucket}},
replacements = {{'bucket:bucket_water', 'bucket:bucket_empty'},}, })
})
end
end
if minetest.get_modpath("mesecons_materials") then if not have_hades_materials then
minetest.register_craft( { minetest.register_craft( {
output = "mesecons_materials:silicon 4", output = materials.silicon.." 4",
recipe = { recipe = {
{ "default:sand", "default:sand" }, {materials.sand, materials.sand},
{ "default:sand", "default:steel_ingot" }, {materials.sand, materials.steel_ingot},
}, },
}) })
end
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:ic 4", output = "basic_materials:ic 4",
recipe = { recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" }, {materials.silicon, materials.silicon},
{ "mesecons_materials:silicon", "default:copper_ingot" }, {materials.silicon, materials.copper_ingot},
}, },
}) })
end
if not minetest.get_modpath("moreores") then -- Without moreores, there still should be a way to create brass.
-- Without moreores, there still should be a way to create brass. minetest.register_craft( {
minetest.register_craft( { output = "basic_materials:brass_ingot 9",
output = "basic_materials:brass_ingot 9", recipe = {
recipe = { {materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, {materials.gold_ingot, materials.copper_ingot, materials.tin_ingot},
{"default:gold_ingot", "default:copper_ingot", "default:gold_ingot"}, {materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, },
}, })
})
elseif minetest.get_modpath("moreores") then
minetest.register_craft( {
output = "basic_materials:silver_wire 2",
type = "shapeless",
recipe = {
"moreores:silver_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", output = "basic_materials:silver_wire 2",
output = "basic_materials:brass_ingot 3", type = "shapeless",
recipe = { recipe = {
"default:copper_ingot", materials.silver_ingot,
"default:copper_ingot", "basic_materials:empty_spool",
"moreores:silver_ingot", "basic_materials:empty_spool",
}, },
}) })
end
end minetest.register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 3",
recipe = {
materials.copper_ingot,
materials.copper_ingot,
materials.silver_ingot,
},
})

View File

@ -1,3 +1,3 @@
name = basic_materials name = basic_materials
optional_depends = moreores, default, mesecons_materials, dye, bucket, fl_stone, fl_trees, mcl_sounds optional_depends = moreores, default, mesecons_materials, dye, bucket, fl_stone, fl_trees, mcl_sounds, hades_sounds, hades_materials, hades_bucket, hades_extraores
min_minetest_version = 5.2.0 min_minetest_version = 5.2.0