From 9c43e4f8179442817104729d242e94087b2b7bf2 Mon Sep 17 00:00:00 2001 From: Shad MOrdre Date: Wed, 12 Dec 2018 01:04:42 -0800 Subject: [PATCH] Add files via upload --- depends.txt | 2 +- init.lua | 20 +- lib_materials_fluids.lua | 781 +++++++++++++++++++++++++++++ lib_materials_ore_defs.lua | 783 +++++++++++++++++++++++++++-- lib_materials_utils.lua | 17 + type_dirt.lua | 605 ++++++++++++++++++++++- type_ore.lua | 259 +++++++++- type_sand.lua | 49 ++ type_stone.lua | 979 ++++++++++++++++++++++++++++++++++++- type_stone_deco.lua | 563 +++++++++++++++++++++ 10 files changed, 3993 insertions(+), 65 deletions(-) create mode 100644 lib_materials_fluids.lua create mode 100644 type_stone_deco.lua diff --git a/depends.txt b/depends.txt index b75e061..886559a 100644 --- a/depends.txt +++ b/depends.txt @@ -1,2 +1,2 @@ default? -carpathian_mapgen? +stairs? diff --git a/init.lua b/init.lua index 2f8fea6..40d84d2 100644 --- a/init.lua +++ b/init.lua @@ -8,18 +8,18 @@ local S = lib_materials.gettext local NS = lib_materials.ngettext + + + + + dofile(lib_materials.path.."/lib_materials_utils.lua") - -dofile(lib_materials.path.."/lib_materials_water.lua") - -dofile(lib_materials.path.."/type_dirt.lua") - -dofile(lib_materials.path.."/type_sand.lua") - -dofile(lib_materials.path.."/type_ore.lua") - +dofile(lib_materials.path.."/lib_materials_fluids.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") diff --git a/lib_materials_fluids.lua b/lib_materials_fluids.lua new file mode 100644 index 0000000..2842c79 --- /dev/null +++ b/lib_materials_fluids.lua @@ -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(), +}) + diff --git a/lib_materials_ore_defs.lua b/lib_materials_ore_defs.lua index 0ea486d..7184031 100644 --- a/lib_materials_ore_defs.lua +++ b/lib_materials_ore_defs.lua @@ -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 -minetest.register_ore({ore_type="sheet", ore="default:sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0}) -minetest.register_ore({ore_type="sheet", ore="default:desert_sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0}) -minetest.register_ore({ore_type="sheet", ore="default:silver_sandstone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=4130293965, octaves=5, persist=0.60}, random_factor=1.0}) -minetest.register_ore({ore_type="sheet", ore="default:desert_stone", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0}) -minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_brown", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0}) -minetest.register_ore({ore_type="sheet", ore="lib_materials:stone_sand", wherein="default:stone", clust_num_ores=250, clust_scarcity=60, clust_size=10, y_min=-1000, y_max=31000, noise_threshhold=0.1, noise_params={offset=0, scale=1, spread={x=256, y=256, z=256}, seed=163281090, octaves=5, persist=0.60}, random_factor=1.0}) +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="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="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="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="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="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 minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_stone", + ore_type = "blob", + ore = "lib_materials:stone_desert", wherein = {"lib_materials:stone_sand"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, @@ -29,8 +29,8 @@ minetest.register_ore({ }) minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_sandstone", + ore_type = "blob", + ore = "lib_materials:stone_sandstone_desert", wherein = {"lib_materials:stone_sand"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, @@ -48,7 +48,7 @@ minetest.register_ore({ }) minetest.register_ore({ - ore_type = "scatter", + ore_type = "blob", ore = "lib_materials:stone_brown", wherein = {"lib_materials:stone_sand"}, clust_scarcity = 4 * 4 * 4, @@ -66,36 +66,59 @@ minetest.register_ore({ }, }) + +--[[ -- Adds Air as ore within default:stone minetest.register_ore({ - ore_type = "scatter", + ore_type = "blob", ore = "air", - wherein = {"groups:stone"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, + wherein = {"lib_materials:stone_limestone_01"}, + clust_scarcity = 16*8*16, + clust_num_ores = 16*16, + clust_size = 16, y_min = -50, y_max = -11, noise_params = { - offset = 0.35, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -316, - octaves = 1, - persist = 0.5 + offset = 0, + scale = 1, + spread = {x = 256, y = 256, z = 256}, + seed = 4130293965, + octaves = 3, + persist = 0.6 }, }) --Adds default:water_source within default:stone minetest.register_ore({ - ore_type = "scatter", + ore_type = "blob", 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_num_ores = 8, clust_size = 6, - y_min = -30, - y_max = 0, + y_min = 4, + y_max = 30, noise_params = { offset = 0.35, scale = 0.2, @@ -111,8 +134,8 @@ minetest.register_ore({ -- Baked Clay within Orange Clay minetest.register_ore({ ore_type = "blob", - ore = "bakedclay:red", - wherein = {"bakedclay:orange"}, + ore = "lib_materials:dirt_clayey", + wherein = {"default:dirt", "lib_materials:dirt"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, clust_size = 6, @@ -130,8 +153,8 @@ minetest.register_ore({ minetest.register_ore({ ore_type = "blob", - ore = "bakedclay:grey", - wherein = {"bakedclay:orange"}, + ore = "lib_materials:dirt_sandy", + wherein = {"default:dirt", "lib_materials:dirt"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, 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 @@ -165,33 +301,608 @@ local add_ore = function(a, b, c, d, e, f, g) end -- Coal - add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16) -- Iron - add_ore("default:stone_with_iron", "default:desert_stone", 9*9*9, 5, 3, -63, -16) add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64) --Mese - add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256) -- Gold - add_ore("default:stone_with_gold", "default:desert_stone", 15*15*15, 3, 2, -255, -64) add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256) -- Diamond - add_ore("default:stone_with_diamond", "default:desert_stone", 17*17*17, 4, 3, -255, -128) add_ore("default:stone_with_diamond", "default:desert_stone", 15*15*15, 4, 3, -31000, -256) -- Copper - add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64) -- Coral Sand add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10) +-- 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 + }, +}) + + + + + diff --git a/lib_materials_utils.lua b/lib_materials_utils.lua index d7e977c..6683442 100644 --- a/lib_materials_utils.lua +++ b/lib_materials_utils.lua @@ -17,3 +17,20 @@ function table.contains_substring(t, s) 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 + diff --git a/type_dirt.lua b/type_dirt.lua index 0514d25..f8cd20d 100644 --- a/type_dirt.lua +++ b/type_dirt.lua @@ -1,4 +1,607 @@ - 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") + + + + + + diff --git a/type_ore.lua b/type_ore.lua index 5e90c5b..eacf3be 100644 --- a/type_ore.lua +++ b/type_ore.lua @@ -1,6 +1,218 @@ 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 minetest.register_node("lib_materials:brass_block", { @@ -8,7 +220,7 @@ minetest.register_node("lib_materials:brass_block", { tiles = { "technic_brass_block.png" }, is_ground_content = true, groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() + sounds = default.node_sound_metal_defaults() }) minetest.register_node("lib_materials:lead_block", { @@ -16,7 +228,15 @@ minetest.register_node("lib_materials:lead_block", { tiles = { "technic_lead_block.png" }, is_ground_content = true, 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", { @@ -24,7 +244,7 @@ minetest.register_node("lib_materials:wrought_iron_block", { tiles = { "technic_wrought_iron_block.png" }, is_ground_content = true, 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", { @@ -32,7 +252,7 @@ minetest.register_node("lib_materials:cast_iron_block", { tiles = { "technic_cast_iron_block.png" }, is_ground_content = true, 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", { @@ -40,7 +260,7 @@ minetest.register_node("lib_materials:carbon_steel_block", { tiles = { "technic_carbon_steel_block.png" }, is_ground_content = true, 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", { @@ -48,7 +268,7 @@ minetest.register_node("lib_materials:stainless_steel_block", { tiles = { "technic_stainless_steel_block.png" }, is_ground_content = true, 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", }) +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", { @@ -79,6 +308,16 @@ minetest.register_craftitem("lib_materials:lead_ingot", { 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", { description = S("Wrought Iron Ingot"), 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: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:cast_iron_block", "lib_materials:cast_iron_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", }) +minetest.register_craft({ + type = 'cooking', + recipe = "lib_materials:silver_lump", + output = "lib_materials:silver_ingot", +}) + + minetest.register_craft({ type = 'cooking', diff --git a/type_sand.lua b/type_sand.lua index beb17d3..48c01cc 100644 --- a/type_sand.lua +++ b/type_sand.lua @@ -2,8 +2,53 @@ 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. -- This drops small rocks as well. @@ -24,3 +69,7 @@ minetest.register_node("lib_materials:sand_with_rocks", { }) + + + + diff --git a/type_stone.lua b/type_stone.lua index 999e8bb..ea9aeac 100644 --- a/type_stone.lua +++ b/type_stone.lua @@ -2,10 +2,318 @@ local S = lib_materials.gettext +--[[ + Includes nodes from Technic, Mapgen, Stone, Darkage, Valleys_c, and others. + + stone_brown and stone_sand are creations of Steven G. Merchant (aka Shad MOrdre -- shadmordre@minetest.net or shadmordre@gmail.com) copyright 2016 + +--]] + + +lib_materials.register_stone = function(name, desc, texture, crackyness, level) + + minetest.register_node("lib_materials:stone_"..name.."", { + description = S("Stone - "..desc..""), + tiles = {texture}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:'..name..'', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + --minetest.after(3, lib_architecture.register_nodes, name, desc, texture, "lib_materials:stone_"..name, default.node_sound_stone_defaults()) + --lib_architecture.register_nodes(name, desc, texture, "lib_materials:"..name.."", default.node_sound_stone_defaults()) + + -- natural_slopes.register_slope("lib_materials:"..name.."", { + -- groups = {cracky = 3, stone = 1, level = 2}, + -- tiles = {texture}, + -- description = ""..desc.." slope", + -- sounds = default.node_sound_stone_defaults()({footstep = {['name'] = "default_grass_footstep", ['gain'] = 0.25},}) + -- }, + -- 1 + -- ) + + +end + + + lib_materials.register_stone("travertine", "Travertine", "rocks_trav.png", 3, 1) + + +--CUSTOM + + minetest.register_node("lib_materials:stone_brown_angled", { + description = S("Stone - Brown Angled"), + drawtype = "nodebox", + tiles = {"lib_materials_stone_brown.png"}, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + legacy_mineral = true, + connects_to = { "group:wall", "group:stone", "group:lib_architecture", "group:lib_doors", "group:lib_fences", "group:lib_general", "group:lib_lights"}, + groups = {cracky = 3, stone = 1, level = 2}, + sounds = default.node_sound_stone_defaults(), + node_box = { + type = "connected", + fixed = { + {-0.01, -0.01, -0.01, 0.01, 0.01, 0.01}, + }, + connect_front = { + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.375}, + {-0.375, -0.375, -0.375, 0.375, 0.375, -0.25}, + {-0.25, -0.25, -0.25, 0.25, 0.25, -0.125}, + {-0.125, -0.125, -0.125, 0.125, 0.125, 0}, + }, + connect_back = { + {-0.5, -0.5, 0.375, 0.5, 0.5, 0.5}, + {-0.375, -0.375, 0.25, 0.375, 0.375, 0.375}, + {-0.25, -0.25, 0.125, 0.25, 0.25, 0.25}, + {-0.125, -0.125, 0, 0.125, 0.125, 0.125}, + }, + connect_left = { + {-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, + {-0.375, -0.375, -0.375, -0.25, 0.375, 0.375}, + {-0.25, -0.25, -0.25, -0.125, 0.25, 0.25}, + {-0.125, -0.125, -0.125, 0, 0.125, 0.125}, + }, + connect_right = { + {0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, + {0.25, -0.375, -0.375, 0.375, 0.375, 0.375}, + {0.125, -0.25, -0.25, 0.25, 0.25, 0.25}, + {0, -0.125, -0.125, 0.125, 0.125, 0.125}, + }, + connect_bottom = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.375, -0.375, -0.375, 0.375, -0.25, 0.375}, + {-0.25, -0.25, -0.25, 0.25, -0.125, 0.25}, + {-0.125, -0.125, -0.125, 0.125, 0, 0.125}, + }, + connect_top = { + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, + {-0.375, 0.25, -0.375, 0.375, 0.375, 0.375}, + {-0.25, 0.125, -0.25, 0.25, 0.25, 0.25}, + {-0.125, 0, -0.125, 0.15, 0.125, 0.125}, + }, + }, + selection_box = { + type = "connected", + fixed = { + {-0.05, -0.05, -0.05, 0.05, 0.05, 0.05}, + }, + connect_front = { + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.375}, + {-0.375, -0.375, -0.375, 0.375, 0.375, -0.25}, + {-0.25, -0.25, -0.25, 0.25, 0.25, -0.125}, + {-0.125, -0.125, -0.125, 0.125, 0.125, 0}, + }, + connect_back = { + {-0.5, -0.5, 0.375, 0.5, 0.5, 0.5}, + {-0.375, -0.375, 0.25, 0.375, 0.375, 0.375}, + {-0.25, -0.25, 0.125, 0.25, 0.25, 0.25}, + {-0.125, -0.125, 0, 0.125, 0.125, 0.125}, + }, + connect_left = { + {-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, + {-0.375, -0.375, -0.375, -0.25, 0.375, 0.375}, + {-0.25, -0.25, -0.25, -0.125, 0.25, 0.25}, + {-0.125, -0.125, -0.125, 0, 0.125, 0.125}, + }, + connect_right = { + {0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, + {0.25, -0.375, -0.375, 0.375, 0.375, 0.375}, + {0.125, -0.25, -0.25, 0.25, 0.25, 0.25}, + {0, -0.125, -0.125, 0.125, 0.125, 0.125}, + }, + connect_bottom = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.375, -0.375, -0.375, 0.375, -0.25, 0.375}, + {-0.25, -0.25, -0.25, 0.25, -0.125, 0.25}, + {-0.125, -0.125, -0.125, 0.125, 0, 0.125}, + }, + connect_top = { + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, + {-0.375, 0.25, -0.375, 0.375, 0.375, 0.375}, + {-0.25, 0.125, -0.25, 0.25, 0.25, 0.25}, + {-0.125, 0, -0.125, 0.15, 0.125, 0.125}, + }, + }, + collision_box = { + type = "connected", + fixed = { + {-0.01, -0.01, -0.01, 0.01, 0.01, 0.01}, + }, + connect_front = { + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.375}, + {-0.375, -0.375, -0.375, 0.375, 0.375, -0.25}, + {-0.25, -0.25, -0.25, 0.25, 0.25, -0.125}, + {-0.125, -0.125, -0.125, 0.125, 0.125, 0}, + }, + connect_back = { + {-0.5, -0.5, 0.375, 0.5, 0.5, 0.5}, + {-0.375, -0.375, 0.25, 0.375, 0.375, 0.375}, + {-0.25, -0.25, 0.125, 0.25, 0.25, 0.25}, + {-0.125, -0.125, 0, 0.125, 0.125, 0.125}, + }, + connect_left = { + {-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, + {-0.375, -0.375, -0.375, -0.25, 0.375, 0.375}, + {-0.25, -0.25, -0.25, -0.125, 0.25, 0.25}, + {-0.125, -0.125, -0.125, 0, 0.125, 0.125}, + }, + connect_right = { + {0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, + {0.25, -0.375, -0.375, 0.375, 0.375, 0.375}, + {0.125, -0.25, -0.25, 0.25, 0.25, 0.25}, + {0, -0.125, -0.125, 0.125, 0.125, 0.125}, + }, + connect_bottom = { + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.375, -0.375, -0.375, 0.375, -0.25, 0.375}, + {-0.25, -0.25, -0.25, 0.25, -0.125, 0.25}, + {-0.125, -0.125, -0.125, 0.125, 0, 0.125}, + }, + connect_top = { + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, + {-0.375, 0.25, -0.375, 0.375, 0.375, 0.375}, + {-0.25, 0.125, -0.25, 0.25, 0.25, 0.25}, + {-0.125, 0, -0.125, 0.15, 0.125, 0.125}, + }, + }, + + on_place = minetest.rotate_node + }) + + minetest.register_node("lib_materials:cobble_stone_desert_default", { + tiles = {"lib_materials_stone_desert_default.png^(lib_materials_stone_cobble_default.png^[mask:lib_materials_mask_cobble.png)"}, + description = "Cobble - Stone Desert Default", + is_ground_content = true, + groups = {cracky=3, stone=2}, + }) + + minetest.register_node("lib_materials:dirt_cobble_stone", { + tiles = {"lib_materials_stone_cobble_default.png^(lib_materials_dirt.png^[mask:lib_materials_mask_cobble.png)"}, + description = "Dirt Cobble Stone", + is_ground_content = true, + groups = {cracky=3, stone=2}, + }) + + minetest.register_node("lib_materials:dirt_stone", { + tiles = { "lib_materials_stone_default.png^(lib_materials_dirt.png^[mask:lib_materials_mask_stone.png)" }, + description = "Dirt Stone", + is_ground_content = true, + groups = {cracky=3, stone=2}, + }) + + minetest.register_node("lib_materials:sand_with_stone_desert", { + tiles = { "lib_materials_stone_desert_default.png^(lib_materials_sand_desert_default.png^[mask:lib_materials_mask_stone.png)" }, + description = "Desert Sand with Desert Stone", + is_ground_content = true, + groups = {cracky=3, stone=2}, + }) + + + minetest.register_node("lib_materials:rockwall_stone", { + description = S("Rockwall - Stone"), + tiles = {"lib_materials_rockwall_stone.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_brown', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + + + minetest.register_node("lib_materials:stone_bluestone", { + description = S("Stone - Blue Stone"), + tiles = {"lib_materials_stone_bluestone.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_bluestone', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("lib_materials:stone_greenstone", { + description = S("Stone - Green Stone"), + tiles = {"lib_materials_stone_greenstone.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_greenstone', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("lib_materials:stone_whitestone", { + description = S("Stone - White Stone"), + tiles = {"lib_materials_stone_whitestone.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_whitestone', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + +--Default + +minetest.register_node("lib_materials:stone", { + description = S("Stone"), + tiles = {"lib_materials_stone_default.png"}, + groups = {cracky = 3, stone = 1}, + drop = 'lib_materials:cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_brick", { + description = S("Stone - Brick"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_block", { + description = S("Stone - Block"), + tiles = {"lib_materials_stone_block.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_cobble", { + description = S("Stone - Cobble"), + tiles = {"lib_materials_stone_cobble_default.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_cobble_mossy", { + description = S("Stone - Mossy Cobble"), + tiles = {"lib_materials_stone_cobble_mossy.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_gravel", { + description = S("Stone - Gravel"), + tiles = {"lib_materials_stone_gravel_default.png"}, + is_ground_content = false, + groups = {crumbly = 2, falling_node = 1}, + sounds = default.node_sound_gravel_defaults(), + drop = { + max_items = 1, + items = { + {items = {'default:flint'}, rarity = 16}, + {items = {'lib_materials:stone_gravel'}} + } + } +}) minetest.register_node("lib_materials:stone_brown", { - description = S("Brown Stone"), + description = S("Stone - Brown Stone"), tiles = {"lib_materials_stone_brown.png"}, is_ground_content = true, groups = {cracky = 3, stone = 1, level = 2}, @@ -14,8 +322,63 @@ minetest.register_node("lib_materials:stone_brown", { sounds = default.node_sound_stone_defaults(), }) +minetest.register_node("lib_materials:stone_desert", { + description = S("Stone - Desert"), + tiles = {"lib_materials_stone_desert_default.png"}, + groups = {cracky = 3, stone = 1}, + drop = 'lib_materials:desert_cobble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_desert_brick", { + description = S("Stone - Desert Brick"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_desert_brick.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_desert_block", { + description = S("Stone - Desert Block"), + tiles = {"lib_materials_stone_desert_block.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_desert_cobble", { + description = S("Stone - Desert Cobble"), + tiles = {"lib_materials_stone_desert_cobble.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_obsidian", { + description = S("Stone - Obsidian"), + tiles = {"lib_materials_stone_obsidian_default.png"}, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) +minetest.register_node("lib_materials:stone_obsidian_brick", { + description = S("Stone - Obsidian Brick"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_obsidian_brick.png"}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) +minetest.register_node("lib_materials:stone_obsidian_block", { + description = S("Stone - Obsidian Block"), + tiles = {"lib_materials_stone_obsidian_block.png"}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) + minetest.register_node("lib_materials:stone_sand", { - description = S("Sand Stone"), + description = S("Stone - Sand Stone"), tiles = {"lib_materials_stone_sand.png"}, is_ground_content = true, groups = {cracky = 3, stone = 1, level = 2}, @@ -24,23 +387,617 @@ minetest.register_node("lib_materials:stone_sand", { sounds = default.node_sound_stone_defaults(), }) -minetest.register_node( "lib_materials:granite", { - description = S("Granite"), - tiles = { "technic_granite.png" }, +minetest.register_node("lib_materials:stone_sandstone", { + description = S("Stone - Sandstone"), + tiles = {"lib_materials_stone_sandstone_default.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_brick", { + description = S("Stone - Sandstone Brick"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_sandstone_brick.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_block", { + description = S("Stone - Sandstone Block"), + tiles = {"lib_materials_stone_sandstone_block.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_sandstone_desert", { + description = S("Stone - Sandstone Desert"), + tiles = {"lib_materials_stone_sandstone_desert_default.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_desert_brick", { + description = S("Stone - Sandstone Desert Brick"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_sandstone_desert_brick.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_desert_block", { + description = S("Stone - Sandstone Desert Block"), + tiles = {"lib_materials_stone_sandstone_desert_block.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_desert_gravel", { + description = S("Stone - Sandstone Desert Gravel"), + tiles = {"lib_materials_stone_sandstone_desert_gravel.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:lib_materials:stone_sandstone_desert_gravel', + legacy_mineral = true, + sounds = default.node_sound_gravel_defaults(), +}) + +minetest.register_node("lib_materials:stone_sandstone_silver", { + description = S("Stone - Sandstone Silver"), + tiles = {"lib_materials_stone_sandstone_silver_default.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_silver_brick", { + description = S("Stone - Sandstone Silver Brick"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_sandstone_silver_brick.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_silver", { + description = S("Stone - Sandstone Silver Block"), + tiles = {"lib_materials_stone_sandstone_silver_block.png"}, + is_ground_content = false, + groups = {cracky = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_sandstone_white", { + description = S("Stone - - White Sandstone"), + tiles = {"lib_materials_stone_sandstone_white.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_sandstone_white', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_white_brick", { + description = S("Stone - - White Sandstone Brick"), + tiles = {"lib_materials_stone_sandstone_white_brick.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_sandstone_white_brick', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_white_gravel", { + description = S("Stone - - White Sandstone Gravel"), + tiles = {"lib_materials_stone_sandstone_white_gravel.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_sandstone_white_gravel', + legacy_mineral = true, + sounds = default.node_sound_gravel_defaults(), +}) + +minetest.register_node("lib_materials:stone_adobe", { + description = S("Stone - Adobe"), + tiles = {"lib_materials_stone_adobe.png"}, + is_ground_content = true, + groups = {crumbly=3}, + sounds = default.node_sound_sand_defaults(), +}) +minetest.register_node("lib_materials:stone_andesite", { + description = S("Stone - Andesite"), + tiles = {"lib_materials_stone_andesite.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_basalt_01", { + description = S("Stone - Basalt 01"), + tiles = {"lib_materials_stone_basalt_01.png"}, + is_ground_content = true, + drop = get_node_drops("lib_materials:stone_basalt_01","lib_materials:stone_basalt_01_cobble"), + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_basalt_01_block", { + description = S("Stone - Basalt 01 Block"), + tiles = {"lib_materials_stone_basalt_01_block.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_basalt_01_brick", { + description = S("Stone - Basalt 01 Brick"), + tiles = {"lib_materials_stone_basalt_01_brick.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_basalt_01_cobble", { + description = S("Stone - Basalt 01 Cobble"), + tiles = {"lib_materials_stone_basalt_01_cobble.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_basalt_02", { + description = S("Stone - Basalt 02"), + tiles = {"lib_materials_stone_basalt_02.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_basalt_02', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_basalt_03", { + description = S("Stone - Basalt 03"), + tiles = {"lib_materials_stone_basalt_03.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_chalk", { + description = S("Stone - Chalk"), + tiles = {"lib_materials_stone_chalk.png"}, + is_ground_content = true, + drop = 'lib_materials:chalk_powder 2', + groups = {crumbly=2, cracky=2, not_cuttable=1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_claystone", { + description = S("Stone - Claystone"), + tiles = {"lib_materials_stone_claystone.png" }, + is_ground_content = true, + groups = {crumbly=1, cracky=3}, + sounds = default.node_sound_dirt_defaults(), +}) +minetest.register_node("lib_materials:stone_conglomerate", { + description = S("Stone - Conglomerate"), + tiles = {"lib_materials_stone_conglomerate.png" }, + is_ground_content = true, + sounds = default.node_sound_dirt_defaults(), + groups = {crumbly=3}, +}) +minetest.register_node("lib_materials:stone_diorite", { + description = S("Stone - Diorite"), + tiles = {"lib_materials_stone_diorite.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_gabbro", { + description = S("Stone - Gabbro"), + tiles = {"lib_materials_stone_gabbro.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_gneiss_01", { + description = S("Stone - Gneiss 01"), + tiles = {"lib_materials_stone_gneiss_01.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + drop = get_node_drops("lib_materials:stone_gneiss_01", "lib_materials:stone_gneiss_01_cobble"), + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_gneiss_01_block", { + description = S("Stone - Gneiss 01 Block"), + tiles = {"lib_materials_stone_gneiss_01_block.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_gneiss_01_brick", { + description = S("Stone - Gneiss 01 Brick"), + tiles = {"lib_materials_stone_gneiss_01_brick.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_gneiss_01_cobble", { + description = S("Stone - Gneiss 01 Cobble"), + tiles = {"lib_materials_stone_gneiss_01_cobble.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_gneiss_02", { + description = S("Stone - Gniess 02"), + tiles = {"lib_materials_stone_gneiss_02.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_granite_01", { + description = S("Stone - Granite 01 (Technic)"), + tiles = { "lib_materials_stone_granite_01.png" }, is_ground_content = true, groups = {cracky=1, granite=1, stone = 1, level = 2}, - drop = 'lib_materials:granite', + drop = 'lib_materials:stone_granite_01', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), }) - -minetest.register_node( "lib_materials:marble", { - description = S("Marble"), - tiles = { "technic_marble.png" }, +minetest.register_node("lib_materials:stone_granite_02", { + description = S("Stone - Granite 02"), + tiles = {"lib_materials_stone_granite_02.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_granite_brown", { + description = S("Stone - Granite Brown"), + tiles = {"lib_materials_stone_granite_brown.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_granite_03", { + description = S("Stone - Granite 03"), + tiles = {"lib_materials_stone_granite_03.png" }, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), + groups = {cracky=3, stone=1}, +}) +minetest.register_node("lib_materials:stone_laterite", { + description = S("Stone - Laterite clay"), + tiles = {"lib_materials_stone_laterite.png" }, + is_ground_content = true, + sounds = default.node_sound_dirt_defaults(), + groups = {crumbly=3}, +}) +minetest.register_node("lib_materials:stone_limestone_01", { + description = S("Stone - Limestone 01"), + tiles = {"lib_materials_stone_limestone_01.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_limestone_02", { + description = S("Stone - Limestone 02"), + tiles = {"lib_materials_stone_limestone_02.png" }, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), + groups = {cracky=2}, +}) +minetest.register_node("lib_materials:stone_marble_01", { + description = S("Stone - Marble 01 (Technic)"), + tiles = { "lib_materials_stone_marble_01.png" }, is_ground_content = true, groups = {cracky=3, marble=1, stone = 1, level = 2}, - drop = 'lib_materials:marble', + drop = 'lib_materials:stone_marble_01', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), }) +minetest.register_node("lib_materials:stone_marble_02", { + description = S("Stone - Marble 02"), + tiles = {"lib_materials_stone_marble_02.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_marble_03", { + description = S("Stone - Marble 03"), + tiles = {"lib_materials_stone_marble_03.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_marble_03_block", { + description = S("Stone - Marble 03 Block"), + tiles = {"lib_materials_stone_marble_03_block.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_mudstone", { + description = S("Stone - Mudstone"), + tiles = {"lib_materials_stone_mudstone.png" }, + groups = {cracky=1, crumbly=3}, + is_ground_content = true, + sounds = default.node_sound_dirt_defaults(), +}) +minetest.register_node("lib_materials:stone_pegmatite", { + description = S("Stone - Pegmatite"), + tiles = {"lib_materials_stone_pegmatite.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_rhyolitic_tuff", { + description = S("Stone - Rhyolitic Tuff"), + tiles = {"lib_materials_stone_rhyolitic_tuff.png"}, + is_ground_content = true, + legacy_mineral = true, + groups = {cracky = 3, stone = 1}, + drop = { + max_items = 1, + items = { + {-- player get tuff node if he is lucky :) + items = {'lib_materials:stone_rhyolitic_tuff'}, + rarity = 3, + }, + {-- player will get rubble with 2/3 chance + items = {'lib_materials:stone_rhyolitic_tuff_cobble'}, + } + + } + }, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_rhyolitic_tuff_bricks", { + description = S("Stone - Rhyolitic Tuff Bricks"), + tiles = {"lib_materials_stone_rhyolitic_tuff_bricks.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_rhyolitic_tuff_cobble", { + description = S("Stone - Rhyolitic Tuff Cobble"), + tiles = {"lib_materials_stone_rhyolitic_tuff_cobble.png"}, + groups = {crumbly = 2, falling_node = 1}, + sounds = default.node_sound_gravel_defaults(), +}) +minetest.register_node("lib_materials:stone_sandstone_old_red", { + description = S("Stone - Old Red Sandstone"), + tiles = {"lib_materials_stone_sandstone_old_red.png"}, + is_ground_content = true, + drop = "lib_materials:stone_sandstone_old_red_cobble", + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_sandstone_old_red_block", { + description = S("Stone - Old Red Sandstone Block"), + tiles = {"lib_materials_stone_sandstone_old_red_block.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_sandstone_old_red_brick", { + description = S("Stone - Old Red Sandstone Brick"), + tiles = {"lib_materials_stone_sandstone_old_red_brick.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_sandstone_old_red_cobble", { + description = S("Stone - Old Red Sandstone Cobble"), + tiles = {"lib_materials_stone_sandstone_old_red_cobble.png"}, + is_ground_content = true, + groups = {cracky = 3, crumbly=2, stone = 2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_savanna", { + description = S("Stone - Savannah Stone"), + tiles = {"lib_materials_stone_savannah.png"}, + groups = {cracky = 3, stone=1}, + drop = 'lib_materials:stone_savanna_cobble', + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_savanna_cobble", { + description = S("Stone - Savanna Cobble"), + tiles = {"lib_materials_stone_savanna_cobble.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_savanna_with_ore_coal", { + description = S("Stone - Savanna Stone With Coal Ore"), + tiles = {"lib_materials_stone_savannah_with_ore_coal.png"}, + groups = {cracky = 3, stone = 1, ore=1}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_savanna_with_ore_iron", { + description = S("Stone - Savanna Stone With Iron Ore"), + tiles = {"lib_materials_stone_savannah_with_ore_iron.png"}, + groups = {cracky = 2, stone = 1, ore=1}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_schist", { + description = S("Stone - Schist"), + tiles = {"lib_materials_stone_schist.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_serpentine", { + description = S("Stone - Serpentine"), + tiles = {"lib_materials_stone_serpentine.png"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_shale", { + description = S("Stone - Shale"), + tiles = {"lib_materials_stone_shale.png","lib_materials_stone_shale.png","lib_materials_stone_shale_side.png"}, + is_ground_content = true, + groups = {crumbly=2,cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_skarn", { + description = S("Stone - Skarn"), + tiles = {"lib_materials_stone_skarn.png" }, + groups = {cracky=3, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:stone_slate_01", { + description = S("Stone - Slate 01"), + tiles = {"lib_materials_stone_slate_01_top.png","lib_materials_stone_slate_01_top.png","lib_materials_stone_slate_01_side.png"}, + is_ground_content = true, + drop = 'lib_materials:stone_slate_01_cobble', + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_slate_01_block", { + description = S("Stone - Slate 01 Block"), + tiles = {"lib_materials_stone_slate_01_block.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_slate_01_brick", { + description = S("Stone - Slate 01 Brick"), + tiles = {"lib_materials_stone_slate_01_brick.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_slate_01_cobble", { + description = S("Stone - Slate 01 Cobble"), + tiles = {"lib_materials_stone_slate_01_cobble.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_slate_01_tile", { + description = S("Stone - Slate 01 Tile"), + tiles = {"lib_materials_stone_slate_01_tile.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_slate_02", { + description = S("Stone - Slate 02"), + tiles = {"lib_materials_stone_slate_02.png" }, + is_ground_content = true, + sounds = default.node_sound_dirt_defaults(), + groups = {cracky=3}, +}) +minetest.register_node("lib_materials:stone_tuff", { + description = S("Stone - Tuff"), + tiles = {"lib_materials_stone_tuff.png"}, + is_ground_content = true, + legacy_mineral = true, + groups = {cracky = 3, stone = 1}, + drop = { + max_items = 1, + items = { + {-- player get tuff node if he is lucky :) + items = {'lib_materials:stone_tuff'}, + rarity = 3, + }, + {-- player will get rubble with 2/3 chance + items = {'lib_materials:stone_tuff_cobble'}, + } + } + }, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_tuff_bricks", { + description = S("Stone - Tuff Bricks"), + tiles = {"lib_materials_stone_tuff_bricks.png"}, + is_ground_content = false, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_tuff_bricks_old", { + description = S("Stone - Tuff Bricks Old"), + tiles = {"lib_materials_stone_tuff_bricks_old.png"}, + is_ground_content = false, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults() +}) +minetest.register_node("lib_materials:stone_tuff_cobble", { + description = S("Stone - Tuff Cobble"), + tiles = {"lib_materials_stone_tuff_cobble.png"}, + groups = {crumbly = 2, falling_node = 1}, + sounds = default.node_sound_gravel_defaults(), +}) +minetest.register_node("lib_materials:stone_vermiculite", { + description = S("Stone - Vermiculite"), + tiles = {"lib_materials_stone_vermiculite.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + + +minetest.register_node("lib_materials:stone_lignite", { + description = S("Stone - Lignite coal"), + tiles = {"lib_materials_stone_mudstone.png^rocks_lignite.png" }, + is_ground_content = true, + groups = {crumbly=3}, +}) +minetest.register_node("lib_materials:stone_blackcoal", { + description = S("Stone - Black coal"), + tiles = {"lib_materials_stone_mudstone.png^default_mineral_coal.png" }, + is_ground_content = true, + groups = {crumbly=3}, +}) +minetest.register_node("lib_materials:stone_anthracite", { + description = S("Stone - Anthracite coal"), + tiles = {"lib_materials_stone_mudstone.png^rocks_anthracite.png" }, + is_ground_content = true, + groups = {crumbly=3}, +}) + + + +--Technic Node - Granite 01, Marble 01 +--Farlands Nodes - Granite 02, Granite Brown, Limestone 01, Marble 02, Savanna +--Rocks mod - Andesite, Basalt 03, Claystone, Conglomerate, Diorite, Gabbro, Gneiss 02, Granite 03, Laterite, Limestone 02, Mudstone, Pegmatite, Skarn, Slate 02, + -- Basalt Ex/Mafic hard same as diorite, byt limit=0.5 + -- Mudstone Sed soft Ocean, beach, river, glaciers + -- more rock defs +--Darkage Nodes - Adobe, Basalt 01, Chalk, Gneiss 01, Marble 03, Old Red Sandstone (ors), Serpentine, Shale, Schist, Slate 01, Tuff, Rhyolitic Tuff +minetest.register_craftitem("lib_materials:chalk_powder", { + description = "Chalk Powder", + inventory_image = "darkage_chalk_powder.png", +}) +minetest.register_node("lib_materials:cobble_with_plaster", { + description = "Stone - Cobblestone with Plaster", + tiles = {"darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_D.png)", "darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_B.png)", + "darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_C.png)", "darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_A.png)", + "default_cobble.png", "darkage_chalk.png"}, + is_ground_content = false, + paramtype2 = "facedir", + drop = 'default:cobble', + groups = {cracky=3, not_cuttable=1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:chalked_bricks_with_plaster", { + description = "Stone - Chalked Bricks with Plaster", + tiles = {"darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_D.png)", "darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_B.png)", + "darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_C.png)", "darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_A.png)", + "darkage_chalked_bricks.png", "darkage_chalk.png"}, + is_ground_content = false, + paramtype2 = "facedir", + drop = 'default:cobble', + groups = {cracky=3, not_cuttable=1}, + sounds = default.node_sound_stone_defaults(), +}) +minetest.register_node("lib_materials:desert_stone_with_iron", { + description = "Stone - Desert Iron Ore", + tiles = {"default_desert_stone.png^default_mineral_iron.png"}, + is_ground_content = true, + groups = {cracky=3, not_cuttable=1}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), +}) + +-- abm to turn Tuff bricks to old Tuff bricks if water is nearby +-- minetest.register_abm({ + -- nodenames = {"lib_materials:stone_tuff_bricks"}, + -- neighbors = {"group:water"}, + -- interval = 16, + -- chance = 200, + -- catch_up = false, + -- action = function(pos, node) + -- minetest.set_node(pos, {name = "lib_materials:stone_tuff_bricks_old"}) + -- end +-- }) + diff --git a/type_stone_deco.lua b/type_stone_deco.lua new file mode 100644 index 0000000..043415d --- /dev/null +++ b/type_stone_deco.lua @@ -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(), +}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +