Add files via upload

This commit is contained in:
Shad MOrdre 2018-01-19 12:24:59 -08:00 committed by GitHub
parent 9aff1cc567
commit ebfde70ed3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 665 additions and 0 deletions

2
depends.txt Normal file
View File

@ -0,0 +1,2 @@
default?
carpathian_mapgen?

134
init.lua Normal file
View File

@ -0,0 +1,134 @@
lib_materials = {}
lib_materials.path = minetest.get_modpath(minetest.get_current_modname())
lib_materials.gettext, lib_materials.ngettext = dofile(lib_materials.path.."/intllib.lua")
local S = lib_materials.gettext
local NS = lib_materials.ngettext
dofile(lib_materials.path.."/lib_materials_utils.lua")
dofile(lib_materials.path.."/lib_materials_water.lua")
dofile(lib_materials.path.."/type_dirt.lua")
dofile(lib_materials.path.."/type_sand.lua")
dofile(lib_materials.path.."/type_ore.lua")
dofile(lib_materials.path.."/type_stone.lua")
dofile(lib_materials.path.."/lib_materials_ore_defs.lua")
--[[
lib_materials.register_materials = function()
local node_defs = {}
for node, def in pairs(minetest.registered_nodes) do
local node_name = node
local node_def = table.copy(def)
if not node_def then
return false
end
local node_groups = table.copy(node_def.groups) or {}
if not node_groups then
return false
end
if not node_groups.stone then
--node_def.density = 10
--node_def.mass = 10
--node_def.hardness = 10
--node_def.melting_point = 500
--node_groups.material = 3
--node_groups.inorganic = 3
end
if not node_groups.dirt then
end
if not node_groups.glass then
end
if not node_groups.tree then
end
if not node_groups.wood then
end
if not node_groups.plant then
end
if not node_groups.crumbly then
end
if not node_groups.cracky then
end
if not node_groups.snappy then
end
if not node_groups.choppy then
end
if not node_groups.oddly_breakable_by_hand then
end
if not node_groups.soil then
end
if not node_groups.fleshy then
end
if not node_groups.bouncy then
end
if not node_groups.explody then
end
end
nod_def.groups = node_groups
minetest.override_item(node_name, nod_def)
end
--]]
--lib_materials.register_material = function(material_name, {material_def})
--local def = minetest.registered_nodes["some:name"]
--local groups = table.copy(def.groups)
--groups.my_group = 123
--minetest.override_item("some:name", { groups=groups })
--end

45
intllib.lua Normal file
View File

@ -0,0 +1,45 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

197
lib_materials_ore_defs.lua Normal file
View File

@ -0,0 +1,197 @@
-- Adds stone types(default types{desert_stone, sandstone, desert_sandstone, silver_sandstone}; lib_materials types{stone_brown, stone_sand}) as ores within default:stone
minetest.register_ore({ore_type="sheet", ore="default:sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
minetest.register_ore({ore_type="sheet", ore="default:desert_sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
minetest.register_ore({ore_type="sheet", ore="default:silver_sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0})
minetest.register_ore({ore_type="sheet", ore="default:desert_stone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_brown", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sand", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0})
-- Adds default desert_stone, desert_sandstone, and stone_brown to stone_sand
minetest.register_ore({
ore_type = "scatter",
ore = "default:desert_stone",
wherein = {"lib_materials:stone_sand"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
persist = 0.5
},
})
minetest.register_ore({
ore_type = "scatter",
ore = "default:desert_sandstone",
wherein = {"lib_materials:stone_sand"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -613,
octaves = 1,
persist = 0.5
},
})
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:stone_brown",
wherein = {"lib_materials:stone_sand"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -613,
octaves = 1,
persist = 0.5
},
})
-- Adds Air as ore within default:stone
minetest.register_ore({
ore_type = "scatter",
ore = "air",
wherein = {"groups:stone"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -50,
y_max = -11,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
persist = 0.5
},
})
--Adds default:water_source within default:stone
minetest.register_ore({
ore_type = "scatter",
ore = "default:river_water_source",
wherein = {"groups:stone"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -30,
y_max = 0,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
persist = 0.5
},
})
-- Baked Clay within Orange Clay
minetest.register_ore({
ore_type = "blob",
ore = "bakedclay:red",
wherein = {"bakedclay:orange"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
persist = 0.5
},
})
minetest.register_ore({
ore_type = "blob",
ore = "bakedclay:grey",
wherein = {"bakedclay:orange"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -613,
octaves = 1,
persist = 0.5
},
})
--Adds default ores to desert_stone
local add_ore = function(a, b, c, d, e, f, g)
minetest.register_ore({
ore_type = "scatter",
ore = a,
wherein = b,
clust_scarcity = c,
clust_num_ores = d,
clust_size = e,
y_min = f,
y_max = g,
})
end
-- Coal
add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16)
-- Iron
add_ore("default:stone_with_iron", "default:desert_stone", 9*9*9, 5, 3, -63, -16)
add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64)
--Mese
add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256)
-- Gold
add_ore("default:stone_with_gold", "default:desert_stone", 15*15*15, 3, 2, -255, -64)
add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256)
-- Diamond
add_ore("default:stone_with_diamond", "default:desert_stone", 17*17*17, 4, 3, -255, -128)
add_ore("default:stone_with_diamond", "default:desert_stone", 15*15*15, 4, 3, -31000, -256)
-- Copper
add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64)
-- Coral Sand
add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10)

