Add files via upload

This commit is contained in:
Shad MOrdre 2018-12-12 01:04:42 -08:00 committed by GitHub
parent 97e68a37d7
commit 9c43e4f817
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 3993 additions and 65 deletions

View File

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

View File

@ -8,18 +8,18 @@ local S = lib_materials.gettext
local NS = lib_materials.ngettext local NS = lib_materials.ngettext
dofile(lib_materials.path.."/lib_materials_utils.lua") dofile(lib_materials.path.."/lib_materials_utils.lua")
dofile(lib_materials.path.."/lib_materials_fluids.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.."/type_stone.lua")
dofile(lib_materials.path.."/type_stone_deco.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.."/lib_materials_ore_defs.lua") dofile(lib_materials.path.."/lib_materials_ore_defs.lua")

781
lib_materials_fluids.lua Normal file
View File

@ -0,0 +1,781 @@
local S = lib_materials.gettext
--TO BE REVIEWED _MGS-20180220
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
--
-- Liquids
--
--Water
minetest.register_node("lib_materials:murky_water_source", {
description = "Murky Water Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png^[colorize:#1F1F00:alpha",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
special_tiles = {
-- New-style water source material (mostly unused)
{
name = "default_water_source_animated.png^[colorize:#1F1F00:alpha",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
backface_culling = false,
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:murky_water_flowing",
liquid_alternative_source = "lib_materials:murky_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:murky_water_flowing", {
description = "Murky Flowing Water",
drawtype = "flowingliquid",
tiles = {"default_water.png^[colorize:#1F1F00:alpha"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#1F1F00:alpha",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "default_water_flowing_animated.png^[colorize:#1F1F00:alpha",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:murky_water_flowing",
liquid_alternative_source = "lib_materials:murky_water_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1,
not_in_creative_inventory = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:muddy_river_water_source", {
description = "Murky River Water Source",
drawtype = "liquid",
tiles = {
{
name = "aus_muddy_river_water_flowing.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
special_tiles = {
{
name = "aus_muddy_river_water_flowing.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
backface_culling = false,
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:muddy_river_water_flowing",
liquid_alternative_source = "lib_materials:muddy_river_water_source",
liquid_viscosity = 1,
liquid_renewable = false,
liquid_range = 2,
post_effect_color = {a = 103, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:muddy_river_water_flowing", {
description = "Murky Flowing River Water",
drawtype = "flowingliquid",
tiles = {"aus_muddy_river_water_source.png"},
special_tiles = {
{
name = "aus_muddy_river_water_flowing.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "aus_muddy_river_water_flowing.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:muddy_river_water_flowing",
liquid_alternative_source = "lib_materials:muddy_river_water_source",
liquid_viscosity = 1,
liquid_renewable = false,
liquid_range = 2,
post_effect_color = {a = 103, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1,
not_in_creative_inventory = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:dirty_water_source", {
description = "Dirty Water Source",
drawtype = "liquid",
tiles = {
{
name = "mapgen_dirty_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
special_tiles = {
{
name = "mapgen_dirty_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
backface_culling = false,
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:dirty_water_flowing",
liquid_alternative_source = ",lib_materials:dirty_water_source",
liquid_viscosity = 2,
liquid_renewable = false,
liquid_range = 2,
post_effect_color = {a = 103, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:dirty_water_flowing", {
description = "Flowing Dirty Water",
drawtype = "flowingliquid",
tiles = {"default_river_water.png^[colorize:green:100"},
special_tiles = {
{
name = "mapgen_dirty_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
{
name = "mapgen_dirty_water_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:dirty_water_flowing",
liquid_alternative_source = "lib_materials:dirty_water_source",
liquid_viscosity = 1,
liquid_renewable = false,
liquid_range = 2,
post_effect_color = {a = 103, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1,
not_in_creative_inventory = 1, cools_lava = 1},
sounds = default.node_sound_water_defaults(),
})
--Dev Liquid
minetest.register_node("lib_materials:liquid_source", {
description = "Liquid Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png^[colorize:#1F1F1F:alpha",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.0,
},
},
},
special_tiles = {
-- New-style lava source material (mostly unused)
{
name = "default_water_source_animated.png^[colorize:#1F1F1F:alpha",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.0,
},
backface_culling = false,
},
},
paramtype = "light",
light_source = default.LIGHT_MAX - 1,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:liquid_flowing",
liquid_alternative_source = "lib_materials:liquid_source",
liquid_viscosity = 7,
liquid_renewable = false,
damage_per_second = 4 * 2,
post_effect_color = {a = 191, r = 255, g = 64, b = 0},
groups = {oil = 3, liquid = 2},
})
minetest.register_node("lib_materials:liquid_flowing", {
description = "Flowing Liquid",
drawtype = "flowingliquid",
tiles = {"default_water.png^[colorize:#1F1F1F:alpha"},
special_tiles = {
{
name = "default_water_flowing_animated.png^[colorize:#1F1F1F:alpha",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.3,
},
},
{
name = "default_water_flowing_animated.png^[colorize:#1F1F1F:alpha",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.3,
},
},
},
paramtype = "light",
paramtype2 = "flowingliquid",
light_source = default.LIGHT_MAX - 1,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:liquid_flowing",
liquid_alternative_source = "lib_materials:liquid_source",
liquid_viscosity = 7,
liquid_renewable = false,
damage_per_second = 4 * 2,
post_effect_color = {a = 191, r = 255, g = 64, b = 0},
groups = {oil = 3, liquid = 2, not_in_creative_inventory = 1},
})
--Quicksand as fluid. Will spread like lava
minetest.register_node("lib_materials:quicksand_source", {
description = "Quicksand Source",
drawtype = "liquid",
tiles = {
{
name = "default_quicksand.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.0,
},
},
},
special_tiles = {
-- New-style lava source material (mostly unused)
{
name = "default_quicksand.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.0,
},
backface_culling = false,
},
},
paramtype = "light",
light_source = default.LIGHT_MAX - 1,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:quicksand_flowing",
liquid_alternative_source = "lib_materials:quicksand_source",
liquid_viscosity = 8,
liquid_renewable = false,
damage_per_second = 3,
post_effect_color = {a = 191, r = 255, g = 64, b = 0},
groups = {quicksand = 3, liquid = 2},
})
minetest.register_node("lib_materials:quicksand_flowing", {
description = "Flowing Quicksand",
drawtype = "flowingliquid",
tiles = {"default_quicksand_source.png"},
special_tiles = {
{
name = "default_quicksand_flowing.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.3,
},
},
{
name = "default_quicksand_flowing.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.3,
},
},
},
paramtype = "light",
paramtype2 = "flowingliquid",
light_source = default.LIGHT_MAX - 1,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:quicksand_flowing",
liquid_alternative_source = "lib_materials:quicksand_source",
liquid_viscosity = 7,
liquid_renewable = false,
damage_per_second = 4,
post_effect_color = {a = 191, r = 255, g = 64, b = 0},
groups = {quicksand = 3, liquid = 2, not_in_creative_inventory = 1},
})
-- Quicksand as node. Player will sink, slow, and take drowning damage.
--(new style, sinking inside shows yellow effect with or without noclip, but old quicksand is shown as black until block placed nearby to update light)
minetest.register_node("lib_materials:quicksand", {
description = S("Quicksand"),
tiles = {"default_sand.png"},
drawtype = "glasslike",
paramtype = "light",
drop = "default:sand",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:quicksand",
liquid_alternative_source = "lib_materials:quicksand",
liquid_renewable = false,
liquid_range = 0,
drowning = 1,
walkable = false,
climbable = false,
post_effect_color = {r = 230, g = 210, b = 160, a = 245},
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults(),
})
-- craft quicksand
minetest.register_craft({
output = "lib_materials:quicksand",
recipe = {
{"group:sand", "group:sand", "group:sand"},
{"group:sand", "group:water_bucket", "group:sand"},
{"group:sand", "group:sand", "group:sand"},
},
replacements = {
{"group:water_bucket", "bucket:bucket_empty"}
}
})
-- Mud as node. Player will sink, slow, and take drowning damage.
-- Mud for swamps
minetest.register_node("lib_materials:mud_wet", {
description = "Mud Wet",
tiles = {"biomes_mud.png"},
liquid_viscosity = 8,
liquidtype = "source",
liquid_renewable = false,
liquid_alternative_source = "lib_materials:mud",
liquid_alternative_flowing = "lib_materials:mud",
liquid_range = 0,
post_effect_color = {r=115, g=61, b=31, a=255},
drowning = 1,
walkable = false,
groups = {crumbly = 2},
sounds = default.node_sound_dirt_defaults(),
})
--Grease and Oil
minetest.register_craft({
output = "lib_materials:grease_source",
recipe = {
{"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{"default:coal_lump", "bucket:bucket_water", "default:coal_lump"},
{"default:coal_lump", "default:dirt", "default:coal_lump"}
}
})
minetest.register_node("lib_materials:grease_source", {
description = "Grease Source",
drawtype = "liquid",
tiles = {
{
name = "steampunk_grease_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
special_tiles = {
-- New-style water source material (mostly unused)
{
name = "steampunk_grease_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
backface_culling = false,
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:grease_flowing",
liquid_alternative_source = "lib_materials:grease_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 107, g = 53, b = 18},
groups = {oil = 3, liquid = 1, flammable = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:grease_flowing", {
description = "Flowing Grease",
drawtype = "flowingliquid",
tiles = {"steampunk_grease.png"},
special_tiles = {
{
name = "steampunk_grease_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "steampunk_grease_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:grease_flowing",
liquid_alternative_source = "lib_materials:grease_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 45, g = 23, b = 7},
groups = {oil = 3, liquid = 1, flammable = 1,
not_in_creative_inventory = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_craft({
output = "lib_materials:oil_source",
recipe = {
{"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{"default:coal_lump", "bucket:bucket_water", "default:coal_lump"},
{"default:coal_lump", "default:coal_lump", "default:coal_lump"}
}
})
minetest.register_node("lib_materials:oil_source", {
description = "Oil Source",
drawtype = "liquid",
tiles = {
{
name = "steampunk_oil_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
special_tiles = {
-- New-style water source material (mostly unused)
{
name = "steampunk_oil_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
backface_culling = false,
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "lib_materials:oil_flowing",
liquid_alternative_source = "lib_materials:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 103, r = 45, g = 23, b = 7},
groups = {oil = 3, liquid = 1, flammable = 1},
sounds = default.node_sound_water_defaults(),
})
minetest.register_node("lib_materials:oil_flowing", {
description = "Flowing Oil",
drawtype = "flowingliquid",
tiles = {"steampunk_oil.png"},
special_tiles = {
{
name = "steampunk_oil_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "steampunk_oil_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "lib_materials:oil_flowing",
liquid_alternative_source = "lib_materials:oil_source",
liquid_viscosity = 1,
post_effect_color = {a = 150, r = 45, g = 23, b = 7},
groups = {oil = 3, liquid = 1, flammable = 1,
not_in_creative_inventory = 1},
sounds = default.node_sound_water_defaults(),
})

View File

@ -1,17 +1,17 @@
-- Adds stone types(default types{desert_stone, sandstone, desert_sandstone, silver_sandstone}; lib_materials types{stone_brown, stone_sand}) as ores within default:stone -- 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="lib_materials:stone_sandstone", wherein="lib_materials: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="lib_materials:stone_sandstone_desert", wherein="lib_materials: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="lib_materials:stone_sandstone_silver", wherein="lib_materials: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_desert", wherein="lib_materials: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_brown", wherein="lib_materials: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}) minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sand", wherein="lib_materials: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 -- Adds default desert_stone, desert_sandstone, and stone_brown to stone_sand
minetest.register_ore({ minetest.register_ore({
ore_type = "scatter", ore_type = "blob",
ore = "default:desert_stone", ore = "lib_materials:stone_desert",
wherein = {"lib_materials:stone_sand"}, wherein = {"lib_materials:stone_sand"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8, clust_num_ores = 8,
@ -29,8 +29,8 @@ minetest.register_ore({
}) })
minetest.register_ore({ minetest.register_ore({
ore_type = "scatter", ore_type = "blob",
ore = "default:desert_sandstone", ore = "lib_materials:stone_sandstone_desert",
wherein = {"lib_materials:stone_sand"}, wherein = {"lib_materials:stone_sand"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8, clust_num_ores = 8,
@ -48,7 +48,7 @@ minetest.register_ore({
}) })
minetest.register_ore({ minetest.register_ore({
ore_type = "scatter", ore_type = "blob",
ore = "lib_materials:stone_brown", ore = "lib_materials:stone_brown",
wherein = {"lib_materials:stone_sand"}, wherein = {"lib_materials:stone_sand"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 4 * 4 * 4,
@ -66,36 +66,59 @@ minetest.register_ore({
}, },
}) })
--[[
-- Adds Air as ore within default:stone -- Adds Air as ore within default:stone
minetest.register_ore({ minetest.register_ore({
ore_type = "scatter", ore_type = "blob",
ore = "air", ore = "air",
wherein = {"groups:stone"}, wherein = {"lib_materials:stone_limestone_01"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 16*8*16,
clust_num_ores = 8, clust_num_ores = 16*16,
clust_size = 6, clust_size = 16,
y_min = -50, y_min = -50,
y_max = -11, y_max = -11,
noise_params = { noise_params = {
offset = 0.35, offset = 0,
scale = 0.2, scale = 1,
spread = {x = 5, y = 5, z = 5}, spread = {x = 256, y = 256, z = 256},
seed = -316, seed = 4130293965,
octaves = 1, octaves = 3,
persist = 0.5 persist = 0.6
}, },
}) })
--Adds default:water_source within default:stone --Adds default:water_source within default:stone
minetest.register_ore({ minetest.register_ore({
ore_type = "scatter", ore_type = "blob",
ore = "default:river_water_source", ore = "default:river_water_source",
wherein = {"groups:stone"}, wherein = {"lib_materials:stone_limestone_01"},
clust_scarcity = 16*4*16,
clust_num_ores = 16*16,
clust_size = 16,
y_min = -50,
y_max = -11,
noise_params = {
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 3,
persist = 0.6
},
})
--]]
--lib_materials:Quicksand
minetest.register_ore({
ore_type = "blob",
ore = "lib_materials:quicksand",
wherein = {"default:sand"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8, clust_num_ores = 8,
clust_size = 6, clust_size = 6,
y_min = -30, y_min = 4,
y_max = 0, y_max = 30,
noise_params = { noise_params = {
offset = 0.35, offset = 0.35,
scale = 0.2, scale = 0.2,
@ -111,8 +134,8 @@ minetest.register_ore({
-- Baked Clay within Orange Clay -- Baked Clay within Orange Clay
minetest.register_ore({ minetest.register_ore({
ore_type = "blob", ore_type = "blob",
ore = "bakedclay:red", ore = "lib_materials:dirt_clayey",
wherein = {"bakedclay:orange"}, wherein = {"default:dirt", "lib_materials:dirt"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8, clust_num_ores = 8,
clust_size = 6, clust_size = 6,
@ -130,8 +153,8 @@ minetest.register_ore({
minetest.register_ore({ minetest.register_ore({
ore_type = "blob", ore_type = "blob",
ore = "bakedclay:grey", ore = "lib_materials:dirt_sandy",
wherein = {"bakedclay:orange"}, wherein = {"default:dirt", "lib_materials:dirt"},
clust_scarcity = 4 * 4 * 4, clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8, clust_num_ores = 8,
clust_size = 6, clust_size = 6,
@ -147,6 +170,119 @@ minetest.register_ore({
}, },
}) })
minetest.register_ore({
ore_type = "blob",
ore = "lib_materials:dirt_silty",
wherein = {"default:dirt", "lib_materials:dirt"},
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 = "lib_materials:dirt_clay_red",
wherein = {"lib_materials:dirt_clayey"},
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 = "lib_materials:dirt_silt_02",
wherein = {"lib_materials:dirt_silty"},
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
},
})
--Quartz
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:quartz_ore",
wherein = "default:stone",
clust_scarcity = 5000,
clust_num_ores = 10,
clust_size = 5,
height_min = -59,
height_max = -10,
})
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:quartz_ore",
wherein = "default:desert_stone",
clust_scarcity = 5000,
clust_num_ores = 10,
clust_size = 5,
height_min = -59,
height_max = -10,
})
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:quartz_ore",
wherein = "default:desert_sandstone",
clust_scarcity = 5000,
clust_num_ores = 10,
clust_size = 5,
height_min = -59,
height_max = -10,
})
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:quartz_ore",
wherein = "default:sandstone",
clust_scarcity = 5000,
clust_num_ores = 10,
clust_size = 5,
height_min = -59,
height_max = -10,
})
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:quartz_ore",
wherein = "lib_materials:stone_brown",
clust_scarcity = 5000,
clust_num_ores = 10,
clust_size = 5,
height_min = -59,
height_max = -10,
})
--Adds default ores to desert_stone --Adds default ores to desert_stone
@ -165,33 +301,608 @@ local add_ore = function(a, b, c, d, e, f, g)
end end
-- Coal -- Coal
add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16) add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16)
-- Iron -- 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", 9*9*9, 5, 3, -63, -16)
add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64) add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64)
--Mese --Mese
add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256) add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256)
-- Gold -- 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", 15*15*15, 3, 2, -255, -64)
add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256) add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256)
-- Diamond -- 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", 17*17*17, 4, 3, -255, -128)
add_ore("default:stone_with_diamond", "default:desert_stone", 15*15*15, 4, 3, -31000, -256) add_ore("default:stone_with_diamond", "default:desert_stone", 15*15*15, 4, 3, -31000, -256)
-- Copper -- Copper
add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64) add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64)
-- Coral Sand -- Coral Sand
add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10) add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10)
-- technic lead and moreores silver
add_ore("lib_materials:mineral_lead", "lib_materials:stone", 10*10*10, 24, 4, -100, -10)
add_ore("lib_materials:mineral_lead", "default:desert_stone", 10*10*10, 24, 4, -100, -10)
add_ore("lib_materials:mineral_lead", "lib_materials:stone_brown", 10*10*10, 24, 4, -100, -10)
add_ore("lib_materials:mineral_silver", "lib_materials:stone", 10*10*10, 24, 4, -100, -10)
add_ore("lib_materials:mineral_silver", "default:desert_stone", 10*10*10, 24, 4, -100, -10)
add_ore("lib_materials:mineral_silver", "lib_materials:stone_brown", 10*10*10, 24, 4, -100, -10)
--Darkage Ores
--[[
-- Some local constants to use for mapgen
local c_air = minetest.CONTENT_AIR
local c_ignore = minetest.CONTENT_IGNORE
local c_stone = minetest.get_content_id("default:stone")
local c_water = minetest.get_content_id("default:water_source")
local c_sand = minetest.get_content_id("default:sand")
local c_dirt = minetest.get_content_id("default:dirt")
local c_lawn = minetest.get_content_id("default:dirt_with_grass")
local stone_and_air_assoc = {[c_stone]=true,[c_air]=true} --associative array
--Makes a stratus of rocks
--name of the rock to generate
--c_wherein id of node to replace, for example minetest.get_content_id("default:stone")
--ca_ceilin associative array
--minp, maxp the corners of the map to be generated
--seed random seed
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
--radius horizontal radius of the stratus
--radius_y vertical radius of the stratus
--deep how deep can be from the ground
local function generate_stratus(data, area, name, c_wherein, ca_ceilin, minp, maxp, seed, stratus_chance, radius, radius_y, deep, y_min, y_max)
if maxp.y < y_min
or minp.y > y_max then
return
end
local c_node = minetest.get_content_id(name)
-- it will be only generate a stratus for every 100 m of area
local stratus_per_volume=1
local area_size = 45
local y_min = math.max(minp.y, y_min)
local y_max = math.min(maxp.y, y_max)
local volume = ((maxp.x-minp.x+1)/area_size)*((y_max-y_min+1)/area_size)*((maxp.z-minp.z+1)/area_size)
local pr = PseudoRandom(seed)
local blocks = math.floor(stratus_per_volume*volume)
minetest.log("info", " <<"..name..">>");
if blocks == 0 then
blocks = 1
end
minetest.log("info", string.format(" blocks: %d in vol: %d (%d,%d,%d)",
blocks, volume, maxp.x-minp.x+1, y_max-y_min+1, maxp.z-minp.z+1))
for i = 1,blocks do
if pr:next(1,stratus_chance) == 1 then
-- TODO deep
local y0=y_max-radius_y+1
if y0 < y_min then
y0=y_min
else
y0=pr:next(y_min, y0)
end
local x0 = maxp.x-radius+1
if x0 < minp.x then
x0 = minp.x
else
x0 = pr:next(minp.x, x0)
end
local z0 = maxp.z-radius+1
if z0 < minp.z then
x0 = minp.z
else
z0 = pr:next(minp.z, z0)
end
local n = data[area:index(x0, y0, z0)]
local i = 0
if ca_ceilin[n] then
-- search for the node to replace
--print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min))
local vi = area:index(x0, y0-1, z0)
for y1 = y0-1,y_min,-1 do
if data[vi] == c_wherein then
y0 = math.max(y1-deep, y_min)
break
end
vi = vi - area.ystride
end
local rx=pr:next(radius/2,radius)+1
local rz=pr:next(radius/2,radius)+1
local ry=pr:next(radius_y/2,radius_y)+1
--print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")")
vi = area:index(x0, y0, z0)
for x1=0,rx do
local vi = vi + x1
rz = math.max(rz + 3 - pr:next(1,6), 1)
for z1=pr:next(1,3),rz do
local vi = vi + z1 * area.zstride
for y1 = pr:next(1,3), ry + pr:next(1,3) do
local vi = vi + y1 * area.ystride
if data[vi] == c_wherein then
data[vi] = c_node
i = i + 1
end
end
end
end
end
minetest.log("info", " generated "..i.." blocks in ("..x0..","..y0..","..z0..")")
end
end
--print("generate_ore done")
end
--]]
--[[
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, needs_dirt)
if maxp.y >= maxh+1 and minp.y <= minh-1 then
local c_ore = minetest.get_content_id(name)
local pr = PseudoRandom(seed)
local divlen = 4
local divs = (maxp.x-minp.x)/divlen+1;
for yy=minh,maxh do
local x = pr:next(1,chance)
if x == 1 then
for divx=0+1,divs-1-1 do
for divz=0+1,divs-1-1 do
local cx = minp.x + math.floor((divx+0.5)*divlen)
local cz = minp.z + math.floor((divz+0.5)*divlen)
local up = data[varea:index(cx,yy,cz)]
local down = data[varea:index(cx,yy-1,cz)]
if ( up == c_water or up == c_air ) and ( down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn ))) then
local num_water_around = 0
if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
num_water_around = num_water_around + 1
end
if data[varea:index(cx+divlen*2,yy,cz)] == c_water then
num_water_around = num_water_around + 1
end
if data[varea:index(cx,yy,cz-divlen*2)] == c_water then
num_water_around = num_water_around + 1
end
if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
num_water_around = num_water_around + 1
end
if num_water_around < 3 then
for x1=-divlen,divlen do
for z1=-divlen,divlen do
local i = varea:index(cx+x1,yy-1,cz+z1)
local down = data[i]
if down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn)) then
data[i] = c_ore
end
end
end
end
end
end
end
end
end
end
end
--]]
local mgparams = minetest.get_mapgen_params()
local seed = mgparams.seed
-- Generate desert stone with iron in derset.
minetest.register_ore({
ore_type = "scatter",
ore = "lib_materials:desert_stone_with_iron",
wherein = "lib_materials:stone_desert",
clust_scarcity = 12 * 12 * 12,
clust_num_ores = 3,
clust_size = 2,
y_min = -1,
y_max = 200,
})
-- Generate chalk inside mountains
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_chalk",
wherein = {"lib_materials:stone"},
column_height_max = 30,
column_height_min = 20,
y_min = -20,
y_max = 50,
noise_threshold = 0.45,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 30, y = 30, z = 30},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_tuff",
wherein = {"lib_materials:stone", "lib_materials:stone_gravel", },
column_height_max = 20,
column_height_min = 15,
y_min = -200,
y_max = 200,
noise_threshold = 0.5,
noise_params = {
offset = 0.35,
scale = 0.19,
seed = seed+12,
spread = {x = 45, y = 45, z = 45},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_rhyolitic_tuff",
wherein = {"lib_materials:stone", "lib_materials:stone_gravel", },
column_height_max = 20,
column_height_min = 15,
y_min = -2000,
y_max = 200,
noise_threshold = 0.53,
noise_params = {
offset = 0.35,
scale = 0.2,
seed = seed+13,
spread = {x = 100, y = 100, z = 100},
octaves = 1,
persistence = 0.6
},
})
--old red sandstone
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_sandstone_old_red",
wherein = {"lib_materials:stone", "lib_materials:dirt", "lib_materials:stone_gravel", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
--TO DOs Gneiss, Marble_03, Schist, Serpentine, Shale, Slate_01, ---ShadMOrdre
--[[
--]]
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_gneiss_01",
wherein = {"lib_materials:stone", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_marble_03",
wherein = {"lib_materials:stone", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_schist",
wherein = {"lib_materials:stone", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_serpentine",
wherein = {"lib_materials:stone", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_shale",
wherein = {"lib_materials:stone", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
minetest.register_ore({
ore_type = "sheet",
ore = "lib_materials:stone_slate_01",
wherein = {"lib_materials:stone", },
column_height_max = 8,
column_height_min = 6,
y_min = -200,
y_max = 500,
noise_threshold = 0.49,
noise_params = {
offset = 0.28,
scale = 0.3,
seed = seed+4,
spread = {x = 10, y = 10, z = 10},
octaves = 1,
persistence = 0.6
},
})
--[[
-- Generate strati
local dbuf = {} --for mapgen
local function generate_strati(minp, maxp, seed)
local t1 = os.clock()
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
local data = vm:get_data(dbuf)
generate_claylike(data, area, "lib_materials:mud_01", minp, maxp, seed+1, 4, 0, 2, false)
generate_claylike(data, area, "lib_materials:silt_02", minp, maxp, seed+2, 4, -1, 1, true)
-- TODO: Maybe realize the following stuff with register ore. somehow.
generate_stratus(data, area, "lib_materials:shale",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
generate_stratus(data, area, "lib_materials:slate",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
generate_stratus(data, area, "lib_materials:schist",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
generate_stratus(data, area, "lib_materials:basalt",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
generate_stratus(data, area, "lib_materials:marble_03",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
generate_stratus(data, area, "lib_materials:serpentine",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
generate_stratus(data, area, "lib_materials:gneiss",
c_stone,
stone_and_air_assoc,
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
vm:set_data(data)
vm:write_to_map()
minetest.log("info", string.format("[darkage] Generated Strati after %.2fs.", os.clock() - t1))
end
--]]
--[[
minetest.register_on_generated(generate_strati)
--]]
--ROCKS/MINERALS stone and ore defs
-- ores have to be redefined for skarn background
-- Chalcopyrite/Malachyte skarn mix
minetest.register_ore({
ore_type = "scatter",
wherein="lib_materials:stone_skarn",
ore="lib_materials:skarn_chalcopyrite",
clust_size=3,
clust_num_ores=12,
clust_scarcity=4^3,
noise_treshold=0.333,
noise_params={
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 5,
persist = 0.6
},
})
minetest.register_ore({
ore_type = "scatter",
wherein="lib_materials:stone_skarn",
ore="lib_materials:skarn_malachyte",
clust_size=3,
clust_num_ores=11,
clust_scarcity=4^3,
noise_treshold=0.333,
noise_params={
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 5,
persist = 0.6
},
})
-- Pb Zn skarn mix
-- marble and hornfels, as well as unchanged limestone.
-- { ore="rocks:marble", percent=10 },
-- { ore="rocks:hornfels", percent=10 },
-- { ore="rocks:skarn_galena", percent=25 },
-- { ore="rocks:skarn_sphalerite", percent=25 },
minetest.register_ore({
ore_type = "scatter",
wherein="lib_materials:stone_skarn",
ore="lib_materials:skarn_sphalerite",
clust_size=3,
clust_num_ores=9,
clust_scarcity=4^3,
noise_treshold=0.38,
noise_params={
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 5,
persist = 0.6
},
})
minetest.register_ore({
ore_type = "scatter",
wherein="lib_materials:stone_skarn",
ore="lib_materials:skarn_galena",
clust_size=3,
clust_num_ores=10,
clust_scarcity=4^3,
noise_treshold=0.38,
noise_params={
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 5,
persist = 0.6
},
})
-- Fe skarn mix
-- marble and hornfels, as well as unchanged limestone.
-- { ore="rocks:marble", percent=10 },
-- { ore="rocks:hornfels", percent=10 },
-- { ore="rocks:skarn_magnetite", percent=40 },
minetest.register_ore({
ore_type = "scatter",
wherein="lib_materials:stone_skarn",
ore="lib_materials:skarn_magnetite",
clust_size=3,
clust_num_ores=13,
clust_scarcity=4^3,
noise_treshold=0.3,
noise_params={
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 5,
persist = 0.6
},
})
-- magnesite/vermiculite skarn mix
-- marble and hornfels, as well as unchanged limestone.
-- { ore="rocks:marble", percent=10 },
-- { ore="rocks:hornfels", percent=10 },
-- { ore="rocks:skarn_magnesite", percent=30 },
-- { ore="rocks:vermiculite", percent=20 },
-- ores have to be redefined for pegmatite background
-- Ore/Mineral Percent
-- Spodumene 7%
-- Muscovite (mica) 7%
-- Kyanite 5%
-- Lepidolite 2.5%
-- Tantalite 2%
-- Cassiterite 1.5%
-- Wolframite 1%
-- Pollucite 0.1%
minetest.register_ore({
ore_type = "scatter",
wherein="lib_materials:stone_pegmatite",
ore="lib_materials:pegmatite_cassiterite",
clust_size=3,
clust_num_ores=9,
clust_scarcity=4^3,
noise_treshold=-0.1,
noise_params={
offset = 0,
scale = 1,
spread = {x = 256, y = 256, z = 256},
seed = 163281090,
octaves = 5,
persist = 0.6
},
})

View File

@ -17,3 +17,20 @@ function table.contains_substring(t, s)
end end
function get_node_drops(fullRockNode, cobbleRockNode)
return {
max_items = 1,
items = {
{
-- drop the cobble variant with 1/3 chance
items = {cobbleRockNode},
rarity = 3,
},
{
-- drop the full node with 2/3 chance
items = {fullRockNode},
}
}
}
end

View File

@ -1,4 +1,607 @@
local S = lib_materials.gettext local S = lib_materials.gettext
--Additional Dirts
local GRASS_PALETTE_1 = "#69e942:80"
local GRASS_PALETTE_2 = "#b1e436:80"
local GRASS_PALETTE_3 = "#dacf61:80"
local GRASS_PALETTE_4 = "#fcd953:80"
local GRASS_DRY_PALETTE_1 = "#ace943:80"
local GRASS_DRY_PALETTE_2 = "#e4d136:80"
local GRASS_DRY_PALETTE_3 = "#daa062:80"
local GRASS_DRY_PALETTE_4 = "#fc9754:80"
local GRASS_BROWN_PALETTE_1 = "#e9df43:80"
local GRASS_BROWN_PALETTE_2 = "#e48836:80"
local GRASS_BROWN_PALETTE_3 = "#da6e62:80"
local GRASS_BROWN_PALETTE_4 = "#fc5458:80"
local GRASS_TEXTURE_TOP = "lib_materials_grass.png"
local GRASS_TEXTURE_SIDE = "lib_materials_grass_side.png"
local GRASS_BROWN_TEXTURE_TOP = "lib_materials_grass_brown.png"
local GRASS_BROWN_TEXTURE_SIDE = "lib_materials_grass_brown_side.png"
local GRASS_DRY_TEXTURE_TOP = "lib_materials_dry_grass.png"
local GRASS_DRY_TEXTURE_SIDE = "lib_materials_dry_grass_side.png"
local GRASS_JUNGLE_TEXTURE_TOP = "lib_materials_grass_jungle_01_top.png"
local GRASS_JUNGLE_TEXTURE_SIDE = "lib_materials_grass_jungle_01_side.png"
--Default Dirt with Grass
minetest.register_node("lib_materials:dirt2", {
description = "Dirt2 (lib_materials)",
tiles = {"default_dirt.png"},
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("lib_materials:dirt2_with_grass", {
description = "Dirt2 with Grass (lib_materials)",
tiles = {"default_grass.png", "default_dirt.png",
{name = "default_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'lib_materials:dirt2',
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("lib_materials:dirt2_with_grass_footsteps", {
description = "Dirt2 with Grass and Footsteps (lib_materials)",
tiles = {"default_grass.png^default_footprint.png", "default_dirt.png",
{name = "default_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1},
drop = 'lib_materials:dirt2',
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("lib_materials:dirt2_with_dry_grass", {
description = "Dirt2 with Dry Grass (lib_materials)",
tiles = {"default_dry_grass.png",
"default_dirt.png",
{name = "default_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'lib_materials:dirt2',
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.4},
}),
})
minetest.register_node("lib_materials:dirt2_with_snow", {
description = "Dirt2 with Snow (lib_materials)",
tiles = {"default_snow.png", "default_dirt.png",
{name = "default_dirt.png^default_snow_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, spreading_dirt_type = 1, snowy = 1},
drop = 'lib_materials:dirt2',
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_snow_footstep", gain = 0.15},
}),
})
minetest.register_node("lib_materials:dirt2_with_rainforest_litter", {
description = "Dirt2 with Rainforest Litter (lib_materials)",
tiles = {
"default_rainforest_litter.png",
"default_dirt.png",
{name = "default_dirt.png^default_rainforest_litter_side.png",
tileable_vertical = false}
},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "lib_materials:dirt2",
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.4},
}),
})
minetest.register_node("lib_materials:dirt2_with_coniferous_litter", {
description = "Dirt2 with Coniferous Litter (lib_materials)",
tiles = {
"default_coniferous_litter.png",
"default_dirt.png",
{name = "default_dirt.png^default_coniferous_litter_side.png",
tileable_vertical = false}
},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "lib_materials:dirt2",
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.4},
}),
})
--Baked Clay
minetest.register_node("lib_materials:clay_baked_grey", {
description = S("Baked Clay - Grey"),
tiles = {"lib_materials_clay_grey_baked.png"},
groups = {cracky = 3},
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:clay_baked_orange", {
description = S("Baked Clay - Orange"),
tiles = {"lib_materials_clay_orange_baked.png"},
groups = {cracky = 3},
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:clay_baked_red", {
description = S("Baked Clay - Red"),
tiles = {"lib_materials_clay_red_baked.png"},
groups = {cracky = 3},
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
-- Darkage darkdirt, mud
minetest.register_node("lib_materials:mud_dried", {
description = "Mud Dried",
tiles = {"darkage_mud_up.png","darkage_mud.png"},
is_ground_content = true,
groups = {crumbly=3},
drop = 'lib_materials:mud_lump 4',
sounds = default.node_sound_dirt_defaults({footstep = "",
}),
})
minetest.register_craftitem("lib_materials:mud_lump", {
description = "Mud Lump",
inventory_image = "darkage_mud_lump.png",
})
minetest.register_craftitem("lib_materials:silt_lump", {
description = "Silt Lump",
inventory_image = "darkage_silt_lump.png",
})
-- Ethereal dirts
minetest.register_node("lib_materials:dirt_dried", {
description = S("Dirt - Dried"),
tiles = {"lib_materials_dirt_dried.png"},
is_ground_content = lib_materials.cavedirt,
groups = {crumbly = 3},
sounds = default.node_sound_dirt_defaults()
})
minetest.register_craft({
type = "cooking",
output = "lib_materials:dirt_dried",
recipe = "default:dirt",
cooktime = 3,
})
--[[ green dirt
-- -- minetest.register_node("lib_materials:green_dirt", {
-- -- description = S("Green Dirt"),
-- -- tiles = {
-- -- "default_grass.png",
-- -- "default_dirt.png",
-- -- "default_dirt.png^default_grass_side.png"
-- -- },
-- -- is_ground_content = false,
-- -- groups = {crumbly = 3, soil = 1, lib_ecology_grass = 1},
-- -- soil = {
-- -- base = "lib_materials:green_dirt",
-- -- dry = "farming:soil",
-- -- wet = "farming:soil_wet"
-- -- },
-- -- drop = "default:dirt",
-- -- sounds = default.node_sound_dirt_defaults({
-- -- footstep = {name = "default_grass_footstep", gain = 0.25},
-- -- }),
-- -- })
--]]
local dirts = {
"Bamboo", "Cold", "Crystal", "Fiery", "Gray", "Green",
"Grove", "Jungle_01", "Mushroom", "Prairie"
}
for n = 1, #dirts do
local desc = dirts[n]
local name = desc:lower()
minetest.register_node("lib_materials:dirt_with_grass_"..name, {
description = S("Dirt with Grass" .. desc),
tiles = {
"lib_materials_grass_"..name.."_top.png",
"lib_materials_dirt.png",
"lib_materials_dirt.png^lib_materials_grass_"..name.."_side.png"
},
is_ground_content = false,
groups = {crumbly = 3, soil = 1, lib_ecology_grass = 1},
soil = {
base = "lib_materials:dirt_with_"..name.."_grass",
dry = "farming:soil",
wet = "farming:soil_wet"
},
drop = "lib_materials:dirt",
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},}),
})
end
--Mapgen Dirts (farlands)
minetest.register_node("lib_materials:dirt_with_grass_fungi", {
description = "Fungi Covered Grass",
tiles = {"lib_materials_grass_fungi_top.png", "lib_materials_dirt.png", "lib_materials_grass_fungi_side.png"},
groups = {crumbly = 1, oddly_breakable_by_hand = 1},
sounds = default.node_sound_dirt_defaults()
})
minetest.register_node("lib_materials:dirt_with_grass_jungle_02", {
description = "Dirt with Jungle 02 Grass",
tiles = {"lib_materials_grass_jungle_02_top.png", "lib_materials_dirt.png", "lib_materials_grass_jungle_02_side.png"},
groups = {crumbly = 3,},
sounds = default.node_sound_dirt_defaults()
})
minetest.register_node("lib_materials:dirt_with_grass_leafy", {
description = "Dirt With Leaf Covered Grass",
tiles = {"lib_materials_grass_leafy_top.png", "lib_materials_dirt.png", "lib_materials_grass_leafy_side.png"},
groups = {crumbly = 3,},
sounds = default.node_sound_dirt_defaults()
})
minetest.register_node("lib_materials:dirt_with_grass_swamp", {
description = "Dirt With Swamp Grass",
tiles = {"lib_materials_grass_swamp_top.png", "lib_materials_dirt.png", "lib_materials_grass_swamp_side.png"},
groups = {crumbly = 3,},
sounds = default.node_sound_dirt_defaults()
})
minetest.register_node("lib_materials:stone_with_grass_sea", {
description = "Stone With Sea Grass",
tiles = {"lib_materials_grass_sea_top.png", "lib_materials_stone_default.png",
{name = "lib_materials_grass_sea_side.png",
tileable_vertical = false}},
groups = {crumbly = 3,},
drop = 'lib_ecology:seagrass_1',
sounds = default.node_sound_stone_defaults()
})
--mg Dry Dirt
minetest.register_node("lib_materials:dirt_with_brown_grass", {
description = "Dirt with Brown Grass",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:#e8bb30:80", "lib_materials_dirt.png", "lib_materials_dirt.png^("..GRASS_TEXTURE_SIDE.."^[colorize:#e8bb30:80)"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = 'lib_materials:dirt',
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
-- Prehistoric Life Dirts
minetest.register_node("lib_materials:dirt_with_pete_moss", {
description = "Dirt with Pete Moss",
tiles = {"lib_materials_dirt_with_pete_moss_top.png", "lib_materials_dirt_with_pete_moss_side.png"},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},}),
})
minetest.override_item("default:clay", {description = "White Clay"})
-- Add dirts
local function register_dirts(readname)
local name = readname:lower()
local itemstr_dirt = "lib_materials:" .. name
local itemstr_lawn = itemstr_dirt .. "_with_grass"
local itemstr_lawn2 = itemstr_dirt .. "_with_grass2"
local itemstr_lawn3 = itemstr_dirt .. "_with_grass3"
local itemstr_lawn4 = itemstr_dirt .. "_with_grass4"
local itemstr_lawn5 = itemstr_dirt .. "_with_grass5"
local itemstr_lawn6 = itemstr_dirt .. "_with_grass6"
local itemstr_lawn7 = itemstr_dirt .. "_with_grass7"
local itemstr_lawn8 = itemstr_dirt .. "_with_grass8"
local itemstr_lawn9 = itemstr_dirt .. "_with_grass9"
local itemstr_brown = itemstr_dirt .. "_with_brown_grass"
local itemstr_brown2 = itemstr_dirt .. "_with_brown_grass2"
local itemstr_brown3 = itemstr_dirt .. "_with_brown_grass3"
local itemstr_brown4 = itemstr_dirt .. "_with_brown_grass4"
local itemstr_brown5 = itemstr_dirt .. "_with_brown_grass5"
local itemstr_brown6 = itemstr_dirt .. "_with_brown_grass6"
local itemstr_brown7 = itemstr_dirt .. "_with_brown_grass7"
local itemstr_brown8 = itemstr_dirt .. "_with_brown_grass8"
local itemstr_brown9 = itemstr_dirt .. "_with_brown_grass9"
local itemstr_dry = itemstr_dirt .. "_with_dry_grass"
local itemstr_dry2 = itemstr_dirt .. "_with_dry_grass2"
local itemstr_dry3 = itemstr_dirt .. "_with_dry_grass3"
local itemstr_dry4 = itemstr_dirt .. "_with_dry_grass4"
local itemstr_dry5 = itemstr_dirt .. "_with_dry_grass5"
local itemstr_dry6 = itemstr_dirt .. "_with_dry_grass6"
local itemstr_dry7 = itemstr_dirt .. "_with_dry_grass7"
local itemstr_dry8 = itemstr_dirt .. "_with_dry_grass8"
local itemstr_dry9 = itemstr_dirt .. "_with_dry_grass9"
local itemstr_coniferous = itemstr_dirt .. "_with_coniferous_litter"
local itemstr_rain = itemstr_dirt .. "_with_rainforest_litter"
local itemstr_snow = itemstr_dirt .. "_with_snow"
local tilestr = "lib_materials_" .. name .. ".png"
minetest.register_node(itemstr_dirt, {
description = readname .. " Dirt",
tiles = {tilestr},
is_ground_content = true,
groups = {crumbly=3,soil=1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "lib_materials:"..name,
dry = "farming:soil",
wet = "farming:soil_wet"
},
})
minetest.register_node(itemstr_lawn, {
description = readname .. " Dirt with Grass",
tiles = {"default_grass.png", tilestr, tilestr .. "^default_grass_side.png"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn2, {
description = readname .. " Dirt with Grass2",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_1..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn3, {
description = readname .. " Dirt with Grass3",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_2..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn4, {
description = readname .. " Dirt with Grass4",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_3..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn5, {
description = readname .. " Dirt with Grass5",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_4..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn6, {
description = readname .. " Dirt with Grass6",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_1..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn7, {
description = readname .. " Dirt with Grass7",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_2..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn8, {
description = readname .. " Dirt with Grass8",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_3..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_lawn9, {
description = readname .. " Dirt with Grass9",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_PALETTE_4..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_dry, {
description = readname .. " Dirt with Dry Grass",
tiles = {"default_dry_grass.png", tilestr, tilestr .. "^default_dry_grass_side.png"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry2, {
description = readname .. " Dirt with Dry Grass2",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry3, {
description = readname .. " Dirt with Dry Grass3",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry4, {
description = readname .. " Dirt with Dry Grass4",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry5, {
description = readname .. " Dirt with Dry Grass5",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry6, {
description = readname .. " Dirt with Dry Grass6",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry7, {
description = readname .. " Dirt with Dry Grass7",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry8, {
description = readname .. " Dirt with Dry Grass8",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_dry9, {
description = readname .. " Dirt with Dry Grass9",
tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"},
groups = {crumbly=3, soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain=0.4},}),
})
minetest.register_node(itemstr_brown, {
description = readname .. " Dirt with Brown Grass",
tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:#e8bb30:80", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:#e8bb30:80)"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown2, {
description = readname .. " Dirt with Brown Grass2",
tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_1..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown3, {
description = readname .. " Dirt with Brown Grass3",
tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_2..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown4, {
description = readname .. " Dirt with Brown Grass4",
tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_3..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown5, {
description = readname .. " Dirt with Brown Grass5",
tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_4..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown6, {
description = readname .. " Dirt with Brown Grass6",
tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_1..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown7, {
description = readname .. " Dirt with Brown Grass7",
tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_2..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown8, {
description = readname .. " Dirt with Brown Grass8",
tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_3..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.25}, }),
})
minetest.register_node(itemstr_brown9, {
description = readname .. " Dirt with Brown Grass9",
tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_4..")"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_coniferous, {
description = readname .. " Dirt with Coniferous Litter",
tiles = {"default_coniferous_litter.png", tilestr, tilestr .. "^default_coniferous_litter_side.png"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_rain, {
description = readname .. " Dirt with Rainforest Litter",
tiles = {"default_rainforest_litter.png", tilestr, tilestr .. "^default_rainforest_litter_side.png"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}),
})
minetest.register_node(itemstr_snow, {
description = readname .. " Dirt with Snow",
tiles = {"default_snow.png", tilestr, tilestr .. "^default_snow_side.png"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = itemstr_dirt,
sounds = default.node_sound_dirt_defaults({footstep = {name="default_snow_footstep", gain=0.25},}),
})
end
register_dirts("Dirt")
register_dirts("Dirt_02")
register_dirts("Dirt_Black")
register_dirts("Dirt_Clay_Red")
register_dirts("Dirt_Clayey")
register_dirts("Dirt_Coarse")
register_dirts("Dirt_Dark")
register_dirts("Dirt_Dry")
register_dirts("Dirt_Mud_01")
register_dirts("Dirt_Sandy")
register_dirts("Dirt_Silt_01")
register_dirts("Dirt_Silt_02")
register_dirts("Dirt_Silty")

View File

@ -1,6 +1,218 @@
local S = lib_materials.gettext local S = lib_materials.gettext
-- Columnia Rusty_Block
minetest.register_node("lib_materials:rusty_block", {
description = "Rusty Block",
tiles = {"columnia_rusty_block.png"},
is_ground_content = true,
groups = {cracky=1,level=2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = 'lib_materials:rusty_block 8',
recipe = {
{"default:steel_block", "default:steel_block", "default:steel_block"},
{"default:steel_block", "default:water_source", "default:steel_block"},
{"default:steel_block", "default:steel_block", "default:steel_block"},
},
replacements = {{"columnia:blueprint", "columnia:blueprint"}},
})
minetest.register_node("lib_materials:rusty", {
description = "Rusty",
tiles = {"columnia_rusty.png"},
is_ground_content = false,
groups = {cracky=1,level=2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = 'lib_materials:rusty 8',
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:water_source", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
},
})
--MINERALS
--
-- Skarn deposit
---- ~ Tomas Brod
-- Chalcopyrite
minetest.register_node( "lib_materials:skarn_chalcopyrite", {
description = S("Chalcopyrite"),
tiles = { "lib_materials_stone_skarn.png^mineral_Chalcopyrite.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
-- Malachyte
minetest.register_node( "lib_materials:skarn_malachyte", {
description = S("Malachyte"),
tiles = { "lib_materials_stone_skarn.png^mineral_Chalcopyrite.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
-- Sphalerite
minetest.register_node( "lib_materials:skarn_sphalerite", {
description = S("Sphalerite"),
tiles = { "lib_materials_stone_skarn.png^mineral_sphalerite.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
-- Galena
minetest.register_node( "lib_materials:skarn_galena", {
description = S("Galena"),
tiles = { "lib_materials_stone_skarn.png^mineral_galena.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
-- Magnetite
minetest.register_node( "lib_materials:skarn_magnetite", {
description = S("Magnetite"),
tiles = { "lib_materials_stone_skarn.png^mineral_Magnetite.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
-- Magnesite
minetest.register_node( "lib_materials:skarn_magnesite", {
description = S("Magnesite"),
tiles = { "lib_materials_stone_skarn.png^mineral_Magnesite.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
-- Vermiculite (fixme: move to CommonRocks)
minetest.register_node( "lib_materials:vermiculite", {
description = S("Vermiculite"),
tiles = { "mineral_Vermiculite.png" },
groups = {crumbly=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
--
-- Pegmatite deposit
--
-- Cassiterite
minetest.register_node( "lib_materials:pegmatite_cassiterite", {
description = S("Cassiterite"),
tiles = { "lib_materials_stone_pegmatite.png^mineral_cassiterite.png" },
groups = {cracky=3},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
--Quartz
--Quartz Crystal
minetest.register_craftitem("lib_materials:quartz_crystal", {
description = "Quartz Crystal",
inventory_image = "quartz_crystal_full.png",
})
--Ore
minetest.register_node("lib_materials:quartz_ore", {
description = "Quartz Ore",
tiles = {"default_stone.png^quartz_ore.png"},
groups = {cracky=3, stone=1},
drop = 'lib_materials:quartz_crystal',
sounds = default.node_sound_stone_defaults(),
})
--Quartz Block
minetest.register_node("lib_materials:quartz_block", {
description = "Quartz Block",
tiles = {"quartz_block_top.png", "quartz_block_bottom.png", "quartz_block_side.png"},
groups = {snappy=1,bendy=2,cracky=1,level=2},
sounds = default.node_sound_stone_defaults(),
})
--Chiseled Quartz
minetest.register_node("lib_materials:quartz_chiseled", {
description = "Chiseled Quartz",
tiles = {"quartz_chiseled_top.png", "quartz_chiseled_top.png", "quartz_chiseled_side.png"},
groups = {snappy=1,bendy=2,cracky=1,level=2},
sounds = default.node_sound_stone_defaults(),
})
--Quartz Pillar
minetest.register_node("lib_materials:quartz_pillar", {
description = "Quartz Pillar",
tiles = {"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
groups = {snappy=1,bendy=2,cracky=1,level=2},
sounds = default.node_sound_stone_defaults(),
on_place = minetest.rotate_node,
paramtype2 = "facedir"
})
--Crafting
--Quartz Block
minetest.register_craft({
output = 'lib_materials:quartz_block',
recipe = {
{'lib_materials:quartz_crystal', 'lib_materials:quartz_crystal'},
{'lib_materials:quartz_crystal', 'lib_materials:quartz_crystal'},
}
})
--Chiseled Quartz
minetest.register_craft({
output = 'lib_materials:quartz_chiseled 2',
recipe = {
{'stairs:slab_quartzblock'},
{'stairs:slab_quartzblock'},
}
})
--Quartz Pillar
minetest.register_craft({
output = 'lib_materials:quartz_pillar 2',
recipe = {
{'lib_materials:quartz_block'},
{'lib_materials:quartz_block'},
}
})
minetest.register_craft({
output = 'lib_materials:quartz_pillar 2',
recipe = {
{'lib_materials:pillar_horizontal'},
{'lib_materials:pillar_horizontal'},
}
})
--Stairs & Slabs
stairs.register_stair_and_slab("quartzblock", "lib_materials:quartz_block",
{snappy=1,bendy=2,cracky=1,level=2},
{"quartz_block_top.png", "quartz_block_bottom.png", "quartz_block_side.png"},
"Quartz stair",
"Quartz slab",
default.node_sound_stone_defaults()
)
stairs.register_slab("quartzstair", "lib_materials:quartz_pillar",
{snappy=1,bendy=2,cracky=1,level=2},
{"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
"Quartz Pillar stair",
"Quartz Pillar slab",
default.node_sound_stone_defaults()
)
--Add Technic granite, marble, and ore node definitions and craftitems --Add Technic granite, marble, and ore node definitions and craftitems
minetest.register_node("lib_materials:brass_block", { minetest.register_node("lib_materials:brass_block", {
@ -8,7 +220,7 @@ minetest.register_node("lib_materials:brass_block", {
tiles = { "technic_brass_block.png" }, tiles = { "technic_brass_block.png" },
is_ground_content = true, is_ground_content = true,
groups = {cracky=1, level=2}, groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_metal_defaults()
}) })
minetest.register_node("lib_materials:lead_block", { minetest.register_node("lib_materials:lead_block", {
@ -16,7 +228,15 @@ minetest.register_node("lib_materials:lead_block", {
tiles = { "technic_lead_block.png" }, tiles = { "technic_lead_block.png" },
is_ground_content = true, is_ground_content = true,
groups = {cracky=1, level=2}, groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_metal_defaults()
})
minetest.register_node("lib_materials:silver_block", {
description = S("Silver Block"),
tiles = { "moreores_silver_block.png" },
is_ground_content = true,
groups = {cracky=1, level=2},
sounds = default.node_sound_metal_defaults()
}) })
minetest.register_node("lib_materials:wrought_iron_block", { minetest.register_node("lib_materials:wrought_iron_block", {
@ -24,7 +244,7 @@ minetest.register_node("lib_materials:wrought_iron_block", {
tiles = { "technic_wrought_iron_block.png" }, tiles = { "technic_wrought_iron_block.png" },
is_ground_content = true, is_ground_content = true,
groups = {cracky=1, level=2}, groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_metal_defaults()
}) })
minetest.register_node("lib_materials:cast_iron_block", { minetest.register_node("lib_materials:cast_iron_block", {
@ -32,7 +252,7 @@ minetest.register_node("lib_materials:cast_iron_block", {
tiles = { "technic_cast_iron_block.png" }, tiles = { "technic_cast_iron_block.png" },
is_ground_content = true, is_ground_content = true,
groups = {cracky=1, level=2}, groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_metal_defaults()
}) })
minetest.register_node("lib_materials:carbon_steel_block", { minetest.register_node("lib_materials:carbon_steel_block", {
@ -40,7 +260,7 @@ minetest.register_node("lib_materials:carbon_steel_block", {
tiles = { "technic_carbon_steel_block.png" }, tiles = { "technic_carbon_steel_block.png" },
is_ground_content = true, is_ground_content = true,
groups = {cracky=1, level=2}, groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_metal_defaults()
}) })
minetest.register_node("lib_materials:stainless_steel_block", { minetest.register_node("lib_materials:stainless_steel_block", {
@ -48,7 +268,7 @@ minetest.register_node("lib_materials:stainless_steel_block", {
tiles = { "technic_stainless_steel_block.png" }, tiles = { "technic_stainless_steel_block.png" },
is_ground_content = true, is_ground_content = true,
groups = {cracky=1, level=2}, groups = {cracky=1, level=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_metal_defaults()
}) })
@ -62,6 +282,15 @@ minetest.register_node( "lib_materials:mineral_lead", {
drop = "lib_materials:lead_lump", drop = "lib_materials:lead_lump",
}) })
minetest.register_node( "lib_materials:mineral_silver", {
description = S("Silver Ore"),
tiles = { "default_stone.png^moreores_mineral_silver.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", { minetest.register_craftitem("lib_materials:brass_ingot", {
@ -79,6 +308,16 @@ minetest.register_craftitem("lib_materials:lead_ingot", {
inventory_image = "technic_lead_ingot.png", inventory_image = "technic_lead_ingot.png",
}) })
minetest.register_craftitem("lib_materials:silver_lump", {
description = S("Silver Lump"),
inventory_image = "moreores_silver_lump.png",
})
minetest.register_craftitem("lib_materials:silver_ingot", {
description = S("Silver Ingot"),
inventory_image = "moreores_silver_ingot.png",
})
minetest.register_craftitem("lib_materials:wrought_iron_ingot", { minetest.register_craftitem("lib_materials:wrought_iron_ingot", {
description = S("Wrought Iron Ingot"), description = S("Wrought Iron Ingot"),
inventory_image = "technic_wrought_iron_ingot.png", inventory_image = "technic_wrought_iron_ingot.png",
@ -121,6 +360,7 @@ end
register_block("lib_materials:brass_block", "lib_materials:brass_ingot") register_block("lib_materials:brass_block", "lib_materials:brass_ingot")
register_block("lib_materials:lead_block", "lib_materials:lead_ingot") register_block("lib_materials:lead_block", "lib_materials:lead_ingot")
register_block("lib_materials:silver_block", "lib_materials:silver_ingot")
register_block("lib_materials:wrought_iron_block", "lib_materials:wrought_iron_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:cast_iron_block", "lib_materials:cast_iron_ingot")
register_block("lib_materials:carbon_steel_block", "lib_materials:carbon_steel_ingot") register_block("lib_materials:carbon_steel_block", "lib_materials:carbon_steel_ingot")
@ -132,6 +372,13 @@ minetest.register_craft({
output = "lib_materials:lead_ingot", output = "lib_materials:lead_ingot",
}) })
minetest.register_craft({
type = 'cooking',
recipe = "lib_materials:silver_lump",
output = "lib_materials:silver_ingot",
})
minetest.register_craft({ minetest.register_craft({
type = 'cooking', type = 'cooking',

View File

@ -2,8 +2,53 @@
local S = lib_materials.gettext local S = lib_materials.gettext
minetest.register_node("lib_materials:sand", {
description = "Sand - Sand Default",
tiles = {"lib_materials_sand_sand_default.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("lib_materials:sand_desert", {
description = "Sand - Desert Default",
tiles = {"lib_materials_sand_desert_default.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("lib_materials:sand_silver", {
description = "Sand - Silver Default",
tiles = {"lib_materials_sand_silver_default.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("lib_materials:sand_beach", {
description = "Sand - Beach",
tiles = {"lib_materials_sand_sand_default.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
-- Prehistoric Life Sand
minetest.register_node("lib_materials:sand_volcanic", {
description = ("Sand - Volcanic"),
tiles = {"lib_materials_sand_volcanic.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
-- Node Texture Modifier
minetest.register_node("lib_materials:sand_white", {
description = ("Sand - White"),
tiles = {"lib_materials_sand_white.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
-- Valleys_c Sand
-- Some sand with rocks for the river beds. -- Some sand with rocks for the river beds.
-- This drops small rocks as well. -- This drops small rocks as well.
@ -24,3 +69,7 @@ minetest.register_node("lib_materials:sand_with_rocks", {
}) })

File diff suppressed because it is too large Load Diff

563
type_stone_deco.lua Normal file
View File

@ -0,0 +1,563 @@
local S = lib_materials.gettext
--PYRAMIDS
local img = {"eye", "men", "sun"}
for i=1,3 do
minetest.register_node("lib_materials:deco_stone"..i, {
description = "Sandstone with "..img[i],
tiles = {"default_sandstone.png^pyramids_"..img[i]..".png"},
is_ground_content = true,
groups = {crumbly=2,cracky=3},
sounds = default.node_sound_stone_defaults(),
})
end
--MOREORES Decorative stone types
--To be added
-- ["wood_tile"] = {
-- description = S("Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^moreblocks_wood_tile.png",
-- "default_wood.png^moreblocks_wood_tile.png",
-- "default_wood.png^moreblocks_wood_tile.png",
-- "default_wood.png^moreblocks_wood_tile.png",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR90"},
-- sounds = sound_wood,
-- },
-- ["wood_tile_flipped"] = {
-- description = S("Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR90",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR180",
-- "default_wood.png^moreblocks_wood_tile.png^[transformR180"},
-- sounds = sound_wood,
-- no_stairs = true,
-- },
-- ["wood_tile_center"] = {
-- description = S("Centered Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^moreblocks_wood_tile_center.png"},
-- sounds = sound_wood,
-- },
-- ["wood_tile_full"] = {
-- description = S("Full Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = tile_tiles("wood_tile_full"),
-- sounds = sound_wood,
-- },
-- ["wood_tile_up"] = {
-- description = S("Upwards Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^moreblocks_wood_tile_up.png"},
-- sounds = sound_wood,
-- no_stairs = true,
-- },
-- ["wood_tile_down"] = {
-- description = S("Downwards Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"},
-- sounds = sound_wood,
-- no_stairs = true,
-- },
-- ["wood_tile_left"] = {
-- description = S("Leftwards Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"},
-- sounds = sound_wood,
-- no_stairs = true,
-- },
-- ["wood_tile_right"] = {
-- description = S("Rightwards Wooden Tile"),
-- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
-- tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"},
-- sounds = sound_wood,
-- no_stairs = true,
-- },
-- ["plankstone"] = {
-- description = S("Plankstone"),
-- groups = {cracky = 3},
-- tiles = tile_tiles("plankstone"),
-- sounds = sound_stone,
-- },
-- ["all_faces_tree"] = {
-- description = S("All-faces Tree"),
-- tiles = {"default_tree_top.png"},
-- groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
-- sounds = sound_wood,
-- furnace_burntime = 30,
-- },
-- ["all_faces_jungle_tree"] = {
-- description = S("All-faces Jungle Tree"),
-- tiles = {"default_jungletree_top.png"},
-- groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
-- sounds = sound_wood,
-- furnace_burntime = 30,
-- },
minetest.register_node("lib_materials:circle_stone_bricks", {
description = S("Circle Stone Bricks"),
tiles = {"moreblocks_circle_stone_bricks.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:circle_stone_bricks',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:coal_checker", {
description = S("Coal Checker"),
tiles = {"default_stone.png^moreblocks_coal_checker.png",
"default_stone.png^moreblocks_coal_checker.png",
"default_stone.png^moreblocks_coal_checker.png",
"default_stone.png^moreblocks_coal_checker.png",
"default_stone.png^moreblocks_coal_checker.png^[transformR90",
"default_stone.png^moreblocks_coal_checker.png^[transformR90"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:coal_checker',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:coal_stone", {
description = S("Coal Stone"),
tiles = {"moreblocks_coal_stone.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:coal_stone',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:coal_stone_bricks", {
description = S("Coal Stone Bricks"),
tiles = {"moreblocks_coal_stone_bricks.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:coal_stone_bricks',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:cobble_compressed", {
description = S("Compressed Cobblestone"),
tiles = {"moreblocks_cobble_compressed.png"},
is_ground_content = true,
groups = {cracky = 1},
drop = 'lib_materials:cobble_compressed',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:grey_bricks", {
description = S("Grey Stone Bricks"),
tiles = {"moreblocks_grey_bricks.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:grey_bricks',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:iron_checker", {
description = S("Iron Checker"),
tiles = {"default_stone.png^moreblocks_iron_checker.png",
"default_stone.png^moreblocks_iron_checker.png",
"default_stone.png^moreblocks_iron_checker.png",
"default_stone.png^moreblocks_iron_checker.png",
"default_stone.png^moreblocks_iron_checker.png^[transformR90",
"default_stone.png^moreblocks_iron_checker.png^[transformR90"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:iron_checker',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:iron_stone", {
description = S("Iron Stone"),
tiles = {"moreblocks_iron_stone.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:iron_stone',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:split_stone_tile", {
description = S("Split Stone Tile"),
tiles = {"moreblocks_split_stone_tile_top.png",
"moreblocks_split_stone_tile.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:split_stone_tile',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:stone_tile", {
description = S("Stone Tile"),
tiles = {"moreblocks_stone_tile.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:stone_tile',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:tar", {
description = S("Tar"),
tiles = {"moreblocks_tar.png"},
is_ground_content = true,
groups = {cracky = 2},
drop = 'lib_materials:tar',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
--GLASS
minetest.register_node("lib_materials:clean_glass", {
description = S("Clean Glass"),
tiles = {"moreblocks_clean_glass.png"},
drawtype = "glasslike_framed",
paramtype = "light",
sunlight_propagates = true,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
drop = 'lib_materials:clean_glass',
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("lib_materials:coal_glass", {
description = S("Coal Glass"),
tiles = {"moreblocks_coal_glass.png"},
drawtype = "glasslike_framed",
paramtype = "light",
sunlight_propagates = true,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
drop = 'lib_materials:coal_glass',
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("lib_materials:iron_glass", {
description = S("Iron Glass"),
tiles = {"moreblocks_iron_glass.png"},
drawtype = "glasslike_framed",
paramtype = "light",
sunlight_propagates = true,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
drop = 'lib_materials:iron_glass',
sounds = default.node_sound_glass_defaults(),
})
--CRAFTING RECIPES
minetest.register_craft({
output = "lib_materials:circle_stone_bricks 8",
recipe = {
{"default:stone", "default:stone", "default:stone"},
{"default:stone", "", "default:stone"},
{"default:stone", "default:stone", "default:stone"},
}
})
minetest.register_craft({
output = "lib_materials:stone_tile 4",
recipe = {
{"default:cobble", "default:cobble"},
{"default:cobble", "default:cobble"},
}
})
minetest.register_craft({
output = "lib_materials:split_stone_tile",
recipe = {
{"lib_materials:stone_tile"},
}
})
minetest.register_craft({
output = "lib_materials:grey_bricks 2",
type = "shapeless",
recipe = {"default:stone", "default:brick"},
})
minetest.register_craft({
output = "lib_materials:grey_bricks 2",
type = "shapeless",
recipe = {"default:stonebrick", "default:brick"},
})
minetest.register_craft({
output = "lib_materials:coal_stone_bricks 4",
recipe = {
{"lib_materials:coal_stone", "lib_materials:coal_stone"},
{"lib_materials:coal_stone", "lib_materials:coal_stone"},
}
})
minetest.register_craft({
output = "lib_materials:iron_stone_bricks 4",
recipe = {
{"lib_materials:iron_stone", "lib_materials:iron_stone"},
{"lib_materials:iron_stone", "lib_materials:iron_stone"},
}
})
minetest.register_craft({
output = "lib_materials:plankstone 4",
recipe = {
{"default:stone", "default:wood"},
{"default:wood", "default:stone"},
}
})
minetest.register_craft({
output = "lib_materials:plankstone 4",
recipe = {
{"default:wood", "default:stone"},
{"default:stone", "default:wood"},
}
})
minetest.register_craft({
output = "lib_materials:coal_checker 4",
recipe = {
{"default:stone", "default:coal_lump"},
{"default:coal_lump", "default:stone"},
}
})
minetest.register_craft({
output = "lib_materials:coal_checker 4",
recipe = {
{"default:coal_lump", "default:stone"},
{"default:stone", "default:coal_lump"},
}
})
minetest.register_craft({
output = "lib_materials:iron_checker 4",
recipe = {
{"default:steel_ingot", "default:stone"},
{"default:stone", "default:steel_ingot"},
}
})
minetest.register_craft({
output = "lib_materials:iron_checker 4",
recipe = {
{"default:stone", "default:steel_ingot"},
{"default:steel_ingot", "default:stone"},
}
})
minetest.register_craft({
output = "lib_materials:iron_glass",
type = "shapeless",
recipe = {"default:steel_ingot", "default:glass"},
})
minetest.register_craft({
output = "default:glass",
type = "shapeless",
recipe = {"default:coal_lump", "lib_materials:iron_glass"},
})
minetest.register_craft({
output = "lib_materials:coal_glass",
type = "shapeless",
recipe = {"default:coal_lump", "default:glass"},
})
minetest.register_craft({
output = "default:glass",
type = "shapeless",
recipe = {"default:steel_ingot", "lib_materials:coal_glass"},
})
minetest.register_craft({
output = "lib_materials:clean_glass",
type = "shapeless",
recipe = {"lib_materials:sweeper", "default:glass"},
})
minetest.register_craft({
output = "lib_materials:coal_stone",
type = "shapeless",
recipe = {"default:coal_lump", "default:stone"},
})
minetest.register_craft({
output = "default:stone",
type = "shapeless",
recipe = {"default:steel_ingot", "lib_materials:coal_stone"},
})
minetest.register_craft({
output = "lib_materials:iron_stone",
type = "shapeless",
recipe = {"default:steel_ingot", "default:stone"},
})
minetest.register_craft({
output = "default:stone",
type = "shapeless",
recipe = {"default:coal_lump", "lib_materials:iron_stone"},
})
minetest.register_craft({
output = "lib_materials:cobble_compressed",
recipe = {
{"default:cobble", "default:cobble", "default:cobble"},
{"default:cobble", "default:cobble", "default:cobble"},
{"default:cobble", "default:cobble", "default:cobble"},
}
})
minetest.register_craft({
output = "default:cobble 9",
recipe = {
{"lib_materials:cobble_compressed"},
}
})
minetest.register_craft({
type = "cooking", output = "lib_materials:tar", recipe = "default:gravel",
})
--XDECOR Decorative stone types
minetest.register_node("lib_materials:coalstone_tile", {
description = S("Coal Stone Tile"),
tiles = {
"xdecor_coalstone_tile.png",
"xdecor_coalstone_tile.png",
"xdecor_coalstone_tile.png",
"xdecor_coalstone_tile.png",
"xdecor_coalstone_tile.png^[transformR90",
"xdecor_coalstone_tile.png^[transformR90",
},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:coalstone_tile',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:desertstone_tile", {
description = S("Desert Stone Tile"),
tiles = {"xdecor_desertstone_tile.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:desertstone_tile',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:hard_clay", {
description = S("Hardened Clay"),
tiles = {"xdecor_hard_clay.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1},
drop = 'lib_materials:hard_clay',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:stone_tile", {
description = S("Stone Tile"),
tiles = {"xdecor_stone_tile.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1, level = 2},
drop = 'lib_materials:stone_tile',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:stone_rune", {
description = S("Runestone"),
tiles = {"xdecor_stone_rune.png"},
is_ground_content = true,
groups = {cracky = 3, stone = 1, level = 2},
drop = 'lib_materials:stone_rune',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("lib_materials:packed_ice", {
description = S("Packed Ice"),
tiles = {"xdecor_packed_ice.png"},
is_ground_content = true,
groups = {cracky = 1, puts_out_fire=1},
drop = 'lib_materials:packed_ice',
legacy_mineral = true,
sounds = default.node_sound_glass_defaults(),
})