built on 04/02/2023 15:55:54

This commit is contained in:
Joachim Stolberg 2023-02-04 15:55:54 +01:00
parent dd5a51f67e
commit c84701ecc8
26 changed files with 1206 additions and 603 deletions

View File

@ -0,0 +1,13 @@
name: luacheck
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: apt
run: sudo apt-get install -y luarocks
- name: luacheck install
run: luarocks install --local luacheck
- name: luacheck run
run: $HOME/.luarocks/bin/luacheck ./

3
basic_materials/.gitmodules vendored Normal file
View File

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

View File

@ -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", "crafting",
}
read_globals = {
"default",
"moreores",
"default",
}

30
basic_materials/README.md Normal file
View File

@ -0,0 +1,30 @@
# Basic Materials mod
mod that adds basic material nodes and items
## Install
### Option 1: use content tab in minetest
* click the content tab
* search for basic materials
* click install on basic materials
### Option 2: download from [ContentDB](https://content.minetest.net/packages/VanessaE/basic_materials/)
* click the above link or search for basic materials on ContentDB
* select the download button on the basic materials page
* extract the zip downloaded from the previous step
* place in your mods folder
### Option 3: use git
* `git clone https://github.com/mt-mods/basic_materials.git`
* `cd basic_materials`
* `git submodule init`
* `git submodule update`
to update please use the following commands starting inside the mod directory
* `git submodule sync`
* `git submodule update`

View File

@ -0,0 +1,34 @@
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")
minetest.register_alias("homedecor:terracotta_base", "basic_materials:terracotta_base")
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("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")
minetest.register_alias("technic:fine_gold_wire", "basic_materials:gold_wire")
minetest.register_alias("homedecor:steel_wire", "basic_materials:steel_wire")
minetest.register_alias("homedecor:brass_ingot", "basic_materials:brass_ingot")
minetest.register_alias("technic:brass_ingot", "basic_materials:brass_ingot")
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("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")

View File