19
lib_materials_utils.lua Normal file
View File

@ -0,0 +1,19 @@
function table.contains_substring(t, s)
if type(s) ~= "string" then
return nil
end
for key, value in pairs(t) do
if type(value) == 'string' and s:find(value) then
if key then
return key
else
return true
end
end
end
return false
end

37
lib_materials_water.lua Normal file
View File

@ -0,0 +1,37 @@
if minetest.get_modpath("default") then
local waterflow = 3
minetest.override_item("default:river_water_source", {liquid_range = waterflow})
minetest.override_item("default:river_water_flowing", {liquid_range = waterflow})
minetest.override_item("default:river_water_source", {is_ground_content = true})
minetest.override_item("default:river_water_flowing", {is_ground_content = true})
minetest.override_item("default:water_source", {is_ground_content = true})
minetest.override_item("default:water_flowing", {is_ground_content = true})
if false then
minetest.override_item("default:river_water_source", {light_source = 14})
minetest.override_item("default:river_water_flowing", {light_source = 14})
minetest.override_item("default:water_source", {light_source = 14})
minetest.override_item("default:water_flowing", {light_source = 14})
end
if false then
local newnode = lib_materials.clone_node("default:water_source")
newnode.description = "Water"
newnode.alpha = 0
newnode.liquid_alternative_source = "lib_materials:water_source"
newnode.liquid_alternative_flowing = "lib_materials:water_flowing"
minetest.register_node("lib_materials:water_source", newnode)
newnode = lib_materials.clone_node("default:water_flowing")
newnode.description = "Water"
newnode.alpha = 0
newnode.liquid_alternative_source = "lib_materials:water_source"
newnode.liquid_alternative_flowing = "lib_materials:water_flowing"
minetest.register_node("lib_materials:water_flowing", newnode)
end
end

4
type_dirt.lua Normal file
View File

@ -0,0 +1,4 @@
local S = lib_materials.gettext

155
type_ore.lua Normal file
View File

