remove dep on default and make game agnostic

This commit is contained in:
unknown 2022-01-25 21:08:32 -05:00
parent 8b681d9755
commit 3a79e10da7
9 changed files with 293 additions and 337 deletions

3
.gitmodules vendored Normal file

@ -0,0 +1,3 @@
[submodule "sound_api_core"]
path = sound_api_core
url = https://github.com/mt-mods/sound_api_core.git

@ -1,30 +1,7 @@
std = "lua51+minetest"
unused_args = false
allow_defined_top = true
max_line_length = 999
stds.minetest = {
read_globals = {
"DIR_DELIM",
"minetest",
"core",
"dump",
"vector",
"nodeupdate",
"VoxelManip",
"VoxelArea",
"PseudoRandom",
"ItemStack",
"default",
table = {
fields = {
"copy",
},
},
}
globals = {
"minetest", "basic_materials",
}
read_globals = {
"default",
"moreores",
}

@ -1,9 +1,6 @@
minetest.register_alias("homedecor:plastic_sheeting", "basic_materials:plastic_sheet")
minetest.register_alias("homedecor:plastic_strips", "basic_materials:plastic_strip")
minetest.register_alias("homedecor:empty_spool", "basic_materials:empty_spool")
minetest.register_alias("homedecor:oil_extract", "basic_materials:oil_extract")
minetest.register_alias("homedecor:paraffin", "basic_materials:paraffin")
minetest.register_alias("homedecor:plastic_base", "basic_materials:paraffin")
@ -11,15 +8,11 @@ minetest.register_alias("homedecor:terracotta_base", "basic_materials:terracott
minetest.register_alias("gloopblocks:wet_cement", "basic_materials:wet_cement")
minetest.register_alias("gloopblocks:cement", "basic_materials:cement_block")
minetest.register_alias("technic:concrete", "basic_materials:concrete_block")
minetest.register_alias("homedecor:ic", "basic_materials:ic")
minetest.register_alias("homedecor:motor", "basic_materials:motor")
minetest.register_alias("technic:motor", "basic_materials:motor")
minetest.register_alias("homedecor:heating_element", "basic_materials:heating_element")
minetest.register_alias("homedecor:power_crystal", "basic_materials:energy_crystal_simple")
minetest.register_alias_force("mesecons_materials:silicon", "basic_materials:silicon")
minetest.register_alias("homedecor:copper_wire", "basic_materials:copper_wire")
minetest.register_alias("technic:fine_copper_wire", "basic_materials:copper_wire")
minetest.register_alias("technic:fine_silver_wire", "basic_materials:silver_wire")
@ -30,10 +23,12 @@ minetest.register_alias("technic:brass_ingot", "basic_materials:bras
minetest.register_alias("technic:brass_block", "basic_materials:brass_block")
minetest.register_alias("homedecor:copper_strip", "basic_materials:copper_strip")
minetest.register_alias("homedecor:steel_strip", "basic_materials:steel_strip")
minetest.register_alias_force("glooptest:chainlink", "basic_materials:chainlink_steel")
minetest.register_alias_force("homedecor:chainlink_steel", "basic_materials:chainlink_steel")
minetest.register_alias("homedecor:chainlink_brass", "basic_materials:chainlink_brass")
minetest.register_alias("chains:chain", "basic_materials:chain_steel")
minetest.register_alias("chains:chain_brass", "basic_materials:chain_brass")
minetest.register_alias("pipeworks:gear", "basic_materials:gear_steel")
minetest.register_alias("technic:rebar", "basic_materials:steel_bar")
minetest.register_alias_force("mesecons_materials:silicon", "basic_materials:silicon")
minetest.register_alias_force("glooptest:chainlink", "basic_materials:chainlink_steel")
minetest.register_alias_force("homedecor:chainlink_steel", "basic_materials:chainlink_steel")

@ -16,8 +16,6 @@ minetest.register_craftitem("basic_materials:empty_spool", {
inventory_image = "basic_materials_empty_spool.png"
})
minetest.register_craftitem("basic_materials:oil_extract", {
description = S("Oil extract"),
inventory_image = "basic_materials_oil_extract.png",
@ -38,8 +36,6 @@ minetest.register_craftitem("basic_materials:wet_cement", {
inventory_image = "basic_materials_wet_cement.png",
})
minetest.register_craftitem("basic_materials:silicon", {
description = S("Silicon lump"),
inventory_image = "basic_materials_silicon.png",
@ -65,9 +61,6 @@ minetest.register_craftitem("basic_materials:energy_crystal_simple", {
inventory_image = "basic_materials_energy_crystal.png",
})
minetest.register_craftitem("basic_materials:steel_wire", {
description = S("Spool of steel wire"),
groups = { wire = 1 },

@ -1,239 +1,4 @@
minetest.register_craft({
type = "cooking",
output = "basic_materials:plastic_sheet",
recipe = "basic_materials:paraffin",
})
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:plastic_sheet",
burntime = 30,
})
minetest.register_craft( {
output = "basic_materials:plastic_strip 9",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
},
})
minetest.register_craft( {
output = "basic_materials:empty_spool 3",
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" }
},
})
minetest.register_craft({
type = "shapeless",
output = "basic_materials:oil_extract 2",
recipe = {
"group:leaves",
"group:leaves",
"group:leaves",
"group:leaves",
"group:leaves",
"group:leaves"
}
})
minetest.register_craft({
type = "cooking",
output = "basic_materials:paraffin",
recipe = "basic_materials:oil_extract",
})
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:oil_extract",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:paraffin",
burntime = 30,
})
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:terracotta_base 8",
recipe = {
"bucket:bucket_water",
"default:clay_lump",
"default:gravel",
},
replacements = { {"bucket:bucket_water", "bucket:bucket_empty"}, },
})
minetest.register_craft({
type = "shapeless",
output = "basic_materials:wet_cement 3",
recipe = {
"default:dirt",
"dye:dark_grey",
"dye:dark_grey",
"dye:dark_grey",
"bucket:bucket_water"
},
replacements = {{'bucket:bucket_water', 'bucket:bucket_empty'},},
})
minetest.register_craft({
type = "cooking",
output = "basic_materials:cement_block",
recipe = "basic_materials:wet_cement",
cooktime = 8
})
minetest.register_craft({
output = 'basic_materials:concrete_block 6',
recipe = {
{'group:sand', 'basic_materials:wet_cement', 'default:gravel'},
{'basic_materials:steel_bar', 'basic_materials:wet_cement', 'basic_materials:steel_bar'},
{'default:gravel', 'basic_materials:wet_cement', 'group:sand'},
}
})
minetest.register_craft( {
output = "mesecons_materials:silicon 4",
recipe = {
{ "default:sand", "default:sand" },
{ "default:sand", "default:steel_ingot" },
},
})
minetest.register_craft( {
output = "basic_materials:ic 4",
recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" },
{ "mesecons_materials:silicon", "default:copper_ingot" },
},
})
minetest.register_craft( {
output = "basic_materials:motor 2",
recipe = {
{ "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
{ "default:copper_ingot", "default:steel_ingot", "default:steel_ingot" },
{ "default: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 = {
{ "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" }
},
})
minetest.register_craft({
--type = "shapeless",
output = "basic_materials:energy_crystal_simple 2",
recipe = {
{ "default:mese_crystal_fragment", "default:torch", "default:mese_crystal_fragment" },
{ "default:diamond", "default:gold_ingot", "default:diamond" }
},
})
minetest.register_craft( {
output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = {
"default:copper_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
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( {
output = "basic_materials:gold_wire 2",
type = "shapeless",
recipe = {
"default:gold_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
"default:steel_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_strip 12",
recipe = {
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot", "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:copper_strip 12",
recipe = {
{ "", "default:copper_ingot", "" },
{ "default:copper_ingot", "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:steel_bar 6",
recipe = {
{ "", "", "default:steel_ingot" },
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot", "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:padlock 2",
recipe = {
{ "basic_materials:steel_bar" },
{ "default:steel_ingot" },
{ "default:steel_ingot" },
},
})
minetest.register_craft({
output = "basic_materials:chainlink_steel 12",
recipe = {
{"", "default:steel_ingot", "default:steel_ingot"},
{ "default:steel_ingot", "", "default:steel_ingot" },
{ "default:steel_ingot", "default:steel_ingot", "" },
},
})
--craft recipes
minetest.register_craft({
output = "basic_materials:chainlink_brass 12",
recipe = {
@ -261,37 +26,6 @@ minetest.register_craft({
}
})
minetest.register_craft( {
output = "basic_materials:gear_steel 6",
recipe = {
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot","basic_materials:chainlink_steel", "default:steel_ingot" },
{ "", "default:steel_ingot", "" }
},
})
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 3",
recipe = {
"default:copper_ingot",
"default:copper_ingot",
"moreores:silver_ingot",
},
})
if not minetest.get_modpath("moreores") then
-- Without moreores, there still should be a way to create brass.
minetest.register_craft( {
output = "basic_materials:brass_ingot 9",
recipe = {
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
{"default:gold_ingot", "default:copper_ingot", "default:gold_ingot"},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
},
})
end
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 9",
@ -306,3 +40,264 @@ minetest.register_craft( {
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" },
},
})
minetest.register_craft( {
output = "basic_materials:plastic_strip 9",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
},
})
minetest.register_craft( {
output = "basic_materials:empty_spool 3",
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" }
},
})
minetest.register_craft({
type = "shapeless",
output = "basic_materials:oil_extract 2",
recipe = {"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves"}
})
--cooking recipes
minetest.register_craft({
type = "cooking",
output = "basic_materials:plastic_sheet",
recipe = "basic_materials:paraffin",
})
minetest.register_craft({
type = "cooking",
output = "basic_materials:paraffin",
recipe = "basic_materials:oil_extract",
})
minetest.register_craft({
type = "cooking",
output = "basic_materials:cement_block",
recipe = "basic_materials:wet_cement",
cooktime = 8
})
--fuel recipes
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:plastic_sheet",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:oil_extract",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:paraffin",
burntime = 30,
})
if minetest.get_modpath("default") then
minetest.register_craft({
output = 'basic_materials:concrete_block 6',
recipe = {
{'group:sand', 'basic_materials:wet_cement', 'default:gravel'},
{'basic_materials:steel_bar', 'basic_materials:wet_cement', 'basic_materials:steel_bar'},
{'default:gravel', 'basic_materials:wet_cement', 'group:sand'},
}
})
minetest.register_craft( {
output = "basic_materials:motor 2",
recipe = {
{ "default:mese_crystal_fragment", "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
{ "default:copper_ingot", "default:steel_ingot", "default:steel_ingot" },
{ "default: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 = {
{ "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" }
},
})
minetest.register_craft({
--type = "shapeless",
output = "basic_materials:energy_crystal_simple 2",
recipe = {
{ "default:mese_crystal_fragment", "default:torch", "default:mese_crystal_fragment" },
{ "default:diamond", "default:gold_ingot", "default:diamond" }
},
})
minetest.register_craft( {
output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = {
"default:copper_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:gold_wire 2",
type = "shapeless",
recipe = {
"default:gold_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
"default:steel_ingot",
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
output = "basic_materials:steel_strip 12",
recipe = {
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot", "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:copper_strip 12",
recipe = {
{ "", "default:copper_ingot", "" },
{ "default:copper_ingot", "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:steel_bar 6",
recipe = {
{ "", "", "default:steel_ingot" },
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot", "", "" },
},
})
minetest.register_craft( {
output = "basic_materials:padlock 2",
recipe = {
{ "basic_materials:steel_bar" },
{ "default:steel_ingot" },
{ "default:steel_ingot" },
},
})
minetest.register_craft({
output = "basic_materials:chainlink_steel 12",
recipe = {
{"", "default:steel_ingot", "default:steel_ingot"},
{ "default:steel_ingot", "", "default:steel_ingot" },
{ "default:steel_ingot", "default:steel_ingot", "" },
},
})
minetest.register_craft( {
output = "basic_materials:gear_steel 6",
recipe = {
{ "", "default:steel_ingot", "" },
{ "default:steel_ingot","basic_materials:chainlink_steel", "default:steel_ingot" },
{ "", "default:steel_ingot", "" }
},
})
if minetest.get_modpath("bucket") then
minetest.register_craft( {
type = "shapeless",
output = "basic_materials:terracotta_base 8",
recipe = {
"bucket:bucket_water",
"default:clay_lump",
"default:gravel",
},
replacements = { {"bucket:bucket_water", "bucket:bucket_empty"}, },
})
if minetest.get_modpath("dye") then
minetest.register_craft({
type = "shapeless",
output = "basic_materials:wet_cement 3",
recipe = {
"default:dirt",
"dye:dark_grey",
"dye:dark_grey",
"dye:dark_grey",
"bucket:bucket_water"
},
replacements = {{'bucket:bucket_water', 'bucket:bucket_empty'},},
})
end
end
if minetest.get_modpath("mesecons_materials") then
minetest.register_craft( {
output = "mesecons_materials:silicon 4",
recipe = {
{ "default:sand", "default:sand" },
{ "default:sand", "default:steel_ingot" },
},
})
minetest.register_craft( {
output = "basic_materials:ic 4",
recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" },
{ "mesecons_materials:silicon", "default:copper_ingot" },
},
})
end
if not minetest.get_modpath("moreores") then
-- Without moreores, there still should be a way to create brass.
minetest.register_craft( {
output = "basic_materials:brass_ingot 9",
recipe = {
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
{"default:gold_ingot", "default:copper_ingot", "default:gold_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( {
type = "shapeless",
output = "basic_materials:brass_ingot 3",
recipe = {
"default:copper_ingot",
"default:copper_ingot",
"moreores:silver_ingot",
},
})
end
end

@ -4,12 +4,11 @@
-- This mod supplies all those little random craft items that everyone always
-- seems to need, such as metal bars (ala rebar), plastic, wire, and so on.
local modpath = minetest.get_modpath("basic_materials")
basic_materials = {}
basic_materials.mod = { author = "Vanessa Dannenberg" }
basic_materials.modpath = minetest.get_modpath("basic_materials")
dofile(modpath .. "/nodes.lua")
dofile(modpath .. "/craftitems.lua")
dofile(modpath .. "/crafts.lua")
dofile(modpath .. "/aliases.lua")
dofile(basic_materials.modpath .. "/nodes.lua")
dofile(basic_materials.modpath .. "/craftitems.lua")
dofile(basic_materials.modpath .. "/crafts.lua")
dofile(basic_materials.modpath .. "/aliases.lua")

@ -1,4 +1,3 @@
name = basic_materials
depends = default
optional_depends = moreores
optional_depends = moreores, default, mesecons_materials, dye, bucket, fl_stone, fl_trees, mcl_sounds
min_minetest_version = 5.2.0

@ -1,28 +1,22 @@
local S = minetest.get_translator("basic_materials")
local sound_api = dofile(basic_materials.modpath .. "/sound_api_core/init.lua")
local chains_sbox = {type = "fixed",fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }}
minetest.register_node("basic_materials:cement_block", {
description = S("Cement"),
tiles = {"basic_materials_cement_block.png"},
is_ground_content = true,
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=2, dig_stone = 1},
sounds = sound_api.node_sound_stone_defaults(),
})
minetest.register_node("basic_materials:concrete_block", {
description = S("Concrete Block"),
tiles = {"basic_materials_concrete_block.png",},
groups = {cracky=1, level=2, concrete=1},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=1, concrete=1, dig_stone = 1},
sounds = sound_api.node_sound_stone_defaults(),
})
local chains_sbox = {
type = "fixed",
fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
}
minetest.register_node("basic_materials:chain_steel", {
description = S("Chain (steel, hanging)"),
drawtype = "mesh",
@ -33,7 +27,7 @@ minetest.register_node("basic_materials:chain_steel", {
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_steel_inv.png",
groups = {cracky=3},
groups = {cracky=3, dig_stone = 1},
selection_box = chains_sbox,
})
@ -47,7 +41,7 @@ minetest.register_node("basic_materials:chain_brass", {
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_brass_inv.png",
groups = {cracky=3},
groups = {cracky=3, dig_stone = 1},
selection_box = chains_sbox,
})
@ -55,6 +49,6 @@ minetest.register_node("basic_materials:brass_block", {
description = S("Brass Block"),
tiles = { "basic_materials_brass_block.png" },
is_ground_content = false,
groups = {cracky=1, level=2},
sounds = default.node_sound_metal_defaults()
groups = {cracky=1, dig_stone = 1},
sounds = sound_api.node_sound_metal_defaults()
})

1
sound_api_core Submodule

@ -0,0 +1 @@
Subproject commit 87bd12dd0facb4c58f8643b10f98a27dd112b21a