@ -0,0 +1,188 @@
local S = minetest.get_translator("basic_materials")
minetest.register_craftitem("basic_materials:plastic_sheet", {
description = S("Plastic sheet"),
inventory_image = "basic_materials_plastic_sheet.png",
})
minetest.register_craftitem("basic_materials:plastic_strip", {
description = S("Plastic strips"),
groups = { strip = 1 },
inventory_image = "basic_materials_plastic_strip.png",
})
minetest.register_craftitem("basic_materials:empty_spool", {
description = S("Empty wire 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",
})
minetest.register_craftitem("basic_materials:paraffin", {
description = S("Unprocessed paraffin"),
inventory_image = "basic_materials_paraffin.png",
})
minetest.register_craftitem("basic_materials:terracotta_base", {
description = S("Uncooked Terracotta Base"),
inventory_image = "basic_materials_terracotta_base.png",
})
minetest.register_craftitem("basic_materials:wet_cement", {
description = S("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",
})
minetest.register_craftitem("basic_materials:ic", {
description = S("Simple Integrated Circuit"),
inventory_image = "basic_materials_ic.png",
})
minetest.register_craftitem("basic_materials:motor", {
description = S("Simple Motor"),
inventory_image = "basic_materials_motor.png",
})
minetest.register_craftitem("basic_materials:heating_element", {
description = S("Heating element"),
inventory_image = "basic_materials_heating_element.png",
})
minetest.register_craftitem("basic_materials:energy_crystal_simple", {
description = S("Simple energy crystal"),
inventory_image = "basic_materials_energy_crystal.png",
})
minetest.register_craftitem("basic_materials:steel_wire", {
description = S("Spool of steel wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_steel_wire.png"
})
minetest.register_craftitem("basic_materials:copper_wire", {
description = S("Spool of copper wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_copper_wire.png"
})
minetest.register_craftitem("basic_materials:silver_wire", {
description = S("Spool of silver wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_silver_wire.png"
})
minetest.register_craftitem("basic_materials:gold_wire", {
description = S("Spool of gold wire"),
groups = { wire = 1 },
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 },
inventory_image = "basic_materials_steel_strip.png"
})
minetest.register_craftitem("basic_materials:copper_strip", {
description = S("Copper Strip"),
groups = { strip = 1 },
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 },
inventory_image = "basic_materials_chainlink_brass.png"
})
minetest.register_craftitem("basic_materials:chainlink_steel", {
description = S("Chainlinks (steel)"),
groups = { chainlinks = 1 },
inventory_image = "basic_materials_chainlink_steel.png"
})
minetest.register_craftitem("basic_materials:brass_ingot", {
description = S("Brass Ingot"),
inventory_image = "basic_materials_brass_ingot.png",
})
minetest.register_craftitem("basic_materials:gear_steel", {
description = S("Steel gear"),
inventory_image = "basic_materials_gear_steel.png"
})
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

569
basic_materials/crafts.lua Normal file
View File

@ -0,0 +1,569 @@
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("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",
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("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 = "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 = "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,
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"
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
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"},
{"basic_materials:brass_ingot", "", "basic_materials:brass_ingot"},
{"basic_materials:brass_ingot", "basic_materials:brass_ingot", ""},
},
})
register_craft({
output = "basic_materials:chain_steel 2",
recipe = {
{"basic_materials:chainlink_steel"},
{"basic_materials:chainlink_steel"},
{"basic_materials:chainlink_steel"}
}
})
register_craft({
output = "basic_materials:chain_brass 2",
recipe = {
{"basic_materials:chainlink_brass"},
{"basic_materials:chainlink_brass"},
{"basic_materials:chainlink_brass"}
}
})
register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 9",
recipe = {"basic_materials:brass_block"},
})
register_craft( {
output = "basic_materials:brass_block",
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"},
},
})
register_craft( {
output = "basic_materials:plastic_strip 9",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"}
},
})
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"}
},
})
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
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",
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,
})
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"},
}
})
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"},
}
})
register_craft( {
output = "basic_materials:heating_element 2",
recipe = {
{materials.copper_ingot, materials.mese_crystal_fragment, materials.copper_ingot}
},
})
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}
},
})
register_craft( {
output = "basic_materials:copper_wire 2",
type = "shapeless",
recipe = {
materials.copper_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
register_craft( {
output = "basic_materials:gold_wire 2",
type = "shapeless",
recipe = {
materials.gold_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
register_craft( {
output = "basic_materials:steel_wire 2",
type = "shapeless",
recipe = {
materials.steel_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
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, ""},
{materials.steel_ingot, "", ""},
},
})
register_craft( {
output = "basic_materials:copper_strip 12",
recipe = {
{"", materials.copper_ingot, ""},
{materials.copper_ingot, "", ""},
},
})
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},
{"", materials.steel_ingot, ""},
{materials.steel_ingot, "", ""},
},
})
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"},
{materials.steel_ingot},
{materials.steel_ingot},
},
})
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, ""},
},
})
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, ""}
},
})
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}},
})
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
register_craft( {
output = materials.silicon.." 4",
recipe = {
{materials.sand, materials.sand},
{materials.sand, materials.steel_ingot},
},
})
end
register_craft( {
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.
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},
},
})
if materials.silver_ingot then
register_craft( {
output = "basic_materials:silver_wire 2",
type = "shapeless",
recipe = {
materials.silver_ingot,
"basic_materials:empty_spool",
"basic_materials:empty_spool",
},
})
register_craft( {
type = "shapeless",
output = "basic_materials:brass_ingot 3",
recipe = {
materials.copper_ingot,
materials.copper_ingot,
materials.silver_ingot,
},
})
end

View File

@ -1,86 +0,0 @@
-- Translation support
local S = minetest.get_translator("basic_materials")
-- items
minetest.register_craftitem("basic_materials:silicon", {
description = S("Silicon lump"),
inventory_image = "basic_materials_silicon.png",
})
minetest.register_craftitem("basic_materials:ic", {
description = S("Simple Integrated Circuit"),
inventory_image = "basic_materials_ic.png",
})
minetest.register_craftitem("basic_materials:motor", {
description = S("Simple Motor"),
inventory_image = "basic_materials_motor.png",
})
minetest.register_craftitem("basic_materials:heating_element", {
description = S("Heating element"),
inventory_image = "basic_materials_heating_element.png",
})
minetest.register_craftitem("basic_materials:energy_crystal_simple", {
description = S("Simple energy crystal"),
inventory_image = "basic_materials_energy_crystal.png",
})
-- crafts
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" }
},
})
-- aliases
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")

