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

View File

@ -127,4 +127,11 @@ minetest.register_craftitem("basic_materials:gear_steel", {
minetest.register_craftitem("basic_materials:padlock", {
description = S("Padlock"),
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,86 +1,96 @@
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",
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",
}
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",
}
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 = "fl_topsoil: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_dye",
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:fertile_sand",
empty_bucket = "hades_core:dirt",
--set this to steel unless hadesextraores is present
silver_ingot = "hades_core:steel_ingot",
}
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_extraores") then
materials["silver_ingot"] = "hades_extraores:silver_ingot"
end
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({
output = "basic_materials:chainlink_brass 12",
@ -125,10 +135,10 @@ minetest.register_craft( {
})
minetest.register_craft( {
output = "basic_materials:plastic_strip 9",
recipe = {
output = "basic_materials:plastic_strip 9",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
},
},
})
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({
type = "shapeless",
output = "basic_materials:oil_extract 2",
@ -147,11 +164,13 @@ minetest.register_craft({
})
--cooking recipes
minetest.register_craft({
if not have_hades_materials then
minetest.register_craft({
type = "cooking",
output = "basic_materials:plastic_sheet",
recipe = "basic_materials:paraffin",
})
})
end
minetest.register_craft({
type = "cooking",
@ -186,194 +205,193 @@ minetest.register_craft({
})
minetest.register_craft({
output = 'basic_materials:concrete_block 6',
recipe = {
{'group:sand', 'basic_materials:wet_cement', materials.gravel},
{'basic_materials:steel_bar', 'basic_materials:wet_cement', 'basic_materials:steel_bar'},
{materials.gravel, 'basic_materials:wet_cement', 'group:sand'},
}
output = 'basic_materials:concrete_block 6',
recipe = {
{'group:sand', 'basic_materials:wet_cement', materials.gravel},
{'basic_materials:steel_bar', 'basic_materials:wet_cement', 'basic_materials:steel_bar'},
{materials.gravel, 'basic_materials:wet_cement', 'group:sand'},
}
})
minetest.register_craft( {
output = "basic_materials:motor 2",
recipe = {
{ materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
{ materials.copper_ingot, materials.steel_ingot, materials.steel_ingot },
{ materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet" }
},
replacements = {
{ "basic_materials:copper_wire", "basic_materials:empty_spool" },
{ "basic_materials:copper_wire", "basic_materials:empty_spool" },
}
output = "basic_materials:motor 2",
recipe = {
{ materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
{ materials.copper_ingot, materials.steel_ingot, materials.steel_ingot },
{ materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet" }
},
replacements = {
{ "basic_materials:copper_wire", "basic_materials:empty_spool" },
{ "basic_materials:copper_wire", "basic_materials:empty_spool" },
}
})
minetest.register_craft( {
output = "basic_materials:heating_element 2",
recipe = {
{ materials.copper_ingot, materials.mese_crystal_fragment, materials.copper_ingot }
},
output = "basic_materials:heating_element 2",
recipe = {
{ materials.copper_ingot, materials.mese_crystal_fragment, materials.copper_ingot }
},
})
minetest.register_craft({
--type = "shapeless",
output = "basic_materials:energy_crystal_simple 2",
recipe = {
{ materials.mese_crystal_fragment, materials.torch, materials.mese_crystal_fragment },
{ materials.diamond, materials.gold_ingot, materials.diamond }
},
--type = "shapeless",
output = "basic_materials:energy_crystal_simple 2",
recipe = {
{ materials.mese_crystal_fragment, materials.torch, materials.mese_crystal_fragment },
{ materials.diamond, materials.gold_ingot, materials.diamond }
},
})
minetest.register_craft( {
output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = {
materials.copper_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = {
materials.copper_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:gold_wire 2",
type = "shapeless",
recipe = {
materials.gold_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
output = "basic_materials:gold_wire 2",
type = "shapeless",
recipe = {
materials.gold_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
materials.steel_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
materials.steel_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_strip 12",
recipe = {
{ "", materials.steel_ingot, "" },
{ materials.steel_ingot, "", "" },
},
output = "basic_materials:steel_strip 12",
recipe = {
{ "", materials.steel_ingot, "" },
{ materials.steel_ingot, "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:copper_strip 12",
recipe = {
{ "", materials.copper_ingot, "" },
{ materials.copper_ingot, "", "" },
},
output = "basic_materials:copper_strip 12",
recipe = {
{ "", materials.copper_ingot, "" },
{ materials.copper_ingot, "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:steel_bar 6",
recipe = {
{ "", "", materials.steel_ingot },
{ "", materials.steel_ingot, "" },
{ materials.steel_ingot, "", "" },
},
output = "basic_materials:steel_bar 6",
recipe = {
{ "", "", materials.steel_ingot },
{ "", materials.steel_ingot, "" },
{ materials.steel_ingot, "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:padlock 2",
recipe = {
{ "basic_materials:steel_bar" },
{ materials.steel_ingot },
{ materials.steel_ingot },
},
output = "basic_materials:padlock 2",
recipe = {
{ "basic_materials:steel_bar" },
{ materials.steel_ingot },
{ materials.steel_ingot },
},
})
minetest.register_craft({
output = "basic_materials:chainlink_steel 12",
recipe = {
{"", materials.steel_ingot, materials.steel_ingot},
{ materials.steel_ingot, "", materials.steel_ingot },
{ materials.steel_ingot, materials.steel_ingot, "" },
},
output = "basic_materials:chainlink_steel 12",
recipe = {
{"", materials.steel_ingot, materials.steel_ingot},
{ materials.steel_ingot, "", materials.steel_ingot },
{ materials.steel_ingot, materials.steel_ingot, "" },
},
})
minetest.register_craft( {
output = "basic_materials:gear_steel 6",
recipe = {
{ "", materials.steel_ingot, "" },
{ materials.steel_ingot,"basic_materials:chainlink_steel", materials.steel_ingot },
{ "", materials.steel_ingot, "" }
},
output = "basic_materials:gear_steel 6",
recipe = {
{ "", materials.steel_ingot, "" },
{ materials.steel_ingot,"basic_materials:chainlink_steel", materials.steel_ingot },
{ "", materials.steel_ingot, "" }
},
})
--i3 does has issues in its craft override with replacements
if not minetest.get_modpath("i3") then
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:terracotta_base 8",
recipe = {
materials.bucket_water,
materials.clay_lump,
materials.gravel,
},
replacements = {{materials.bucket_water, materials.bucket_empty}},
})
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:terracotta_base 8",
recipe = {
materials.water_bucket,
materials.clay_lump,
materials.gravel,
},
replacements = {{materials.water_bucket, materials.empty_bucket}},
})
minetest.register_craft({
type = "shapeless",
output = "basic_materials:wet_cement 3",
recipe = {
materials.dirt,
materials.dark_grey,
materials.dark_grey,
materials.dark_grey,
materials.bucket_water
},
replacements = {{materials.bucket_water, materials.bucket_empty}},
})
minetest.register_craft({
type = "shapeless",
output = "basic_materials:wet_cement 3",
recipe = {
materials.dirt,
materials.dye_dark_grey,
materials.dye_dark_grey,
materials.dye_dark_grey,
materials.water_bucket
},
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
minetest.register_craft( {
output = "mesecons_materials:silicon 4",
recipe = {
{ materials.sand, materials.sand },
{ materials.sand, materials.steel_ingot },
},
})
minetest.register_craft( {
output = "basic_materials:ic 4",
recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" },
{ "mesecons_materials:silicon", materials.copper_ingot },
},
output = "basic_materials:ic 4",
recipe = {
{ materials.silicon, materials.silicon },
{ materials.silicon, materials.copper_ingot },
},
})
-- Without moreores, there still should be a way to create brass.
minetest.register_craft( {
output = "basic_materials:brass_ingot 9",
recipe = {
{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
{materials.gold_ingot, materials.copper_ingot, materials.tin_ingot},
{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
},
output = "basic_materials:brass_ingot 9",
recipe = {
{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
{materials.gold_ingot, materials.copper_ingot, materials.tin_ingot},
{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
},
})
minetest.register_craft( {
output = "basic_materials:silver_wire 2",
type = "shapeless",
recipe = {
"moreores:silver_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
output = "basic_materials:silver_wire 2",
type = "shapeless",
recipe = {
materials.silver_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 3",
recipe = {
materials.copper_ingot,
materials.copper_ingot,
materials.silver_ingot,
},
})
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
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