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>
This commit is contained in:
sfence 2022-03-02 01:03:35 +01:00 committed by GitHub
parent 0837b7d766
commit aa60caa261
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 245 additions and 220 deletions

@ -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

@ -1,86 +1,96 @@
local materials = { local materials = {
dirt = "default:dirt", dirt = "default:dirt",
sand = "default:sand", sand = "default:sand",
gravel = "default:gravel", gravel = "default:gravel",
copper_ingot = "default:copper_ingot", copper_ingot = "default:copper_ingot",
steel_ingot = "default:steel_ingot", steel_ingot = "default:steel_ingot",
gold_ingot = "default:gold_ingot", gold_ingot = "default:gold_ingot",
tin_ingot = "default:tin_ingot", tin_ingot = "default:tin_ingot",
mese_crystal_fragment = "default:mese_crystal_fragment", mese_crystal_fragment = "default:mese_crystal_fragment",
torch = "default:torch", torch = "default:torch",
diamond = "default:diamond", diamond = "default:diamond",
clay_lump = "default:clay_lump", clay_lump = "default:clay_lump",
water_bucket = "bucket:bucket_water", water_bucket = "bucket:bucket_water",
empty_bucket = "bucket:bucket_empty", empty_bucket = "bucket:bucket_empty",
dye_dark_grey = "dye:dark_grey", dye_dark_grey = "dye:dark_grey",
silicon = "mesecons_materials:silicon",
} }
if minetest.get_modpath("mcl_core") then if minetest.get_modpath("mcl_core") then
materials = { materials = {
dirt = "mcl_core:dirt", dirt = "mcl_core:dirt",
sand = "mcl_core:sand", sand = "mcl_core:sand",
gravel = "mcl_core:gravel", gravel = "mcl_core:gravel",
steel_ingot = "mcl_core:iron_ingot", steel_ingot = "mcl_core:iron_ingot",
gold_ingot = "mcl_core:gold_ingot", gold_ingot = "mcl_core:gold_ingot",
mese_crystal_fragment = "mesecons:redstone", mese_crystal_fragment = "mesecons:redstone",
torch = "mcl_torches:torch", torch = "mcl_torches:torch",
diamond = "mcl_core:diamond", diamond = "mcl_core:diamond",
clay_lump = "mcl_core:clay_lump", clay_lump = "mcl_core:clay_lump",
water_bucket = "mcl_buckets:bucket_water", water_bucket = "mcl_buckets:bucket_water",
empty_bucket = "mcl_buckets:bucket_empty", empty_bucket = "mcl_buckets:bucket_empty",
dye_dark_grey = "mcl_dye:dark_grey", dye_dark_grey = "mcl_dye:dark_grey",
--use iron where no equivalent --use iron where no equivalent
copper_ingot = "mcl_core:iron_ingot", copper_ingot = "mcl_core:iron_ingot",
tin_ingot = "mcl_core:iron_ingot", tin_ingot = "mcl_core:iron_ingot",
silver_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 elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
materials = { materials = {
dirt = "fl_topsoil:dirt", dirt = "fl_topsoil:dirt",
sand = "fl_stone:sand", sand = "fl_stone:sand",
gravel = "fl_topsoil:gravel", gravel = "fl_topsoil:gravel",
steel_ingot = "fl_ores:iron_ingot", steel_ingot = "fl_ores:iron_ingot",
gold_ingot = "fl_ores:gold_ingot", gold_ingot = "fl_ores:gold_ingot",
mese_crystal_fragment = "fl_ores:iron_ingot", mese_crystal_fragment = "fl_ores:iron_ingot",
torch = "fl_light_sources:torch", torch = "fl_light_sources:torch",
diamond = "fl_ores:diamond", diamond = "fl_ores:diamond",
clay_lump = "fl_bricks:clay_lump", clay_lump = "fl_bricks:clay_lump",
water_bucket = "fl_bucket:bucket_water", water_bucket = "fl_bucket:bucket_water",
empty_bucket = "fl_bucket:bucket", empty_bucket = "fl_bucket:bucket",
dye_dark_grey = "fl_dyes:dark_grey_dye", dye_dark_grey = "fl_dyes:dark_grey_dye",
copper_ingot = "fl_ores:copper_ingot", copper_ingot = "fl_ores:copper_ingot",
tin_ingot = "fl_ores:tin_ingot", tin_ingot = "fl_ores:tin_ingot",
silver_ingot = "fl_ores:iron_ingot", silver_ingot = "fl_ores:iron_ingot",
} silicon = "mesecons_materials:silicon",
}
elseif minetest.get_modpath("hades_core") then elseif minetest.get_modpath("hades_core") then
materials = { materials = {
dirt = "fl_topsoil:dirt", dirt = "hades_core:dirt",
sand = "hades_core:fertile_sand", sand = "hades_core:fertile_sand",
gravel = "hades_core:gravel", gravel = "hades_core:gravel",
steel_ingot = "hades_core:steel_ingot", steel_ingot = "hades_core:steel_ingot",
gold_ingot = "hades_core:gold_ingot", gold_ingot = "hades_core:gold_ingot",
mese_crystal_fragment = "hades_core:mese_crystal_fragment", mese_crystal_fragment = "hades_core:mese_crystal_fragment",
torch = "hades_torches:torch", torch = "hades_torches:torch",
diamond = "hades_core:diamond", diamond = "hades_core:diamond",
clay_lump = "hades_core:clay_lump", clay_lump = "hades_core:clay_lump",
dye_dark_grey = "dye:dark_grey_dye", dye_dark_grey = "dye:dark_grey",
copper_ingot = "hades_core:copper_ingot", copper_ingot = "hades_core:copper_ingot",
tin_ingot = "hades_core:tin_ingot", tin_ingot = "hades_core:tin_ingot",
--[[ --[[
since hades doesnt have buckets or water for the user, since hades doesnt have buckets or water for the user,
using dirt from near water to pull the water out using dirt from near water to pull the water out
]] ]]
water_bucket = "hades_core:fertile_sand", water_bucket = "hades_core:dirt",
empty_bucket = "hades_core:dirt", empty_bucket = "hades_core:fertile_sand",
--set this to steel unless hadesextraores is present --set this to steel unless hadesextraores is present
silver_ingot = "hades_core:steel_ingot", silver_ingot = "hades_core:steel_ingot",
} silicon = "hades_materials:silicon",
}
if minetest.get_modpath("hades_extraores") then if minetest.get_modpath("hades_bucket") then
materials["silver_ingot"] = "hades_extraores:silver_ingot" materials["water_bucket"] = "hades_bucket:bucket_water"
end materials["empty_bucket"] = "hades_bucket:bucket_empty"
end
if minetest.get_modpath("hades_extraores") then
materials["silver_ingot"] = "hades_extraores:silver_ingot"
end
end end
local have_hades_materials = minetest.get_modpath("hades_materials")
--craft recipes --craft recipes
minetest.register_craft({ minetest.register_craft({
output = "basic_materials:chainlink_brass 12", output = "basic_materials:chainlink_brass 12",
@ -125,10 +135,10 @@ minetest.register_craft( {
}) })
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( {
@ -140,6 +150,13 @@ minetest.register_craft( {
}, },
}) })
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",
@ -147,11 +164,13 @@ minetest.register_craft({
}) })
--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",
@ -186,194 +205,193 @@ minetest.register_craft({
}) })
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', materials.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'}, {materials.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 = {
{ materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet" }, { materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
{ materials.copper_ingot, materials.steel_ingot, materials.steel_ingot }, { materials.copper_ingot, materials.steel_ingot, materials.steel_ingot },
{ materials.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 = {
{ materials.copper_ingot, materials.mese_crystal_fragment, materials.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 = {
{ materials.mese_crystal_fragment, materials.torch, materials.mese_crystal_fragment }, { materials.mese_crystal_fragment, materials.torch, materials.mese_crystal_fragment },
{ materials.diamond, materials.gold_ingot, materials.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 = {
materials.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 = {
materials.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 = {
materials.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 = {
{ "", materials.steel_ingot, "" }, { "", materials.steel_ingot, "" },
{ materials.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 = {
{ "", materials.copper_ingot, "" }, { "", materials.copper_ingot, "" },
{ materials.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 = {
{ "", "", materials.steel_ingot }, { "", "", materials.steel_ingot },
{ "", materials.steel_ingot, "" }, { "", materials.steel_ingot, "" },
{ materials.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" },
{ materials.steel_ingot }, { materials.steel_ingot },
{ materials.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 = {
{"", materials.steel_ingot, materials.steel_ingot}, {"", materials.steel_ingot, materials.steel_ingot},
{ materials.steel_ingot, "", materials.steel_ingot }, { materials.steel_ingot, "", materials.steel_ingot },
{ materials.steel_ingot, materials.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 = {
{ "", materials.steel_ingot, "" }, { "", materials.steel_ingot, "" },
{ materials.steel_ingot,"basic_materials:chainlink_steel", materials.steel_ingot }, { materials.steel_ingot,"basic_materials:chainlink_steel", materials.steel_ingot },
{ "", materials.steel_ingot, "" } { "", materials.steel_ingot, "" }
}, },
}) })
--i3 does has issues in its craft override with replacements minetest.register_craft( {
if not minetest.get_modpath("i3") then type = "shapeless",
minetest.register_craft( { output = "basic_materials:terracotta_base 8",
type = "shapeless", recipe = {
output = "basic_materials:terracotta_base 8", materials.water_bucket,
recipe = { materials.clay_lump,
materials.bucket_water, materials.gravel,
materials.clay_lump, },
materials.gravel, replacements = {{materials.water_bucket, materials.empty_bucket}},
}, })
replacements = {{materials.bucket_water, materials.bucket_empty}},
})
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, materials.dirt,
materials.dark_grey, materials.dye_dark_grey,
materials.dark_grey, materials.dye_dark_grey,
materials.dark_grey, materials.dye_dark_grey,
materials.bucket_water materials.water_bucket
}, },
replacements = {{materials.bucket_water, materials.bucket_empty}}, replacements = {{materials.water_bucket, materials.empty_bucket}},
}) })
if not have_hades_materials then
minetest.register_craft( {
output = materials.silicon.." 4",
recipe = {
{ materials.sand, materials.sand },
{ materials.sand, materials.steel_ingot },
},
})
end end
minetest.register_craft( { minetest.register_craft( {
output = "mesecons_materials:silicon 4", output = "basic_materials:ic 4",
recipe = { recipe = {
{ materials.sand, materials.sand }, { materials.silicon, materials.silicon },
{ materials.sand, materials.steel_ingot }, { materials.silicon, materials.copper_ingot },
}, },
})
minetest.register_craft( {
output = "basic_materials:ic 4",
recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" },
{ "mesecons_materials:silicon", materials.copper_ingot },
},
}) })
-- 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}, {materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
{materials.gold_ingot, materials.copper_ingot, materials.tin_ingot}, {materials.gold_ingot, materials.copper_ingot, materials.tin_ingot},
{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot}, {materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
output = "basic_materials:silver_wire 2", output = "basic_materials:silver_wire 2",
type = "shapeless", type = "shapeless",
recipe = { recipe = {
"moreores:silver_ingot", materials.silver_ingot,
"basic_materials:empty_spool", "basic_materials:empty_spool",
"basic_materials:empty_spool", "basic_materials:empty_spool",
}, },
}) })
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "basic_materials:brass_ingot 3", output = "basic_materials:brass_ingot 3",
recipe = { recipe = {
materials.copper_ingot, materials.copper_ingot,
materials.copper_ingot, materials.copper_ingot,
materials.silver_ingot, materials.silver_ingot,
}, },
}) })

@ -1,3 +1,3 @@
name = basic_materials name = basic_materials
optional_depends = moreores, default, mesecons_materials, dye, bucket, fl_stone, fl_trees, mcl_sounds, hades_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