View File

@ -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.."/metals.lua")
dofile(modpath.."/plastics.lua")
dofile(modpath.."/electrical-electronic.lua")
dofile(modpath.."/misc.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")

View File

@ -1,300 +0,0 @@
-- Translation support
local S = minetest.get_translator("basic_materials")
-- items
minetest.register_craftitem("basic_materials:steel_wire", {
description = S("Spool of steel wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_steel_wire.png"
})
minetest.register_craftitem("basic_materials:copper_wire", {
description = S("Spool of copper wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_copper_wire.png"
})
minetest.register_craftitem("basic_materials:silver_wire", {
description = S("Spool of silver wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_silver_wire.png"
})
minetest.register_craftitem("basic_materials:gold_wire", {
description = S("Spool of gold wire"),
groups = { wire = 1 },
inventory_image = "basic_materials_gold_wire.png"
})
minetest.register_craftitem("basic_materials:steel_strip", {
description = S("Steel Strip"),
groups = { strip = 1 },
inventory_image = "basic_materials_steel_strip.png"
})
minetest.register_craftitem("basic_materials:copper_strip", {
description = S("Copper Strip"),
groups = { strip = 1 },
inventory_image = "basic_materials_copper_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:chainlink_brass", {
description = S("Chainlinks (brass)"),
groups = { chainlinks = 1 },
inventory_image = "basic_materials_chainlink_brass.png"
})
minetest.register_craftitem("basic_materials:chainlink_steel", {
description = S("Chainlinks (steel)"),
groups = { chainlinks = 1 },
inventory_image = "basic_materials_chainlink_steel.png"
})
minetest.register_craftitem("basic_materials:brass_ingot", {
description = S("Brass Ingot"),
inventory_image = "basic_materials_brass_ingot.png",
})
minetest.register_craftitem("basic_materials:gear_steel", {
description = S("Steel gear"),
inventory_image = "basic_materials_gear_steel.png"
})
minetest.register_craftitem("basic_materials:padlock", {
description = S("Padlock"),
inventory_image = "basic_materials_padlock.png"
})
-- nodes
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",
mesh = "basic_materials_chains.obj",
tiles = {"basic_materials_chain_steel.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_steel_inv.png",
groups = {cracky=3},
selection_box = chains_sbox,
})
minetest.register_node("basic_materials:chain_brass", {
description = S("Chain (brass, hanging)"),
drawtype = "mesh",
mesh = "basic_materials_chains.obj",
tiles = {"basic_materials_chain_brass.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_brass_inv.png",
groups = {cracky=3},
selection_box = chains_sbox,
})
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()
})
-- crafts
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", "" },
},
})
minetest.register_craft({
output = "basic_materials:chainlink_brass 12",
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", "" },
},
})
minetest.register_craft({
output = 'basic_materials:chain_steel 2',
recipe = {
{"basic_materials:chainlink_steel"},
{"basic_materials:chainlink_steel"},
{"basic_materials:chainlink_steel"}
}
})
minetest.register_craft({
output = 'basic_materials:chain_brass 2',
recipe = {
{"basic_materials:chainlink_brass"},
{"basic_materials:chainlink_brass"},
{"basic_materials:chainlink_brass"}
}
})
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",
recipe = { "basic_materials:brass_block" },
})
minetest.register_craft( {
output = "basic_materials:brass_block",
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" },
},
})
-- aliases
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")
minetest.register_alias("technic:fine_gold_wire", "basic_materials:gold_wire")
minetest.register_alias("homedecor:steel_wire", "basic_materials:steel_wire")
minetest.register_alias("homedecor:brass_ingot", "basic_materials:brass_ingot")
minetest.register_alias("technic:brass_ingot", "basic_materials:brass_ingot")
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")

View File