@ -0,0 +1,155 @@
local S = lib_materials.gettext
--Add Technic granite, marble, and ore node definitions and craftitems
minetest.register_node("lib_materials:brass_block", {
description = S("Brass Block"),
tiles = { "technic_brass_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("lib_materials:lead_block", {
description = S("Lead Block"),
tiles = { "technic_lead_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("lib_materials:wrought_iron_block", {
description = S("Wrought Iron Block"),
tiles = { "technic_wrought_iron_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("lib_materials:cast_iron_block", {
description = S("Cast Iron Block"),
tiles = { "technic_cast_iron_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("lib_materials:carbon_steel_block", {
description = S("Carbon Steel Block"),
tiles = { "technic_carbon_steel_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("lib_materials:stainless_steel_block", {
description = S("Stainless Steel Block"),
tiles = { "technic_stainless_steel_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node( "lib_materials:mineral_lead", {
description = S("Lead Ore"),
tiles = { "default_stone.png^technic_mineral_lead.png" },
is_ground_content = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
drop = "lib_materials:lead_lump",
})
minetest.register_craftitem("lib_materials:brass_ingot", {
description = S("Brass Ingot"),
inventory_image = "technic_brass_ingot.png",
})
minetest.register_craftitem("lib_materials:lead_lump", {
description = S("Lead Lump"),
inventory_image = "technic_lead_lump.png",
})
minetest.register_craftitem("lib_materials:lead_ingot", {
description = S("Lead Ingot"),
inventory_image = "technic_lead_ingot.png",
})
minetest.register_craftitem("lib_materials:wrought_iron_ingot", {
description = S("Wrought Iron Ingot"),
inventory_image = "technic_wrought_iron_ingot.png",
})
minetest.register_craftitem("lib_materials:cast_iron_ingot", {
description = S("Cast Iron Ingot"),
inventory_image = "technic_cast_iron_ingot.png",
})
minetest.register_craftitem("lib_materials:carbon_steel_ingot", {
description = S("Carbon Steel Ingot"),
inventory_image = "technic_carbon_steel_ingot.png",
})
minetest.register_craftitem("lib_materials:stainless_steel_ingot", {
description = S("Stainless Steel Ingot"),
inventory_image = "technic_stainless_steel_ingot.png",
})
local function register_block(block, ingot)
minetest.register_craft({
output = block,
recipe = {
{ingot, ingot, ingot},
{ingot, ingot, ingot},
{ingot, ingot, ingot},
}
})
minetest.register_craft({
output = ingot.." 9",
recipe = {
{block}
}
})
end
register_block("lib_materials:brass_block", "lib_materials:brass_ingot")
register_block("lib_materials:lead_block", "lib_materials:lead_ingot")
register_block("lib_materials:wrought_iron_block", "lib_materials:wrought_iron_ingot")
register_block("lib_materials:cast_iron_block", "lib_materials:cast_iron_ingot")
register_block("lib_materials:carbon_steel_block", "lib_materials:carbon_steel_ingot")
register_block("lib_materials:stainless_steel_block", "lib_materials:stainless_steel_ingot")
minetest.register_craft({
type = 'cooking',
recipe = "lib_materials:lead_lump",
output = "lib_materials:lead_ingot",
})
minetest.register_craft({
type = 'cooking',
recipe = "lib_materials:wrought_iron_ingot",
output = "lib_materials:cast_iron_ingot",
})
minetest.register_craft({
type = 'cooking',
recipe = "lib_materials:cast_iron_ingot",
cooktime = 2,
output = "lib_materials:carbon_steel_ingot",
})
minetest.register_craft({
type = 'cooking',
recipe = "lib_materials:carbon_steel_ingot",
cooktime = 2,
output = "lib_materials:wrought_iron_ingot",
})

26
type_sand.lua Normal file
View File

@ -0,0 +1,26 @@
local S = lib_materials.gettext
-- Some sand with rocks for the river beds.
-- This drops small rocks as well.
-- if false then
-- local newnode = lib_materials.clone_node("default:sand")
-- newnode.description = "Sand and rocks"
-- newnode.tiles = {"vmg_sand_with_rocks.png"}
-- newnode.drop = {max_items=2, items={{items={"lib_materials:small_rocks"}, rarity=1}, {items={"default:sand"}, rarity=1}}}
-- minetest.register_node("lib_materials:sand_with_rocks", newnode)
-- end
minetest.register_node("lib_materials:sand_with_rocks", {
description = "Sand and rocks",
tiles = {"vmg_sand_with_rocks.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
--sounds = default.node_sound_sand_defaults(),
drop = {max_items=2, items={{items={"lib_materials:small_rocks"}, rarity=1}}},
})

46
type_stone.lua Normal file
View File

@ -0,0 +1,46 @@
local S = lib_materials.gettext
minetest.register_node("lib_materials:stone_brown", {
description = S("Brown Stone"),
tiles = {"lib_materials_stone_brown.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1, level = 2},
drop = 'lib_materials:stone_brown',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:stone_sand", {
description = S("Sand Stone"),
tiles = {"lib_materials_stone_sand.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1, level = 2},
drop = 'lib_materials:stone_sand',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "lib_materials:granite", {
description = S("Granite"),
tiles = { "technic_granite.png" },
is_ground_content = true,
groups = {cracky=1, granite=1, stone = 1, level = 2},
drop = 'lib_materials:granite',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "lib_materials:marble", {
description = S("Marble"),
tiles = { "technic_marble.png" },
is_ground_content = true,
groups = {cracky=3, marble=1, stone = 1, level = 2},
drop = 'lib_materials:marble',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})