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

8 Commits

Author SHA1 Message Date
17662b3f38 add first class support for repixture 2023-01-27 15:31:51 -05:00
55fae27d05 make nodes digable in mcl* survival mode 2022-12-01 19:55:04 -05:00
d52bb607a0 Add aluminum bar, strip and wire, gold strip and stainless steel bar and strip. (#16) 2022-11-05 12:55:06 -04:00
b9ac85790d Add lead strip, carbon steel bar and stainless steel wire if technic is enabled. (#15) 2022-08-11 18:19:07 -04:00
a4dab9c4c8 Fix materials for Hades Revisited 0.15.2 (#14) 2022-08-03 01:54:48 -04:00
9d55f9916d Fix item alias in Hades Revisited integration. (#13) 2022-03-27 11:56:10 -04:00
800f740161 add silver-spool recipes only if silver is present 2022-03-25 10:43:42 +01:00
8631a2670b Hades branch improvements (#12)
* 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>

* formatting fixes

Co-authored-by: sfence <sfence.software@gmail.com>
Co-authored-by: OgelGames <olliverdc28@gmail.com>
2022-03-02 01:07:14 -05:00
14 changed files with 524 additions and 268 deletions

View File

@ -1,5 +1,5 @@
globals = {
"minetest", "basic_materials",
"minetest", "basic_materials", "crafting",
}
read_globals = {

View File

@ -85,6 +85,18 @@ minetest.register_craftitem("basic_materials:gold_wire", {
inventory_image = "basic_materials_gold_wire.png"
})
minetest.register_craftitem("basic_materials:stainless_steel_wire", {
description = S("Spool of stainless steel wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_stainless_steel_wire.png"
})
minetest.register_craftitem("basic_materials:aluminum_wire", {
description = S("Spool of aluminum wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_aluminum_wire.png"
})
minetest.register_craftitem("basic_materials:steel_strip", {
description = S("Steel Strip"),
groups = { strip = 1 },
@ -97,11 +109,50 @@ minetest.register_craftitem("basic_materials:copper_strip", {
inventory_image = "basic_materials_copper_strip.png"
})
minetest.register_craftitem("basic_materials:lead_strip", {
description = S("Lead Strip"),
groups = { strip = 1 },
inventory_image = "basic_materials_lead_strip.png"
})
minetest.register_craftitem("basic_materials:gold_strip", {
description = S("Gold Strip"),
groups = { strip = 1 },
inventory_image = "basic_materials_gold_strip.png"
})
minetest.register_craftitem("basic_materials:stainless_steel_strip", {
description = S("Stainless Steel Strip"),
groups = { strip = 1 },
inventory_image = "basic_materials_stainless_steel_strip.png"
})
minetest.register_craftitem("basic_materials:aluminum_strip", {
description = S("Aluminum Strip"),
groups = { strip = 1 },
inventory_image = "basic_materials_aluminum_strip.png"
})
minetest.register_craftitem("basic_materials:steel_bar", {
description = S("Steel Bar"),
inventory_image = "basic_materials_steel_bar.png",
})
minetest.register_craftitem("basic_materials:carbon_steel_bar", {
description = S("Carbon Steel Bar"),
inventory_image = "basic_materials_carbon_steel_bar.png",
})
minetest.register_craftitem("basic_materials:stainless_steel_bar", {
description = S("Stainless Steel Bar"),
inventory_image = "basic_materials_stainless_steel_bar.png",
})
minetest.register_craftitem("basic_materials:aluminum_bar", {
description = S("Aluminum Bar"),
inventory_image = "basic_materials_aluminum_bar.png",
})
minetest.register_craftitem("basic_materials:chainlink_brass", {
description = S("Chainlinks (brass)"),
groups = { chainlinks = 1 },
@ -128,3 +179,10 @@ 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("basic_materials:silicon", "hades_materials:silicon")
end

View File

@ -13,8 +13,23 @@ local materials = {
water_bucket = "bucket:bucket_water",
empty_bucket = "bucket:bucket_empty",
dye_dark_grey = "dye:dark_grey",
silicon = "mesecons_materials:silicon",
}
if minetest.get_modpath("moreores") then
materials.silver_ingot = "moreores:silver_ingot"
end
if minetest.get_modpath("technic") then
materials.lead_ingot = "technic:lead_ingot"
materials.carbon_steel_ingot = "technic:carbon_steel_ingot"
materials.stainless_steel_ingot = "technic:stainless_steel_ingot"
end
if minetest.get_modpath("aloz") then
materials["aluminum_ingot"] = "aloz:aluminum_ingot"
end
if minetest.get_modpath("mcl_core") then
materials = {
dirt = "mcl_core:dirt",
@ -29,10 +44,11 @@ if minetest.get_modpath("mcl_core") then
water_bucket = "mcl_buckets:bucket_water",
empty_bucket = "mcl_buckets:bucket_empty",
dye_dark_grey = "mcl_dye:dark_grey",
--use iron where no equivalent
-- 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 = {
@ -51,10 +67,30 @@ elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
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("rp_default") then
materials = {
dirt = "rp_default:dirt",
sand = "rp_default:sand",
gravel = "rp_default:gravel",
steel_ingot = "rp_default:ingot_steel",
gold_ingot = "rp_default:ingot_gold",
mese_crystal_fragment = "rp_default:ingot_steel",
torch = "rp_default:torch",
diamond = "rp_default:pearl",
clay_lump = "rp_default:ingot_steel",
water_bucket = "rp_default:swamp_dirt",
empty_bucket = "rp_default:dirt",
dye_dark_grey = "rp_default:ingot_steel",
copper_ingot = "rp_default:ingot_copper",
tin_ingot = "rp_default:ingot_tin",
silver_ingot = "rp_default:ingot_steel",
silicon = "rp_default:ingot_steel",
}
elseif minetest.get_modpath("hades_core") then
materials = {
dirt = "fl_topsoil:dirt",
dirt = "hades_core:dirt",
sand = "hades_core:fertile_sand",
gravel = "hades_core:gravel",
steel_ingot = "hades_core:steel_ingot",
@ -63,26 +99,75 @@ elseif minetest.get_modpath("hades_core") then
torch = "hades_torches:torch",
diamond = "hades_core:diamond",
clay_lump = "hades_core:clay_lump",
dye_dark_grey = "dye:dark_grey_dye",
dye_dark_grey = "hades_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,
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
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"
materials["aluminum_ingot"] = "hades_extraores:aluminum_ingot"
end
if minetest.get_modpath("hades_technic") then
materials.lead_ingot = "hades_technic:lead_ingot"
materials.carbon_steel_ingot = "hades_technic:carbon_steel_ingot"
materials.stainless_steel_ingot = "hades_technic:stainless_steel_ingot"
end
end
--craft recipes
minetest.register_craft({
local have_hades_materials = minetest.get_modpath("hades_materials")
local function compress_craft(input)
local buffer = {}
for _, item in pairs(input) do
if type(item)=="table" then
for _, inneritem in pairs(item) do
buffer[inneritem] = (buffer[inneritem] or 0) + 1
end
elseif item ~= "" then
buffer[item] = (buffer[item] or 0) + 1
end
end
local output = {}
for item, count in pairs(buffer) do
output[#output + 1] = item .. " " .. count
end
return output
end
local function register_craft(input)
if minetest.get_modpath("rp_crafting") then
local rp_craft = compress_craft(input.recipe)
if #rp_craft > crafting.MAX_INPUTS then
minetest.log("error", "[basic_materials] unable to register craft for " .. input.output)
return
end
crafting.register_craft({
output = input.output,
items = rp_craft
})
else
minetest.register_craft(input)
end
end
-- Craft recipes
register_craft({
output = "basic_materials:chainlink_brass 12",
recipe = {
{"", "basic_materials:brass_ingot", "basic_materials:brass_ingot"},
@ -91,8 +176,8 @@ minetest.register_craft({
},
})
minetest.register_craft({
output = 'basic_materials:chain_steel 2',
register_craft({
output = "basic_materials:chain_steel 2",
recipe = {
{"basic_materials:chainlink_steel"},
{"basic_materials:chainlink_steel"},
@ -100,8 +185,8 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'basic_materials:chain_brass 2',
register_craft({
output = "basic_materials:chain_brass 2",
recipe = {
{"basic_materials:chainlink_brass"},
{"basic_materials:chainlink_brass"},
@ -109,13 +194,13 @@ minetest.register_craft({
}
})
minetest.register_craft( {
register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 9",
recipe = {"basic_materials:brass_block"},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:brass_block",
recipe = {
{"basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot"},
@ -124,14 +209,14 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:plastic_strip 9",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:empty_spool 3",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"},
@ -140,18 +225,27 @@ minetest.register_craft( {
},
})
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
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
-- Cooking recipes
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",
@ -166,7 +260,7 @@ minetest.register_craft({
cooktime = 8
})
--fuel recipes
-- Fuel recipes
minetest.register_craft({
type = "fuel",
recipe = "basic_materials:plastic_sheet",
@ -185,16 +279,16 @@ minetest.register_craft({
burntime = 30,
})
minetest.register_craft({
output = 'basic_materials:concrete_block 6',
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'},
{"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( {
register_craft( {
output = "basic_materials:motor 2",
recipe = {
{materials.mese_crystal_fragment, "basic_materials:copper_wire", "basic_materials:plastic_sheet"},
@ -207,14 +301,14 @@ minetest.register_craft( {
}
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:heating_element 2",
recipe = {
{materials.copper_ingot, materials.mese_crystal_fragment, materials.copper_ingot}
},
})
minetest.register_craft({
register_craft({
--type = "shapeless",
output = "basic_materials:energy_crystal_simple 2",
recipe = {
@ -223,7 +317,7 @@ minetest.register_craft({
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = {
@ -233,7 +327,7 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:gold_wire 2",
type = "shapeless",
recipe = {
@ -243,7 +337,7 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
@ -253,7 +347,31 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
if materials.stainless_steel_ingot then
register_craft( {
output = "basic_materials:stainless_steel_wire 2",
type = "shapeless",
recipe = {
materials.stainless_steel_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
end
if materials.aluminum_ingot then
register_craft( {
output = "basic_materials:aluminum_wire 2",
type = "shapeless",
recipe = {
materials.aluminum_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
end
register_craft( {
output = "basic_materials:steel_strip 12",
recipe = {
{"", materials.steel_ingot, ""},
@ -261,7 +379,7 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:copper_strip 12",
recipe = {
{"", materials.copper_ingot, ""},
@ -269,7 +387,45 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:gold_strip 12",
recipe = {
{"", materials.gold_ingot, ""},
{materials.gold_ingot, "", ""},
},
})
if materials.lead_ingot then
register_craft( {
output = "basic_materials:lead_strip 12",
recipe = {
{"", materials.lead_ingot, ""},
{materials.lead_ingot, "", ""},
},
})
end
if materials.stainless_steel_ingot then
register_craft( {
output = "basic_materials:stainless_steel_strip 12",
recipe = {
{"", materials.stainless_steel_ingot, ""},
{materials.stainless_steel_ingot, "", ""},
},
})
end
if materials.aluminum_ingot then
register_craft( {
output = "basic_materials:aluminum_strip 12",
recipe = {
{"", materials.aluminum_ingot, ""},
{materials.aluminum_ingot, "", ""},
},
})
end
register_craft( {
output = "basic_materials:steel_bar 6",
recipe = {
{"", "", materials.steel_ingot},
@ -278,7 +434,40 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
if materials.carbon_steel_ingot then
register_craft( {
output = "basic_materials:carbon_steel_bar 6",
recipe = {
{"", "", materials.carbon_steel_ingot},
{"", materials.carbon_steel_ingot, ""},
{materials.carbon_steel_ingot, "", ""},
},
})
end
if materials.stainless_steel_ingot then
register_craft( {
output = "basic_materials:stainless_steel_bar 6",
recipe = {
{"", "", materials.stainless_steel_ingot},
{"", materials.stainless_steel_ingot, ""},
{materials.stainless_steel_ingot, "", ""},
},
})
end
if materials.aluminum_ingot then
register_craft( {
output = "basic_materials:aluminum_bar 6",
recipe = {
{"", "", materials.aluminum_ingot},
{"", materials.aluminum_ingot, ""},
{materials.aluminum_ingot, "", ""},
},
})
end
register_craft( {
output = "basic_materials:padlock 2",
recipe = {
{"basic_materials:steel_bar"},
@ -287,7 +476,7 @@ minetest.register_craft( {
},
})
minetest.register_craft({
register_craft({
output = "basic_materials:chainlink_steel 12",
recipe = {
{"", materials.steel_ingot, materials.steel_ingot},
@ -296,7 +485,7 @@ minetest.register_craft({
},
})
minetest.register_craft( {
register_craft( {
output = "basic_materials:gear_steel 6",
recipe = {
{"", materials.steel_ingot, ""},
@ -305,7 +494,7 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
register_craft( {
type = "shapeless",
output = "basic_materials:terracotta_base 8",
recipe = {
@ -316,7 +505,7 @@ minetest.register_craft( {
replacements = {{materials.water_bucket, materials.empty_bucket}},
})
minetest.register_craft({
register_craft({
type = "shapeless",
output = "basic_materials:wet_cement 3",
recipe = {
@ -329,24 +518,26 @@ minetest.register_craft({
replacements = {{materials.water_bucket, materials.empty_bucket}},
})
minetest.register_craft( {
output = "mesecons_materials:silicon 4",
if not have_hades_materials then
register_craft( {
output = materials.silicon.." 4",
recipe = {
{materials.sand, materials.sand},
{materials.sand, materials.steel_ingot},
},
})
end
minetest.register_craft( {
register_craft( {
output = "basic_materials:ic 4",
recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" },
{ "mesecons_materials:silicon", materials.copper_ingot },
{materials.silicon, materials.silicon},
{materials.silicon, materials.copper_ingot},
},
})
-- Without moreores, there still should be a way to create brass.
minetest.register_craft( {
register_craft( {
output = "basic_materials:brass_ingot 9",
recipe = {
{materials.copper_ingot, materials.tin_ingot, materials.copper_ingot},
@ -355,17 +546,18 @@ minetest.register_craft( {
},
})
minetest.register_craft( {
if materials.silver_ingot then
register_craft( {
output = "basic_materials:silver_wire 2",
type = "shapeless",
recipe = {
"moreores:silver_ingot",
materials.silver_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
minetest.register_craft( {
register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 3",
recipe = {
@ -374,3 +566,4 @@ minetest.register_craft( {
materials.silver_ingot,
},
})
end

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_core, hades_sounds, hades_materials, hades_dye, hades_bucket, hades_extraores, hades_mesecons_materials, aloz, rp_crafting
min_minetest_version = 5.2.0

View File

@ -6,14 +6,16 @@ minetest.register_node("basic_materials:cement_block", {
description = S("Cement"),
tiles = {"basic_materials_cement_block.png"},
is_ground_content = true,
groups = {cracky=2, dig_stone = 1},
groups = {cracky=2, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
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, concrete=1, dig_stone = 1},
groups = {cracky=1, concrete=1, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
sounds = sound_api.node_sound_stone_defaults(),
})
@ -27,7 +29,8 @@ minetest.register_node("basic_materials:chain_steel", {
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_steel_inv.png",
groups = {cracky=3, dig_stone = 1},
groups = {cracky=3, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
selection_box = chains_sbox,
})
@ -41,7 +44,8 @@ minetest.register_node("basic_materials:chain_brass", {
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_brass_inv.png",
groups = {cracky=3, dig_stone = 1},
groups = {cracky=3, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
selection_box = chains_sbox,
})
@ -49,6 +53,7 @@ minetest.register_node("basic_materials:brass_block", {
description = S("Brass Block"),
tiles = { "basic_materials_brass_block.png" },
is_ground_content = false,
groups = {cracky=1, dig_stone = 1},
groups = {cracky=1, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
sounds = sound_api.node_sound_metal_defaults()
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B