@ -1,126 +0,0 @@
-- Translation support
local S = minetest.get_translator("basic_materials")
-- items
minetest.register_craftitem("basic_materials:oil_extract", {
description = S("Oil extract"),
inventory_image = "basic_materials_oil_extract.png",
})
minetest.register_craftitem("basic_materials:paraffin", {
description = S("Unprocessed paraffin"),
inventory_image = "basic_materials_paraffin.png",
})
minetest.register_craftitem("basic_materials:terracotta_base", {
description = S("Uncooked Terracotta Base"),
inventory_image = "basic_materials_terracotta_base.png",
})
minetest.register_craftitem("basic_materials:wet_cement", {
description = S("Wet Cement"),
inventory_image = "basic_materials_wet_cement.png",
})
-- nodes
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(),
})
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(),
})
-- crafts
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'},
}
})
-- aliases
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")
minetest.register_alias("homedecor:terracotta_base", "basic_materials:terracotta_base")
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")

View File

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

59
basic_materials/nodes.lua Normal file
View File

@ -0,0 +1,59 @@
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, 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, pickaxey=5},
_mcl_hardness=1.6,
sounds = sound_api.node_sound_stone_defaults(),
})
minetest.register_node("basic_materials:chain_steel", {
description = S("Chain (steel, hanging)"),
drawtype = "mesh",
mesh = "basic_materials_chains.obj",
tiles = {"basic_materials_chain_steel.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_steel_inv.png",
groups = {cracky=3, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
selection_box = chains_sbox,
})
minetest.register_node("basic_materials:chain_brass", {
description = S("Chain (brass, hanging)"),
drawtype = "mesh",
mesh = "basic_materials_chains.obj",
tiles = {"basic_materials_chain_brass.png"},
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
inventory_image = "basic_materials_chain_brass_inv.png",
groups = {cracky=3, dig_stone = 1, pickaxey=5},
_mcl_hardness=1.6,
selection_box = chains_sbox,
})
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, pickaxey=5},
_mcl_hardness=1.6,
sounds = sound_api.node_sound_metal_defaults()
})

View File

@ -1,56 +0,0 @@
-- Translation support
local S = minetest.get_translator("basic_materials")
-- items
minetest.register_craftitem("basic_materials:plastic_sheet", {
description = S("Plastic sheet"),
inventory_image = "basic_materials_plastic_sheet.png",
})
minetest.register_craftitem("basic_materials:plastic_strip", {
description = S("Plastic strips"),
groups = { strip = 1 },
inventory_image = "basic_materials_plastic_strip.png",
})
minetest.register_craftitem("basic_materials:empty_spool", {
description = S("Empty wire spool"),
inventory_image = "basic_materials_empty_spool.png"
})
-- crafts
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" }
},
})
-- aliases
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")

View File

@ -0,0 +1,5 @@
read_globals = {
"minetest", "mcl_sounds", "default", "ks_sounds",
"nodes_nature", "fl_stone", "fl_topsoil", "fl_trees",
"hades_sounds",
}

View File

@ -0,0 +1,19 @@
MIT Copyright 2021 wsor4035
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,276 @@
local sound_api = {}
--convert some games for api usage
--ks_sounds conversion
--currently loggy and bedrock are ignored
local ks = {}
function ks.node_sound_defaults(table)
table = table or {}
table.footstep = table.footstep or ks_sounds.generalnode_sounds.footstep
table.dug = table.dug or ks_sounds.generalnode_sounds.dug
table.dig = table.dig or ks_sounds.generalnode_sounds.dig
table.place = table.place or ks_sounds.generalnode_sounds.place
return table
end
function ks.node_sound_wood_defaults(table)
table = table or {}
table.footstep = table.footstep or ks_sounds.woodennode_sounds.footstep
table.dug = table.dug or ks_sounds.woodennode_sounds.dug
table.dig = table.dig or ks_sounds.woodennode_sounds.dig
table.place = table.place or ks_sounds.woodennode_sounds.place
ks.node_sound_defaults(table)
return table
end
function ks.node_sound_leaves_defaults(table)
table = table or {}
table.footstep = table.footstep or ks_sounds.leafynode_sounds.footstep
table.dug = table.dug or ks_sounds.leafynode_sounds.dug
table.dig = table.dig or ks_sounds.leafynode_sounds.dig
table.place = table.place or ks_sounds.leafynode_sounds.place
ks.node_sound_defaults(table)
return table
end
function ks.node_sound_snow_defaults(table)
table = table or {}
table.footstep = table.footstep or ks_sounds.snowynode_sounds.footstep
table.dug = table.dug or ks_sounds.snowynode_sounds.dug
table.dig = table.dig or ks_sounds.snowynode_sounds.dig
table.place = table.place or ks_sounds.snowynode_sounds.place
ks.node_sound_defaults(table)
return table
end
--api
function sound_api.node_sound_default(table)
if minetest.get_modpath("default") then
return default.node_sound_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_defaults(table)
elseif minetest.get_modpath("ks_sounds") then
return ks.node_sound_default(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_default(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_defaults(table)
else
return table
end
end
function sound_api.node_sound_stone_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_stone_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_stone_defaults(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_stone_defaults(table)
elseif minetest.get_modpath("fl_stone") then
return fl_stone.sounds.stone(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_stone_defaults(table)
else
return table
end
end
function sound_api.node_sound_dirt_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_dirt_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_dirt_defaults(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_dirt_defaults(table)
--s/dirt/grass
elseif minetest.get_modpath("fl_topsoil") then
return fl_topsoil.sounds.grass(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_dirt_defaults(table)
else
return table
end
end
--return dirt as some games use dirt vs grass
function sound_api.node_sound_grass_defaults(table)
if minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_grass_defaults(table)
else
return sound_api.node_sound_dirt_defaults(table)
end
end
function sound_api.node_sound_sand_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_sand_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_sand_defaults(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_sand_defaults(table)
elseif minetest.get_modpath("fl_stone") then
return fl_stone.sounds.sand(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_sand_defaults(table)
else
return table
end
end
function sound_api.node_sound_gravel_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_gravel_defaults(table)
--s/gravel/sand
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_sand_defaults(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_gravel_defaults(table)
elseif minetest.get_modpath("fl_topsoil") then
return fl_topsoil.sounds.gravel(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_gravel_defaults(table)
else
return table
end
end
function sound_api.node_sound_wood_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_wood_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_wood_defaults(table)
elseif minetest.get_modpath("ks_sounds") then
return ks.node_sound_wood_default(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_wood_defaults(table)
elseif minetest.get_modpath("fl_trees") then
return fl_trees.sounds.wood(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_wood_defaults(table)
else
return table
end
end
function sound_api.node_sound_leaves_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_leaves_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_leaves_defaults(table)
elseif minetest.get_modpath("ks_sounds") then
return ks.node_sound_leaves_default(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_leaves_defaults(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_leaves_defaults(table)
else
return table
end
end
function sound_api.node_sound_glass_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_glass_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_glass_defaults(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_glass_defaults(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_glass_defaults(table)
else
return table
end
end
function sound_api.node_sound_ice_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_ice_defaults(table)
--s/ice/glass
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_glass_defaults(table)
--s/ice/glass
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_glass_defaults(table)
--s/ice/glass
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_glass_defaults(table)
else
return table
end
end
function sound_api.node_sound_metal_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_metal_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_metal_defaults(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_metal_defaults(table)
else
return table
end
end
function sound_api.node_sound_water_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_water_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_water_defaults(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_water_defaults(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_water_defaults(table)
else
return table
end
end
function sound_api.node_sound_lava_defaults(table)
--s/lava/water
if minetest.get_modpath("default") then
return default.node_sound_water_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_lava_defaults(table)
--s/lava/water
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_water_defaults(table)
elseif minetest.get_modpath("hades_sounds") then
return hades_sounds.node_sound_lava_defaults(table)
else
return table
end
end
function sound_api.node_sound_snow_defaults(table)
if minetest.get_modpath("default") then
return default.node_sound_snow_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_snow_defaults(table)
elseif minetest.get_modpath("ks_sounds") then
return ks.node_sound_snow_default(table)
elseif minetest.get_modpath("nodes_nature") then
return nodes_nature.node_sound_snow_defaults(table)
elseif minetest.get_modpath("fl_topsoil") then
return fl_topsoil.sounds.snow(table)
else
return table
end
end
function sound_api.node_sound_wool_defaults(table)
--s/wool/default
if minetest.get_modpath("default") then
return default.node_sound_defaults(table)
elseif minetest.get_modpath("mcl_sounds") then
return mcl_sounds.node_sound_wool_defaults(table)
else
return table
end
end
return sound_api

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