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..30a859f 100644 --- a/init.lua +++ b/init.lua @@ -1,28 +1,77 @@ lib_materials = {} - +lib_materials.version = "5.0" lib_materials.path = minetest.get_modpath(minetest.get_current_modname()) -lib_materials.gettext, lib_materials.ngettext = dofile(lib_materials.path.."/intllib.lua") -local S = lib_materials.gettext -local NS = lib_materials.ngettext +-- Intllib +local S +local NS +if minetest.get_modpath("game") then + S = game.intllib +else + if minetest.get_modpath("intllib") then + S = intllib.Getter() + else + S, NS = dofile(lib_materials.path.."/intllib.lua") + end +end +lib_materials.intllib = S + +--DEFAULTS +--0, 4, 30, 60, 90, 120, 150, 1800 +lib_materials.ocean_depth = -192 +lib_materials.beach_depth = -4 +lib_materials.sea_level = 0 +lib_materials.maxheight_beach = 4 +lib_materials.maxheight_coastal = 40 +lib_materials.maxheight_lowland = 80 +lib_materials.maxheight_shelf = 120 +lib_materials.maxheight_highland = 160 +lib_materials.maxheight_mountain = 200 +lib_materials.minheight_snow = 380 +lib_materials.maxheight_snow = 780 +lib_materials.maxheight_strato = 1800 + +lib_materials.temperature_hot = 90 +lib_materials.temperature_warm = 75 +lib_materials.temperature_temperate = 50 +lib_materials.temperature_cool = 25 +lib_materials.temperature_cold = 10 +lib_materials.humidity_humid = 90 +lib_materials.humidity_semihumid = 75 +lib_materials.humidity_temperate = 50 +lib_materials.humidity_semiarid = 25 +lib_materials.humidity_arid = 10 + +lib_materials.biome_vertical_blend = 4 + +minetest.clear_registered_biomes() +minetest.clear_registered_decorations() +minetest.clear_registered_ores() + +minetest.log(S("[MOD] lib_materials: Loading...")) + +dofile(lib_materials.path.."/lib_materials_sound_defaults.lua") dofile(lib_materials.path.."/lib_materials_utils.lua") -dofile(lib_materials.path.."/lib_materials_water.lua") - -dofile(lib_materials.path.."/type_dirt.lua") - -dofile(lib_materials.path.."/type_sand.lua") - -dofile(lib_materials.path.."/type_ore.lua") - +dofile(lib_materials.path.."/type_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_ice_snow.lua") +dofile(lib_materials.path.."/type_ore.lua") +dofile(lib_materials.path.."/type_glass.lua") + +dofile(lib_materials.path.."/lib_materials_biomes.lua") + +dofile(lib_materials.path.."/lib_materials_lakes.lua") dofile(lib_materials.path.."/lib_materials_ore_defs.lua") - +minetest.log(S("[MOD] lib_materials: Successfully loaded.")) --[[ diff --git a/lib_materials_biomes.lua b/lib_materials_biomes.lua new file mode 100644 index 0000000..10787ff --- /dev/null +++ b/lib_materials_biomes.lua @@ -0,0 +1,1119 @@ +-- +-- Register biomes +-- + +local add_biome = function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) + + minetest.register_biome({ + name = a, + node_dust = b, + node_top = c, + depth_top = d, + node_filler = e, + depth_filler = f, + node_stone = g, + node_water_top = h, + depth_water_top = i, + node_water = j, + node_river_water = k, + y_min = l, + y_max = m, + vertical_blend = lib_materials.biome_vertical_blend, + heat_point = n, + humidity_point = o, + }) + +end + + +--TEMP BIOMES +--[[ +--]] +--BIOME: hot_ +local add_biomes_hot_humid = function() + --BIOME: hot_humid + --add_biome("hot_humid", nil, "lib_materials:dirt_clayey_with_rainforest_litter", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_hot, lib_materials.humidity_humid) + --add_biome("hot_humid_generic", nil, "lib_materials:dirt_clayey_with_rainforest_litter", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_hot, lib_materials.humidity_humid) + --add_biome("hot_humid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -1lib_materials.humidity_temperate00, -192, lib_materials.temperature_hot, lib_materials.humidity_humid) + + add_biome("hot_humid_ocean", nil, "lib_materials:dirt_silt_02", 4, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -2, lib_materials.temperature_hot, lib_materials.humidity_humid) + add_biome("hot_humid_beach", nil, "lib_materials:dirt_silt_02", 2, "lib_materials:dirt_silt_02", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -2, 2, lib_materials.temperature_hot, lib_materials.humidity_humid) + + add_biome("hot_humid_coastal", nil, "lib_materials:dirt_with_grass_hot_humid_coastal", 1, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 2, lib_materials.maxheight_coastal, lib_materials.temperature_hot, lib_materials.humidity_humid) + add_biome("hot_humid_lowland", nil, "lib_materials:dirt_with_grass_hot_humid_lowland", 1, "lib_materials:dirt_silty", 5, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_hot, lib_materials.humidity_humid) + add_biome("hot_humid_shelf", nil, "lib_materials:dirt_with_grass_hot_humid_shelf", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_hot, lib_materials.humidity_humid) + add_biome("hot_humid_highland", nil, "lib_materials:dirt_with_grass_hot_humid_highland", 1, "lib_materials:dirt", 3, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_hot, lib_materials.humidity_humid) + + add_biome("hot_humid_mountain", nil, "lib_materials:stone_brown", 10, "lib_materials:stone_basalt_01", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_hot, lib_materials.humidity_humid) + add_biome("hot_humid_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_hot, lib_materials.humidity_humid) + + --add_biome("hot_humid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", 20, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_hot, lib_materials.humidity_humid) + --add_biome("hot_humid_sky", nil, "lib_clouds:cloud_cirrus", 3, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_hot, lib_materials.humidity_humid) +end + +local add_biomes_hot_semihumid = function() + --BIOME: hot_semihumid + --add_biome("hot_semihumid", nil, "lib_materials:dirt_clayey_with_coniferous_litter", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + --add_biome("hot_semihumid_generic", nil, "lib_materials:dirt_clayey_with_coniferous_litter", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + --add_biome("hot_semihumid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -1lib_materials.humidity_temperate00, -192, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + + add_biome("hot_semihumid_ocean", nil, "lib_materials:dirt_silt_02", 4, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, 0, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + add_biome("hot_semihumid_beach", nil, "lib_materials:sand_volcanic", 2, "lib_materials:dirt_silt_02", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -3, 3, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + + add_biome("hot_semihumid_coastal", nil, "lib_materials:dirt_with_grass_hot_semihumid_coastal", 1, "lib_materials:dirt_silty", 6, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 0, lib_materials.maxheight_coastal, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + add_biome("hot_semihumid_lowland", nil, "lib_materials:dirt_with_grass_hot_semihumid_lowland", 1, "lib_materials:dirt_dark", 5, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + add_biome("hot_semihumid_shelf", nil, "lib_materials:dirt_with_grass_hot_semihumid_shelf", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + add_biome("hot_semihumid_highland", nil, "lib_materials:dirt_with_grass_hot_semihumid_highland", 1, "lib_materials:dirt_coarse", 3, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + + add_biome("hot_semihumid_mountain", nil, "lib_materials:stone_sand", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + add_biome("hot_semihumid_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + + --add_biome("hot_semihumid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", 20, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_hot, lib_materials.humidity_semihumid) + --add_biome("hot_semihumid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_hot, lib_materials.humidity_semihumid) +end + +local add_biomes_hot_temperate = function() + --BIOME: hot_temperate + --add_biome("hot_temperate", nil, "lib_materials:dirt_clayey_with_grass", 1, "lib_materials:dirt_clayey", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_hot, lib_materials.humidity_temperate) + --add_biome("hot_temperate_generic", nil, "lib_materials:dirt_clayey_with_grass", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_hot, lib_materials.humidity_temperate) + --add_biome("hot_temperate_underground", nil, nil, nil, nil, nil, "lib_materials:stone_brown", nil, nil, nil, nil, -10000, -192, lib_materials.temperature_hot, lib_materials.humidity_temperate) + + add_biome("hot_temperate_ocean", nil, "lib_materials:sand", 4, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_brown", nil, nil, nil, nil, -192, -4, lib_materials.temperature_hot, lib_materials.humidity_temperate) + add_biome("hot_temperate_beach", nil, "lib_materials:sand_volcanic", 2, "lib_materials:dirt_silt_02", 4, "lib_materials:stone_brown", nil, nil, nil, nil, -4, 4, lib_materials.temperature_hot, lib_materials.humidity_temperate) + + add_biome("hot_temperate_coastal", nil, "lib_materials:dirt_with_grass_hot_temperate_coastal", 1, "lib_materials:dirt_dark", 6, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_hot, lib_materials.humidity_temperate) + add_biome("hot_temperate_lowland", nil, "lib_materials:dirt_with_grass_hot_temperate_lowland", 1, "lib_materials:dirt", 5, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_hot, lib_materials.humidity_temperate) + add_biome("hot_temperate_shelf", nil, "lib_materials:dirt_with_grass_hot_temperate_shelf", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_hot, lib_materials.humidity_temperate) + add_biome("hot_temperate_highland", nil, "lib_materials:dirt_with_grass_hot_temperate_highland", 1, "lib_materials:dirt_clay_red", 3, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_hot, lib_materials.humidity_temperate) + + add_biome("hot_temperate_mountain", nil, "lib_materials:stone_desert", 10, "default:stone_sand", 20, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_hot, lib_materials.humidity_temperate) + add_biome("hot_temperate_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_hot, lib_materials.humidity_temperate) + + --add_biome("hot_temperate_volcanic", nil, "lib_materials:stone_basalt_01_cobble", 1, "lib_materials:stone_basalt_01", 4, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_hot, lib_materials.humidity_temperate) + --add_biome("hot_temperate_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_hot, lib_materials.humidity_temperate) +end + +local add_biomes_hot_semiarid = function() + --BIOME: hot_semiarid + --add_biome("hot_semiarid", nil, "lib_materials:dirt_clayey_with_dry_grass", 1, "lib_materials:dirt_clayey", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + --add_biome("hot_semiarid_generic", nil, "lib_materials:dirt_clayey_with_dry_grass", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + --add_biome("hot_semiarid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_sand", nil, nil, nil, nil, -6000, -192, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + + add_biome("hot_semiarid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sand", nil, nil, nil, nil, -192, -4, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + add_biome("hot_semiarid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:dirt_clayey", 4, "lib_materials:stone_sand", nil, nil, nil, nil, -4, 4, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + + add_biome("hot_semiarid_coastal", nil, "lib_materials:dirt_with_grass_hot_semiarid_coastal", 1, "lib_materials:dirt", 6, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + add_biome("hot_semiarid_lowland", nil, "lib_materials:dirt_with_grass_hot_semiarid_lowland", 1, "lib_materials:dirt_coarse", 5, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + add_biome("hot_semiarid_shelf", nil, "lib_materials:dirt_with_grass_hot_semiarid_shelf", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + add_biome("hot_semiarid_highland", nil, "lib_materials:dirt_with_grass_hot_semiarid_highland", 1, "lib_materials:dirt_clayey", 3, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + + add_biome("hot_semiarid_mountain", nil, "lib_materials:stone_sandstone_desert", 10, "lib_materials:stone_desert", 20, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + add_biome("hot_semiarid_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + + --add_biome("hot_semiarid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", 1, "lib_materials:stone_basalt_01", 4, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_hot, lib_materials.humidity_semiarid) + --add_biome("hot_semiarid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_hot, lib_materials.humidity_semiarid) +end + +local add_biomes_hot_arid = function() + --BIOME: hot_arid + --add_biome("hot_arid", nil, "default:desert_sand", 1, "lib_materials:stone_brown", 4, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_hot, lib_materials.humidity_arid) + --add_biome("hot_arid_generic", nil, "default:desert_sand", 1, "lib_materials:stone_brown", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_hot, lib_materials.humidity_arid) + --add_biome("hot_arid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -1lib_materials.humidity_temperate00, -192, lib_materials.temperature_hot, lib_materials.humidity_arid) + + add_biome("hot_arid_ocean", nil, "lib_materials:sand", 2, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -4, lib_materials.temperature_hot, lib_materials.humidity_arid) + add_biome("hot_arid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_hot, lib_materials.humidity_arid) + + add_biome("hot_arid_coastal", nil, "lib_materials:stone_sandstone_white_gravel", 5, "lib_materials:stone_brown", 10, "lib_materials:stone_basalt_01", nil, nil, nil, "lib_materials:dirt_clay_white", lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_hot, lib_materials.humidity_arid) + add_biome("hot_arid_lowland", nil, "lib_materials:stone_sandstone_white_gravel", 10, "lib_materials:stone_sand", 15, "lib_materials:stone_brown", nil, nil, nil, "lib_materials:dirt_clay_white", lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_hot, lib_materials.humidity_arid) + add_biome("hot_arid_shelf", nil, "lib_materials:stone_sandstone_white_gravel", 10, "lib_materials:stone_desert", 20, "lib_materials:stone_sand", nil, nil, nil, "lib_materials:dirt_clay_white", lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_hot, lib_materials.humidity_arid) + add_biome("hot_arid_highland", nil, "lib_materials:stone_sandstone_white_gravel", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_desert", nil, nil, nil, "lib_materials:dirt_clay_white", lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_hot, lib_materials.humidity_arid) + + add_biome("hot_arid_mountain", nil, "lib_materials:stone_sandstone_white", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_hot, lib_materials.humidity_arid) + add_biome("hot_arid_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_hot, lib_materials.humidity_arid) + + --add_biome("hot_arid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", 1, "lib_materials:stone_basalt_01", 4, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_hot, lib_materials.humidity_arid) + --add_biome("hot_arid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_hot, lib_materials.humidity_arid) +end + + + +--BIOME: warm_ +local add_biomes_warm_humid = function() + --BIOME: warm_humid + --add_biome("warm_humid", nil, "lib_materials:dirt_dark_with_rainforest_litter", 1, "lib_materials:dirt_dark", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_warm, lib_materials.humidity_humid) + --add_biome("warm_humid_generic", nil, "lib_materials:dirt_dark_with_rainforest_litter", 1, "lib_materials:dirt_dark", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_warm, lib_materials.humidity_humid) + --add_biome("warm_humid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -1lib_materials.humidity_temperate00, -192, lib_materials.temperature_warm, lib_materials.humidity_humid) + + add_biome("warm_humid_ocean", nil, "lib_materials:dirt_silt_02", 4, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -3, lib_materials.temperature_warm, lib_materials.humidity_humid) + add_biome("warm_humid_beach", nil, "lib_materials:sand_white", 1, "lib_materials:sand_volcanic", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -3, 3, lib_materials.temperature_warm, lib_materials.humidity_humid) + + add_biome("warm_humid_coastal", nil, "lib_materials:dirt_with_grass_warm_humid_coastal", 1, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -3, lib_materials.maxheight_coastal, lib_materials.temperature_warm, lib_materials.humidity_humid) + add_biome("warm_humid_lowland", nil, "lib_materials:dirt_with_grass_warm_humid_lowland", 1, "lib_materials:dirt_silty", 5, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_warm, lib_materials.humidity_humid) + add_biome("warm_humid_shelf", nil, "lib_materials:dirt_with_grass_warm_humid_shelf", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_warm, lib_materials.humidity_humid) + add_biome("warm_humid_highland", nil, "lib_materials:dirt_with_grass_warm_humid_highland", 1, "lib_materials:dirt", 3, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_warm, lib_materials.humidity_humid) + + add_biome("warm_humid_mountain", nil, "lib_materials:stone_sand", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_warm, lib_materials.humidity_humid) + add_biome("warm_humid_strato", nil, "lib_materials:stone_sandstone_desert", 15, "lib_materials:stone_sand", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_warm, lib_materials.humidity_humid) + + --add_biome("warm_humid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", 1, "lib_materials:stone_basalt_01", 4, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_warm, lib_materials.humidity_humid) + --add_biome("warm_semihumid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_warm, lib_materials.humidity_humid) +end + +local add_biomes_warm_semihumid = function() + --BIOME: warm_semihumid + --add_biome("warm_semihumid", nil, "lib_materials:dirt_dark_with_coniferous_litter", 1, "lib_materials:dirt_dark", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + --add_biome("warm_semihumid_generic", nil, "lib_materials:dirt_dark_with_coniferous_litter", 1, "lib_materials:dirt_dark", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + --add_biome("warm_semihumid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_brown", nil, nil, nil, nil, -10000, -192, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + + add_biome("warm_semihumid_ocean", nil, "lib_materials:dirt_silt_02", 2, "lib_materials:sand", 4, "lib_materials:stone_brown", nil, nil, nil, nil, -192, -4, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + add_biome("warm_semihumid_beach", nil, "lib_materials:sand_white", 1, "lib_materials:sand_white", 4, "lib_materials:stone_brown", nil, nil, nil, nil, -4, 4, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + + add_biome("warm_semihumid_coastal", nil, "lib_materials:dirt_with_grass_warm_semihumid_coastal", 1, "lib_materials:dirt_silty", 6, "lib_materials:stone_brown", nil, nil, nil, nil, -lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + add_biome("warm_semihumid_lowland", nil, "lib_materials:dirt_with_grass_warm_semihumid_lowland", 1, "lib_materials:dirt", 5, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + add_biome("warm_semihumid_shelf", nil, "lib_materials:dirt_with_grass_warm_semihumid_shelf", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + add_biome("warm_semihumid_highland", nil, "lib_materials:dirt_with_grass_warm_semihumid_highland", 1, "lib_materials:dirt_dry", 3, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + + add_biome("warm_semihumid_mountain", nil, "lib_materials:stone_granite_brown", 10, "lib_materials:stone_andesite", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + add_biome("warm_semihumid_strato", nil, "lib_materials:stone_sandstone_desert", 15, "lib_materials:stone_granite_brown", 25, "lib_materials:stone_andesite", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + + --add_biome("warm_semihumid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", 1, "lib_materials:stone_basalt_01", 4, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + --add_biome("warm_semihumid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_warm, lib_materials.humidity_semihumid) +end + +local add_biomes_warm_temperate = function() + --BIOME: warm_temperate + --add_biome("warm_temperate", nil, "lib_materials:dirt_dark_with_grass", 1, "lib_materials:dirt_dark", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_warm, lib_materials.humidity_temperate) + --add_biome("warm_temperate_generic", nil, "lib_materials:dirt_dark_with_grass", 1, "lib_materials:dirt_dark", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_warm, lib_materials.humidity_temperate) + --add_biome("warm_temperate_underground", nil, nil, nil, nil, nil, "lib_materials:stone_sand", nil, nil, nil, nil, -6000, -192, lib_materials.temperature_warm, lib_materials.humidity_semihumid) + + add_biome("warm_temperate_ocean", nil, "lib_materials:dirt_silt_02", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_warm, lib_materials.humidity_temperate) + add_biome("warm_temperate_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_warm, lib_materials.humidity_temperate) + + add_biome("warm_temperate_coastal", nil, "lib_materials:dirt_with_grass_warm_temperate_coastal", 1, "lib_materials:dirt_dark", 6, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_warm, lib_materials.humidity_temperate) + add_biome("warm_temperate_lowland", nil, "lib_materials:dirt_with_grass_warm_temperate_lowland", 1, "lib_materials:dirt", 5, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_warm, lib_materials.humidity_temperate) + add_biome("warm_temperate_shelf", nil, "lib_materials:dirt_with_grass_warm_temperate_shelf", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_warm, lib_materials.humidity_temperate) + add_biome("warm_temperate_highland", nil, "lib_materials:dirt_with_grass_warm_temperate_highland", 1, "lib_materials:dirt_clay_red", 3, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_warm, lib_materials.humidity_temperate) + + add_biome("warm_temperate_mountain", nil, "lib_materials:stone_sandstone_desert", 10, "lib_materials:stone_sand", 20, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_warm, lib_materials.humidity_temperate) + add_biome("warm_temperate_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_warm, lib_materials.humidity_temperate) + + --add_biome("warm_temperate_volcanic", nil, "air", 2, "air", 4, "default:lava_source", nil, nil, nil, nil, 140, 140, 15, 15) + --add_biome("warm_temperate_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_warm, lib_materials.humidity_temperate) +end + +local add_biomes_warm_semiarid = function() + --BIOME: warm_semiarid + --add_biome("warm_semiarid", nil, "lib_materials:dirt_dark_with_dry_grass", 1, "lib_materials:dirt_dark", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + --add_biome("warm_semiarid_generic", nil, "lib_materials:dirt_dark_with_dry_grass", 1, "lib_materials:dirt_dark", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + --add_biome("warm_semiarid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_desert", nil, nil, nil, nil, -lib_materials.humidity_temperate00, -192, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + + add_biome("warm_semiarid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + add_biome("warm_semiarid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + + add_biome("warm_semiarid_coastal", nil, "lib_materials:dirt_with_grass_warm_semiarid_coastal", 1, "lib_materials:dirt", 4, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + add_biome("warm_semiarid_lowland", nil, "lib_materials:dirt_with_grass_warm_semiarid_lowland", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + add_biome("warm_semiarid_shelf", nil, "lib_materials:dirt_with_grass_warm_semiarid_shelf", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + add_biome("warm_semiarid_highland", nil, "lib_materials:dirt_with_grass_warm_semiarid_highland", 1, "lib_materials:dirt_clayey", 4, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + + add_biome("warm_semiarid_mountain", nil, "lib_materials:stone_sandstone_desert", 10, "lib_materials:stone_sand", 20, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + add_biome("warm_semiarid_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + + --add_biome("warm_semiarid_volcanic", nil, "lib_materials:dirt_dark_with_grass", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, 140, 140, lib_materials.temperature_warm, lib_materials.humidity_semiarid) + --add_biome("warm_semiarid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_warm, lib_materials.humidity_semiarid) +end + +local add_biomes_warm_arid = function() +--BIOME: warm_arid +--add_biome("warm_arid", nil, "default:desert_sand", 1, "lib_materials:stone_sand", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_warm, lib_materials.humidity_arid) +--add_biome("warm_arid_generic", nil, "default:desert_sand", 1, "lib_materials:stone_sand", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_warm, lib_materials.humidity_arid) +--add_biome("warm_arid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -1lib_materials.humidity_temperate00, -192, lib_materials.temperature_warm, lib_materials.humidity_arid) + +add_biome("warm_arid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_warm, lib_materials.humidity_arid) +add_biome("warm_arid_beach", nil, "lib_materials:stone_sandstone_desert_gravel", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_warm, lib_materials.humidity_arid) + +add_biome("warm_arid_coastal", nil, "lib_materials:sand_desert", 10, "lib_materials:stone_sand", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", nil, nil, nil, "lib_materials:stone_sandstone_white_gravel", lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_warm, lib_materials.humidity_arid) +add_biome("warm_arid_lowland", nil, "lib_materials:stone_sandstone_desert_gravel", 10, "lib_materials:stone_sand", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", nil, nil, nil, "lib_materials:stone_sandstone_white_gravel", lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_warm, lib_materials.humidity_arid) +add_biome("warm_arid_shelf", nil, "lib_materials:sand_desert", 10, "lib_materials:stone_sand", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", nil, nil, nil, "lib_materials:stone_sandstone_white_gravel", lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_warm, lib_materials.humidity_arid) +add_biome("warm_arid_highland", nil, "lib_materials:stone_sandstone_desert_gravel", 10, "lib_materials:stone_sand", lib_materials.temperature_cold, "lib_materials:stone_sandstone_desert", nil, nil, nil, "lib_materials:stone_sandstone_white_gravel", lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_warm, lib_materials.humidity_arid) + +add_biome("warm_arid_mountain", nil, "lib_materials:stone_sandstone_desert", 10, "lib_materials:stone_sand", 20, "lib_materials:stone_brown", nil, nil, nil, "lib_materials:stone_sandstone_white_gravel", lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_warm, lib_materials.humidity_arid) +add_biome("warm_arid_strato", nil, "lib_materials:stone_sandstone", 15, "lib_materials:stone_sandstone_desert", 25, "lib_materials:stone_sand", nil, nil, nil, "lib_materials:stone_sandstone_white_gravel", lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_warm, lib_materials.humidity_arid) + +--add_biome("warm_arid_volcanic", nil, "lib_materials:stone_sandstone_desert", 10, "lib_materials:stone_sand", 40, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 140, 140, lib_materials.temperature_warm, lib_materials.humidity_arid) +--add_biome("warm_arid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_warm, lib_materials.humidity_arid) +end + + +--BIOMES: temperate_ +local add_biomes_temperate_humid = function() + --BIOME: temperate_humid + --add_biome("temperate_humid", nil, "default:dirt_with_rainforest_litter", 1, "default:dirt", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_temperate, lib_materials.humidity_humid) + --add_biome("temperate_humid_generic", nil, "lib_materials:dirt_with_rainforest_litter", 1, "default:dirt", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_temperate, lib_materials.humidity_humid) + --add_biome("temperate_humid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_brown", nil, nil, nil, nil, -10000, -192, lib_materials.temperature_temperate, lib_materials.humidity_humid) + + add_biome("temperate_humid_ocean", nil, "lib_materials:dirt_silt_02", 4, "lib_materials:sand", 6, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_temperate, lib_materials.humidity_humid) + add_biome("temperate_humid_beach", nil, "lib_materials:sand_beach", 2, "default:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -4, 4, lib_materials.temperature_temperate, lib_materials.humidity_humid) + + add_biome("temperate_humid_coastal", nil, "lib_materials:dirt_with_grass_temperate_humid_coastal", 1, "lib_materials:dirt_silt_02", 6, "lib_materials:stone_brown", nil, nil, nil, nil, -lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_temperate, lib_materials.humidity_humid) + add_biome("temperate_humid_lowland", nil, "lib_materials:dirt_with_grass_temperate_humid_lowland", 1, "lib_materials:dirt_silty", 5, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_temperate, lib_materials.humidity_humid) + add_biome("temperate_humid_shelf", nil, "lib_materials:dirt_with_grass_temperate_humid_shelf", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_temperate, lib_materials.humidity_humid) + add_biome("temperate_humid_highland", nil, "lib_materials:dirt_with_grass_temperate_humid_highland", 1, "lib_materials:dirt", 3, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_temperate, lib_materials.humidity_humid) + + add_biome("temperate_humid_mountain", nil, "lib_materials:stone_gabbro", 10, "lib_materials:stone_bluestone", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_temperate, lib_materials.humidity_humid) + add_biome("temperate_humid_strato", nil, "lib_materials:stone_diorite", 15, "lib_materials:stone_bluestone", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_temperate, lib_materials.humidity_humid) + + --add_biome("temperate_humid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", 20, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_temperate, lib_materials.humidity_humid) + --add_biome("temperate_humid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_temperate, lib_materials.humidity_humid) +end + +local add_biomes_temperate_semihumid = function() + --BIOME: temperate_semihumid + --add_biome("temperate_semihumid", nil, "default:dirt_with_coniferous_litter", 1, "default:dirt", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + --add_biome("temperate_semihumid_generic", nil, "lib_materials:dirt_with_coniferous_litter", 1, "default:dirt", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + --add_biome("temperate_semihumid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + + add_biome("temperate_semihumid_ocean", nil, "lib_materials:dirt_silt_02", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + add_biome("temperate_semihumid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + + add_biome("temperate_semihumid_coastal", nil, "lib_materials:dirt_with_grass_temperate_semihumid_coastal", 1, "lib_materials:dirt_silty", 4, "lib_materials:stone_bluestone", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + add_biome("temperate_semihumid_lowland", nil, "lib_materials:dirt_with_grass_temperate_semihumid_lowland", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_bluestone", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + add_biome("temperate_semihumid_shelf", nil, "lib_materials:dirt_with_grass_temperate_semihumid_shelf", 1, "lib_materials:dirt", 4, "lib_materials:stone_bluestone", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + add_biome("temperate_semihumid_highland", nil, "lib_materials:dirt_with_grass_temperate_semihumid_highland", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_bluestone", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + + add_biome("temperate_semihumid_mountain", nil, "lib_materials:stone_bluestone", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + add_biome("temperate_semihumid_strato", nil, "lib_materials:stone_bluestone", 15, "lib_materials:stone_gabbro", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + + --add_biome("temperate_semihumid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", 20, "default:lava", nil, nil, nil, nil, 140, 140, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) + --add_biome("temperate_semihumid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_temperate, lib_materials.humidity_semihumid) +end + +local add_biomes_temperate_temperate = function() + --BIOME: temperate_temperate + --add_biome("temperate_temperate", nil, "default:dirt_with_grass", 1, "default:dirt", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + --add_biome("temperate_temperate_generic", nil, "lib_materials:dirt_with_grass", 1, "default:dirt", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + --add_biome("temperate_temperate_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + + add_biome("temperate_temperate_ocean", nil, "lib_materials:dirt_silt_02", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("temperate_temperate_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + + add_biome("temperate_temperate_coastal", nil, "lib_materials:dirt_with_grass_temperate_temperate_coastal", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("temperate_temperate_lowland", nil, "lib_materials:dirt_with_grass_temperate_temperate_lowland", 1, "lib_materials:dirt", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("temperate_temperate_shelf", nil, "lib_materials:dirt_with_grass_temperate_temperate_shelf", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("temperate_temperate_highland", nil, "lib_materials:dirt_with_grass_temperate_temperate_highland", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + + add_biome("temperate_temperate_mountain", nil, "lib_materials:stone_greenstone", 10, "lib_materials:stone_schist", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("temperate_temperate_strato", "default:snowblock", "lib_materials:stone_basalt_02", 15, "lib_materials:stone_greenstone", 25, "lib_materials:stone_schist", nil, nil, nil, nil, lib_materials.minheight_snow, lib_materials.maxheight_snow, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("temperate_temperate_strato", nil, "lib_materials:stone_basalt_02", 15, "lib_materials:stone_greenstone", 25, "lib_materials:stone_schist", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + + --add_biome("temperate_temperate_volcanic", nil, "air", 2, "air", 4, "default:lava_source", nil, nil, nil, nil, 140, 140, 15, 15) + --add_biome("temperate_temperate_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) +end + +local add_biomes_temperate_semiarid = function() + --BIOME: temperate_semiarid + --add_biome("temperate_semiarid", nil, "default:dirt_with_dry_grass", 1, "default:dirt", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + --add_biome("temperate_semiarid_generic", nil, "lib_materials:dirt_with_dry_grass", 1, "default:dirt", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + --add_biome("temperate_semiarid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + + add_biome("temperate_semiarid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + add_biome("temperate_semiarid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + + add_biome("temperate_semiarid_coastal", nil, "lib_materials:dirt_with_grass_temperate_semiarid_coastal", 1, "lib_materials:dirt", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + add_biome("temperate_semiarid_lowland", nil, "lib_materials:dirt_with_grass_temperate_semiarid_lowland", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + add_biome("temperate_semiarid_shelf", nil, "lib_materials:dirt_with_grass_temperate_semiarid_shelf", 1, "lib_materials:dirt_clay_red", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + add_biome("temperate_semiarid_highland", nil, "lib_materials:dirt_with_grass_temperate_semiarid_highland", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + + add_biome("temperate_semiarid_mountain", nil, "lib_materials:stone_sand", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + add_biome("temperate_semiarid_strato", nil, "lib_materials:stone_desert", 15, "lib_materials:stone_sand", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + + --add_biome("temperate_semiarid_volcanic", nil, "air", 2, "air", 4, "default:lava_source", nil, nil, nil, nil, 140, 140, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) + --add_biome("temperate_semiarid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_temperate, lib_materials.humidity_semiarid) +end + +local add_biomes_temperate_arid = function() +--BIOME: temperate_arid +--add_biome("temperate_arid", nil, "default:desert_sand", 1, "lib_materials:stone_sandstone_desert", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_temperate, lib_materials.humidity_arid) +--add_biome("temperate_arid_generic", nil, "lib_materials:sand_desert", 1, "lib_materials:stone_sandstone_desert", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_temperate, lib_materials.humidity_arid) +--add_biome("temperate_arid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -192, lib_materials.temperature_temperate, lib_materials.humidity_arid) + +add_biome("temperate_arid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_temperate, lib_materials.humidity_arid) +add_biome("temperate_arid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_temperate, lib_materials.humidity_arid) + +add_biome("temperate_arid_coastal", nil, "lib_materials:dirt_coarse", 5, "lib_materials:stone_brown", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_temperate, lib_materials.humidity_arid) +add_biome("temperate_arid_lowland", nil, "lib_materials:dirt_dry", 4, "lib_materials:stone_sand", 6, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_temperate, lib_materials.humidity_arid) +add_biome("temperate_arid_shelf", nil, "lib_materials:dirt_clayey", 3, "lib_materials:stone_desert", 8, "lib_materials:stone_sand", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_temperate, lib_materials.humidity_arid) +add_biome("temperate_arid_highland", nil, "lib_materials:dirt_sandy", 2, "lib_materials:stone_sandstone_desert", 10, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_temperate, lib_materials.humidity_arid) + +add_biome("temperate_arid_mountain", nil, "lib_materials:stone_desert", 15, "lib_materials:stone_brown", 25, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_temperate, lib_materials.humidity_arid) +add_biome("temperate_arid_strato", nil, "lib_materials:stone_desert", 15, "lib_materials:stone_sand", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_temperate, lib_materials.humidity_arid) + +--add_biome("temperate_arid_volcanic", nil, "lib_materials:stone_basalt_01_cobble", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", 20, "default:lava_source", nil, nil, nil, nil, 140, 140, lib_materials.temperature_temperate, lib_materials.humidity_arid) +--add_biome("temperate_arid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_temperate, lib_materials.humidity_arid) +end + + +--BIOMES: cool_ +local add_biomes_cool_humid = function() + --BIOME: cool_humid + --add_biome("cool_humid", nil, "lib_materials:dirt_sandy_with_coniferous_litter", 1, "lib_materials:dirt_sandy", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cool, lib_materials.humidity_humid) + --add_biome("cool_humid_generic", nil, "lib_materials:dirt_sandy_with_coniferous_litter", 1, "lib_materials:dirt_sandy", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cool, lib_materials.humidity_humid) + --add_biome("cool_humid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cool, lib_materials.humidity_humid) + + add_biome("cool_humid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cool, lib_materials.humidity_humid) + add_biome("cool_humid_beach", nil, "lib_materials:sand_beach", 1, "default:sand", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cool, lib_materials.humidity_humid) + + add_biome("cool_humid_coastal", nil, "lib_materials:dirt_with_grass_cool_humid_coastal", 1, "lib_materials:dirt_silt_02", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cool, lib_materials.humidity_humid) + add_biome("cool_humid_lowland", nil, "lib_materials:dirt_with_grass_cool_humid_lowland", 1, "lib_materials:dirt_silty", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cool, lib_materials.humidity_humid) + add_biome("cool_humid_shelf", nil, "lib_materials:dirt_with_grass_cool_humid_shelf", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cool, lib_materials.humidity_humid) + add_biome("cool_humid_highland", nil, "lib_materials:dirt_with_grass_cool_humid_highland", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cool, lib_materials.humidity_humid) + + add_biome("cool_humid_mountain", nil, "lib_materials:stone_sand", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cool, lib_materials.humidity_humid) + add_biome("cool_humid_strato", nil, "lib_materials:stone_granite_02", 15, "lib_materials:stone_sand", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cool, lib_materials.humidity_humid) + + --add_biome("cool_humid_volcanic", nil, nil, nil, nil, nil, nil, "default:ice", nil, nil, nil, 140, 140, lib_materials.temperature_cool, lib_materials.humidity_humid) + --add_biome("cool_humid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cool, lib_materials.humidity_humid) +end + +local add_biomes_cool_semihumid = function() + --BIOME: cool_semihumid + --add_biome("cool_semihumid", nil, "lib_materials:dirt_sandy_with_coniferous_litter", 1, "lib_materials:dirt_sandy", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + --add_biome("cool_semihumid_generic", nil, "lib_materials:dirt_sandy_with_coniferous_litter", 1, "lib_materials:dirt_sandy", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + --add_biome("cool_semihumid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + + add_biome("cool_semihumid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + add_biome("cool_semihumid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + + add_biome("cool_semihumid_coastal", nil, "lib_materials:dirt_with_grass_cool_semihumid_coastal", 1, "lib_materials:dirt_silty", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + add_biome("cool_semihumid_lowland", nil, "lib_materials:dirt_with_grass_cool_semihumid_lowland", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + add_biome("cool_semihumid_shelf", nil, "lib_materials:dirt_with_grass_cool_semihumid_shelf", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + add_biome("cool_semihumid_highland", nil, "lib_materials:dirt_with_grass_cool_semihumid_highland", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + + add_biome("cool_semihumid_mountain", nil, "lib_materials:stone_sand", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + add_biome("cool_semihumid_strato", nil, "lib_materials:stone_gneiss_02", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + + --add_biome("cool_semihumid_volcanic", nil, nil, nil, nil, nil, "default:ice", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cool, lib_materials.humidity_semihumid) + --add_biome("cool_semihumid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cool, lib_materials.humidity_semihumid) +end + +local add_biomes_cool_temperate = function() + --BIOME: cool_temperate + --add_biome("cool_temperate", nil, "lib_materials:dirt_sandy_with_grass", 1, "lib_materials:dirt_sandy", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cool, lib_materials.humidity_temperate) + --add_biome("cool_temperate_generic", nil, "lib_materials:dirt_sandy_with_grass", 1, "lib_materials:dirt_sandy", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cool, lib_materials.humidity_temperate) + --add_biome("cool_temperate_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cool, lib_materials.humidity_temperate) + + add_biome("cool_temperate_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cool, lib_materials.humidity_temperate) + add_biome("cool_temperate_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_cool, lib_materials.humidity_temperate) + + add_biome("cool_temperate_coastal", nil, "lib_materials:dirt_with_grass_cool_temperate_coastal", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cool, lib_materials.humidity_temperate) + add_biome("cool_temperate_lowland", nil, "lib_materials:dirt_with_grass_cool_temperate_lowland", 1, "lib_materials:dirt", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cool, lib_materials.humidity_temperate) + add_biome("cool_temperate_shelf", nil, "lib_materials:dirt_with_grass_cool_temperate_shelf", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cool, lib_materials.humidity_temperate) + add_biome("cool_temperate_highland", nil, "lib_materials:dirt_with_grass_cool_temperate_highland", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cool, lib_materials.humidity_temperate) + + add_biome("cool_temperate_mountain", nil, "lib_materials:stone_sand", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cool, lib_materials.humidity_temperate) + add_biome("cool_temperate_strato", nil, "lib_materials:stone_gneiss_02", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cool, lib_materials.humidity_temperate) + + --add_biome("cool_temperate_volcanic", nil, nil, nil, nil, nil, "default:ice", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cool, lib_materials.humidity_temperate) + --add_biome("cool_temperate_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cool, lib_materials.humidity_temperate) +end + +local add_biomes_cool_semiarid = function() + --BIOME: cool_semiarid + --add_biome("cool_semiarid", nil, "lib_materials:dirt_sandy_with_dry_grass", 1, "lib_materials:dirt_sandy", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + --add_biome("cool_semiarid_generic", nil, "lib_materials:dirt_sandy_with_dry_grass", 1, "lib_materials:dirt_sandy", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + --add_biome("cool_semiarid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + + add_biome("cool_semiarid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + add_biome("cool_semiarid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + + add_biome("cool_semiarid_coastal", nil, "lib_materials:dirt_with_grass_cool_semiarid_coastal", 1, "lib_materials:dirt_sandy", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + add_biome("cool_semiarid_lowland", nil, "lib_materials:dirt_with_grass_cool_semiarid_lowland", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + add_biome("cool_semiarid_shelf", nil, "lib_materials:dirt_with_grass_cool_semiarid_shelf", 1, "lib_materials:dirt_clay_red", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + add_biome("cool_semiarid_highland", nil, "lib_materials:dirt_with_grass_cool_semiarid_highland", 1, "lib_materials:dirt_clayey", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + + add_biome("cool_semiarid_mountain", nil, "lib_materials:stone_granite_01", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + add_biome("cool_semiarid_strato", nil, "lib_materials:stone_gneiss_02", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + + --add_biome("cool_semiarid_volcanic", nil, "air", 1, "air", 1, "default:lava_source", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cool, lib_materials.humidity_semiarid) + --add_biome("cool_semiarid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cool, lib_materials.humidity_semiarid) +end + +local add_biomes_cool_arid = function() + --BIOME: cool_arid + --add_biome("cool_arid", nil, "lib_materials:dirt_sandy", 1, "lib_materials:stone_sand", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cool, lib_materials.humidity_arid) + --add_biome("cool_arid_generic", nil, "lib_materials:dirt_sandy", 1, "lib_materials:stone_sand", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cool, lib_materials.humidity_arid) + --add_biome("cool_arid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -192, lib_materials.temperature_cool, lib_materials.humidity_arid) + + add_biome("cool_arid_ocean", nil, "lib_materials:sand", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cool, lib_materials.humidity_arid) + add_biome("cool_arid_beach", nil, "lib_materials:sand_beach", 1, "lib_materials:sand", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_cool, lib_materials.humidity_arid) + + add_biome("cool_arid_coastal", nil, "lib_materials:dirt_clay_red", 5, "lib_materials:stone_granite_01", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cool, lib_materials.humidity_arid) + add_biome("cool_arid_lowland", nil, "lib_materials:dirt_clayey", 4, "lib_materials:stone_gabbro", 6, "lib_materials:stone_granite_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cool, lib_materials.humidity_arid) + add_biome("cool_arid_shelf", nil, "lib_materials:sand_desert", 3, "lib_materials:stone_granite_brown", 8, "lib_materials:stone_gabbro", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cool, lib_materials.humidity_arid) + add_biome("cool_arid_highland", nil, "lib_materials:stone_sandstone_desert_gravel", 2, "lib_materials:stone_andesite", 10, "lib_materials:stone_granite_brown", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cool, lib_materials.humidity_arid) + + add_biome("cool_arid_mountain", nil, "lib_materials:stone_andesite", 15, "lib_materials:stone_granite_brown", 25, "lib_materials:stone_gabbro", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cool, lib_materials.humidity_arid) + add_biome("cool_arid_strato", nil, "lib_materials:stone_gneiss_02", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_andesite", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cool, lib_materials.humidity_arid) + + --add_biome("cool_arid_volcanic", nil, "air", 1, "air", 4, "default:lava_source", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cool, lib_materials.humidity_arid) + --add_biome("cool_arid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cool, lib_materials.humidity_arid) +end + + +--BIOME: cold_ +local add_biomes_cold_humid = function() + --BIOME: cold_humid + --add_biome("cold_humid", nil, "lib_materials:dirt_coarse_with_rainforest_litter", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cold, lib_materials.humidity_humid) + --add_biome("cold_humid_generic", nil, "lib_materials:dirt_coarse_with_rainforest_litter", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cold, lib_materials.humidity_humid) + --add_biome("cold_humid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cold, lib_materials.humidity_humid) + + add_biome("cold_humid_ocean", nil, "lib_materials:sand_volcanic", 2, "lib_materials:stone_brown", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cold, lib_materials.humidity_humid) + add_biome("cold_humid_beach", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:stone_brown", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cold, lib_materials.humidity_humid) + + add_biome("cold_humid_coastal", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_silt_02", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cold, lib_materials.humidity_humid) + add_biome("cold_humid_lowland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_silty", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cold, lib_materials.humidity_humid) + add_biome("cold_humid_shelf", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cold, lib_materials.humidity_humid) + add_biome("cold_humid_highland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cold, lib_materials.humidity_humid) + + add_biome("cold_humid_mountain", "lib_materials:snow_block", "lib_materials:ice_default", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cold, lib_materials.humidity_humid) + add_biome("cold_humid_strato", "lib_materials:ice_default", "lib_materials:ice_default", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cold, lib_materials.humidity_humid) + + --add_biome("cold_humid_volcanic", nil, nil, nil, "default:ice", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cold, lib_materials.humidity_humid) + --add_biome("cold_humid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cold, lib_materials.humidity_humid) +end + +local add_biomes_cold_semihumid = function() + --BIOME: cold_semihumid + --add_biome("cold_semihumid", nil, "lib_materials:dirt_coarse_with_coniferous_litter", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + --add_biome("cold_semihumid_generic", nil, "lib_materials:dirt_coarse_with_coniferous_litter", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + --add_biome("cold_semihumid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + + add_biome("cold_semihumid_ocean", nil, "lib_materials:sand_volcanic", 2, "lib_materials:stone_brown", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + add_biome("cold_semihumid_beach", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:stone_brown", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + + add_biome("cold_semihumid_coastal", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_silty", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + add_biome("cold_semihumid_lowland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + add_biome("cold_semihumid_shelf", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + add_biome("cold_semihumid_highland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + + add_biome("cold_semihumid_mountain", "lib_materials:snow_block", "lib_materials:ice_default", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + add_biome("cold_semihumid_strato", "lib_materials:ice_default", "lib_materials:ice_default", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + + --add_biome("cold_semihumid_volcanic", nil, nil, nil, "default:ice", 15, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cold, lib_materials.humidity_semihumid) + --add_biome("cold_semihumid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cold, lib_materials.humidity_semihumid) +end + +local add_biomes_cold_temperate = function() + --BIOME: cold_temperate + --add_biome("cold_temperate", nil, "lib_materials:dirt_coarse_with_grass", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cold, lib_materials.humidity_temperate) + --add_biome("cold_temperate_generic", nil, "lib_materials:dirt_coarse_with_grass", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cold, lib_materials.humidity_temperate) + --add_biome("cold_temperate_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cold, lib_materials.humidity_temperate) + + add_biome("cold_temperate_ocean", nil, "lib_materials:sand_silver", 2, "lib_materials:sand", 4, "lib_materials:stone_sandstone", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cold, lib_materials.humidity_temperate) + add_biome("cold_temperate_beach", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:sand_silver", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cold, lib_materials.humidity_temperate) + + add_biome("cold_temperate_coastal", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_dark", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cold, lib_materials.humidity_temperate) + add_biome("cold_temperate_lowland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cold, lib_materials.humidity_temperate) + add_biome("cold_temperate_shelf", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cold, lib_materials.humidity_temperate) + add_biome("cold_temperate_highland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cold, lib_materials.humidity_temperate) + + add_biome("cold_temperate_mountain", "lib_materials:snow_block", "lib_materials:snow_block", 10, "lib_materials:stone_brown", 20, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cold, lib_materials.humidity_temperate) + add_biome("cold_temperate_strato", "lib_materials:ice_default", "lib_materials:ice_default", 15, "lib_materials:stone_granite_02", 25, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cold, lib_materials.humidity_temperate) + + --add_biome("cold_temperate_volcanic", nil, nil, nil, "default:ice", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cold, lib_materials.humidity_temperate) + --add_biome("cold_temperate_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cold, lib_materials.humidity_temperate) +end + +local add_biomes_cold_semiarid = function() + --BIOME: cold_semiarid + --add_biome("cold_semiarid", nil, "lib_materials:dirt_coarse_with_dry_grass", 1, "lib_materials:dirt_coarse", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + --add_biome("cold_semiarid_generic", nil, "lib_materials:dirt_coarse_with_dry_grass", 1, "lib_materials:dirt_coarse", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + --add_biome("cold_semiarid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -lib_materials.temperature_hot, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + + add_biome("cold_semiarid_ocean", nil, "lib_materials:sand_silver", 2, "lib_materials:stone_sandstone_silver", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + add_biome("cold_semiarid_beach", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:stone_sandstone_silver", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + + add_biome("cold_semiarid_coastal", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + add_biome("cold_semiarid_lowland", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt_coarse", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + add_biome("cold_semiarid_shelf", nil, "lib_materials:dirt_permafrost", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + add_biome("cold_semiarid_highland", nil, "lib_materials:dirt_permafrost", 1, "lib_materials:dirt_clayey", lib_materials.temperature_cold, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + + add_biome("cold_semiarid_mountain", nil, "lib_materials:stone_diorite", 10, "lib_materials:stone_gneiss_02", 20, "lib_materials:stone_granite_02", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + add_biome("cold_semiarid_strato", nil, "lib_materials:stone_andesite", 15, "lib_materials:stone_diorite", 25, "lib_materials:stone_gneiss_02", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + + --add_biome("cold_semiarid_volcanic", nil, "air", 1, "air", 1, "default:lava_source", nil, nil, nil, nil, 140, 140, lib_materials.temperature_cold, lib_materials.humidity_semiarid) + --add_biome("cold_temperate_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cold, lib_materials.humidity_semiarid) +end + +local add_biomes_cold_arid = function() + --BIOME: cold_arid + --add_biome("cold_arid", nil, "lib_materials:dirt_coarse", 1, "lib_materials:savanna_stone", 2, nil, nil, nil, nil, nil, 0, 100, lib_materials.temperature_cold, lib_materials.humidity_arid) + --add_biome("cold_arid_generic", nil, "lib_materials:dirt_coarse", 1, "lib_materials:savanna_stone", 4, nil, nil, nil, nil, nil, -192, 31000, lib_materials.temperature_cold, lib_materials.humidity_arid) + --add_biome("cold_arid_underground", nil, nil, nil, nil, nil, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -31000, -192, lib_materials.temperature_cold, lib_materials.humidity_arid) + + add_biome("cold_arid_ocean", nil, "lib_materials:sand_silver", 2, "lib_materials:stone_sandstone_silver", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -192, -4, lib_materials.temperature_cold, lib_materials.humidity_arid) + add_biome("cold_arid_beach", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:stone_sandstone_silver", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -4, 4, lib_materials.temperature_cold, lib_materials.humidity_arid) + + add_biome("cold_arid_coastal", nil, "lib_materials:dirt_with_snow", 8, "lib_materials:stone_granite_01", 10, "lib_materials:stone_basalt_01", nil, nil, nil, nil, lib_materials.maxheight_beach, lib_materials.maxheight_coastal, lib_materials.temperature_cold, lib_materials.humidity_arid) + add_biome("cold_arid_lowland", nil, "lib_materials:dirt_permafrost", 8, "lib_materials:stone_gabbro", 10, "lib_materials:stone_granite_01", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, lib_materials.temperature_cold, lib_materials.humidity_arid) + add_biome("cold_arid_shelf", nil, "lib_materials:dirt_permafrost", 8, "lib_materials:stone_granite_brown", 10, "lib_materials:stone_gabbro", nil, nil, nil, nil, lib_materials.maxheight_lowland, lib_materials.maxheight_shelf, lib_materials.temperature_cold, lib_materials.humidity_arid) + add_biome("cold_arid_highland", nil, "lib_materials:dirt_permafrost", 8, "lib_materials:stone_granite_02", 15, "lib_materials:stone_granite_brown", nil, nil, nil, nil, lib_materials.maxheight_shelf, lib_materials.maxheight_highland, lib_materials.temperature_cold, lib_materials.humidity_arid) + + add_biome("cold_arid_mountain", nil, "lib_materials:stone_diorite", 15, "lib_materials:stone_gneiss_02", 20, "lib_materials:stone_granite_02", nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_cold, lib_materials.humidity_arid) + add_biome("cold_arid_strato", nil, "lib_materials:stone_andesite", 15, "lib_materials:stone_diorite", 25, "lib_materials:stone_gneiss_02", nil, nil, nil, nil, lib_materials.maxheight_mountain, lib_materials.maxheight_strato, lib_materials.temperature_cold, lib_materials.humidity_arid) + + --add_biome("cold_arid_volcanic", nil, "air", 1, "air", 1, "default:lava_source", nil, nil, nil, nil, 140, 140, 15, 15) + --add_biome("cold_arid_sky", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 180, 31000, lib_materials.temperature_cold, lib_materials.humidity_arid) +end + + +--BIOME: generic_ filler biomes, to cover certains temp/humid combos that may be missed above, and special biomes +local add_biomes_generic = function() + --add_biome("generic_beach", nil, "default:sand", 1, "lib_materials:stone_sandstone", 4, nil, nil, nil, nil, nil, -4, 4, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + --add_biome("generic_ocean", nil, "lib_materials:dirt_silt_01", 1, "lib_materials:dirt_silt_02", 4, nil, nil, nil, nil, nil, -192, -4, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + --add_biome("generic_underground", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -31000, -192, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + --add_biome("generic_mountain", nil, "default:snowblock", 1, "default:ice", 4, nil, nil, nil, nil, nil, lib_materials.maxheight_highland, lib_materials.maxheight_mountain, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + --add_biome("generic_volcanic", nil, "lib_materials:stone_basalt_01_cobble", 1, "lib_materials:stone_basalt_01", 3, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.temperature_temperate, 31000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + + add_biome("generic_mantle", nil, nil, 1, nil, 4, "default:lava_source", nil, nil, nil, nil, -31000, -20000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("stone_basalt_01_layer", nil, nil, 1, nil, 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -20000, -15000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("stone_brown_layer", nil, nil, 1, nil, 4, "lib_materials:stone_brown", nil, nil, nil, nil, -15000, -10000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("stone_sand_layer", nil, nil, 1, nil, 4, "lib_materials:stone_sand", nil, nil, nil, nil, -10000, -6000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("desert_stone_layer", nil, nil, 1, nil, 4, "lib_materials:stone_desert", nil, nil, nil, nil, -6000, -5000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("desert_sandstone_layer", nil, nil, 1, nil, 4, "lib_materials:stone_sandstone_desert", nil, nil, nil, nil, -5000, -4000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("generic_stone_limestone_01_layer", nil, nil, 1, nil, 4, "lib_materials:stone_limestone_01", nil, nil, nil, nil, -4000, -3000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("generic_granite_layer", nil, nil, 1, nil, 4, "lib_materials:stone_granite_01", nil, nil, nil, nil, -3000, -2000, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + add_biome("generic_stone_layer", nil, nil, 1, nil, 4, "default:stone", nil, nil, nil, nil, -2000, -192, lib_materials.temperature_temperate, lib_materials.humidity_temperate) + + --add_biome("generic_burned", nil, "lib_materials:gray_dirt", 1, "lib_materials:stone_basalt_01_cobble", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 30, 45, 63, 37) + --add_biome("generic_mushroom", nil, "lib_materials:dirt_with_fungi_covered_grass", 1, "default:dirt", 3, nil, nil, nil, nil, nil, 30, lib_materials.temperature_temperate, 45, 55) + --add_biome("generic_desert", nil, "default:sand", 1, "default:desert_sand", 3, nil, nil, nil, nil, nil, 4, 31000, lib_materials.temperature_cool, 30) + --add_biome("generic_cavern", nil, "lib_materials:stone_limestone_01", 4, "air", 8, "lib_materials:stone_basalt_01", nil, nil, nil, nil, -115, -85, -lib_materials.temperature_cold, 60) +end + + +local add_biomes = function() + + add_biomes_generic() + + add_biomes_hot_humid() + add_biomes_hot_semihumid() + add_biomes_hot_temperate() + add_biomes_hot_semiarid() + add_biomes_hot_arid() + add_biomes_warm_humid() + add_biomes_warm_semihumid() + add_biomes_warm_temperate() + add_biomes_warm_semiarid() + add_biomes_warm_arid() + add_biomes_temperate_humid() + add_biomes_temperate_semihumid() + add_biomes_temperate_temperate() + add_biomes_temperate_semiarid() + add_biomes_temperate_arid() + add_biomes_cool_humid() + add_biomes_cool_semihumid() + add_biomes_cool_temperate() + add_biomes_cool_semiarid() + add_biomes_cool_arid() + add_biomes_cold_humid() + add_biomes_cold_semihumid() + add_biomes_cold_temperate() + add_biomes_cold_semiarid() + add_biomes_cold_arid() + +end + +add_biomes() + + +-- --valleys_c biomes + +-- -- --hot + --add_biome("lib_materials_desert", nil, "lib_materials:sand_desert", 1, "lib_materials:stone_sandstone_desert", 3, "lib_materials:stone_desert", nil, nil, nil, nil, 30, 90, 80, lib_materials.humidity_arid) + -- add_biome("lib_materials_desertstone_grassland", nil, "lib_materials:dirt_clayey_with_grass_hot_temperate_lowland", 1, "lib_materials:dirt_clayey", 2, "lib_materials:stone_desert", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, 80, 55) + -- add_biome("lib_materials_savanna", nil, "lib_materials:dirt_clayey_with_grass_hot_semiarid_lowland", 1, "lib_materials:dirt_clay_red", 4, "lib_materials:stone_claystone", nil, nil, nil, nil, lib_materials.maxheight_coastal, lib_materials.maxheight_lowland, 80, lib_materials.humidity_semiarid) + -- add_biome("lib_materials_savanna_swamp", nil, "lib_materials:dirt_clayey", 1, "lib_materials:dirt_clay_red", 3, "lib_materials:stone_claystone", nil, nil, nil, nil, -3, 0, 80, lib_materials.humidity_semiarid) + --add_biome("lib_materials_tropical_rainforest", nil, "lib_materials:dirt_with_rainforest_litter", 1, "lib_materials:dirt", 2, "lib_materials:stone_brown", nil, nil, nil, nil, 30, 90, 85, 95) + add_biome("lib_materials_tropical_rainforest_swamp", nil, "lib_materials:dirt_mud_01", 1, "lib_materials:dirt_mud_01", 2, "lib_materials:stone_brown", nil, nil, nil, nil, -1, 2, 85, 95) +-- -- --warm + -- add_biome("lib_materials_subtropical_rainforest", nil, "lib_materials:dirt_with_rainforest_litter", 1, "lib_materials:dirt", 2, "lib_materials:stone_brown", nil, nil, nil, nil, 30, 90, 75, 95) + add_biome("lib_materials_subtropical_rainforest_swamp", nil, "lib_materials:dirt_mud_01", 1, "lib_materials:dirt_mud_01", 2, "lib_materials:stone_brown", nil, nil, nil, nil, -1, 2, 75, 95) +-- -- --temperate + add_biome("lib_materials_deciduous_forest_swamp", nil, "lib_materials:dirt_mud_01", 1, "lib_materials:dirt_silty", 3, "lib_materials:stone_mudstone", nil, nil, nil, nil, -4, 4, 60, 60) + -- add_biome("lib_materials_sandstone_grassland", nil, "lib_materials:dirt_sandy_with_grass_temperate_temperate_coastal", 1, "lib_materials:dirt_sandy", 2, "lib_materials:stone_limestone_01", nil, nil, nil, nil, 5, 24, 55, 40) + -- add_biome("lib_materials_sandstone_grassland_dunes", nil, "lib_materials:sand", 1, "lib_materials:dirt_sandy", 2, "lib_materials:stone_sandstone", nil, nil, nil, nil, 1, 5, 55, 40) + --add_biome("lib_materials_temperate_rainforest", nil, "lib_materials:dirt_with_rainforest_litter", 1, "lib_materials:dirt", 2, "lib_materials:stone_brown", nil, nil, nil, nil, 30, 90, 50, 95) + add_biome("lib_materials_temperate_rainforest_swamp", nil, "lib_materials:dirt_mud_01", 1, "lib_materials:dirt_mud_01", 2, "lib_materials:stone_brown", nil, nil, nil, nil, -1, 2, 50, 95) +-- -- --cool + --add_biome("lib_materials_coniferous_forest_dunes", nil, "lib_materials:sand_beach", 1, "lib_materials:dirt_sandy", 3, "lib_materials:stone_limestone_01", nil, nil, nil, nil, 1, 5, 35, 60) + -- add_biome("lib_materials_stone_grassland_dunes", nil, "lib_materials:sand_beach", 1, "lib_materials:dirt_sandy", 3, "lib_materials:stone_limestone_01", nil, nil, nil, nil, 5, 5, 35, 40) +-- -- --cold + + + -- add_biome("lib_materials_rainforest", nil, "lib_materials:dirt_with_rainforest_litter", 1, "lib_materials:dirt", 2, "lib_materials:stone_brown", nil, nil, nil, nil, 30, 90, 85, 70) + -- add_biome("lib_materials_rainforest_swamp", nil, "lib_materials:dirt_mud_01", 1, "lib_materials:dirt_mud_01", 2, nil, nil, nil, nil, nil, -1, 2, 85, 60) + +--[[ + + -- Permanent ice + + -- minetest.register_biome({name = "lib_materials_glacier", + -- node_dust = "default:snowblock", + -- node_top = "default:snowblock", + -- depth_top = 1, + -- node_filler = "default:snowblock", + -- depth_filler = 3, + -- node_stone = "default:ice", + -- node_water_top = "lib_materials:ice", + -- depth_water_top = lib_materials.temperature_cold, + -- --node_water = "", + -- node_river_water = "lib_materials:ice", + -- y_min = -8, + -- y_max = 31000, + -- heat_point = 0, + -- humidity_point = lib_materials.temperature_temperate, + -- }) + + -- Cold + -- minetest.register_biome({name = "lib_materials_tundra", + -- --node_dust = "", + -- node_top = "default:dirt_with_snow", + -- depth_top = 1, + -- node_filler = "default:dirt", + -- depth_filler = 1, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 2, + -- y_max = 31000, + -- heat_point = 15, + -- humidity_point = 35, + -- }) + -- minetest.register_biome({name = "lib_materials_tundra_beach", + -- --node_dust = "", + -- node_top = "default:gravel", + -- depth_top = 1, + -- node_filler = "default:gravel", + -- depth_filler = 2, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -3, + -- y_max = 1, + -- heat_point = 15, + -- humidity_point = 35, + -- }) + + -- minetest.register_biome({name = "lib_materials_taiga", + -- node_dust = "", + -- node_top = "default:dirt_with_snow", + -- depth_top = 1, + -- node_filler = "default:dirt", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 2, + -- y_max = 31000, + -- heat_point = 15, + -- humidity_point = 65, + -- }) + -- minetest.register_biome({name = "lib_materials_cold_desert", + -- --node_dust = "", + -- node_top = "default:silver_sand", + -- depth_top = 1, + -- node_filler = "default:silver_sandstone", + -- depth_filler = 1, + -- node_stone = "lib_materials:stone_sand", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 5, + -- y_max = 31000, + -- heat_point = lib_materials.temperature_cool, + -- humidity_point = 0, + -- }) + -- minetest.register_biome({name = "lib_materials_cold_desert_ocean", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:sand", + -- depth_filler = 3, + -- node_stone = "lib_materials:stone_desert", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -112, + -- y_max = 4, + -- heat_point = lib_materials.temperature_cool, + -- humidity_point = lib_materials.temperature_cold, + -- }) + + + -- -- Temperate + -- minetest.register_biome({name = "lib_materials_stone_grassland", + -- --node_dust = "", + -- node_top = "lib_materials:dirt_sandy_with_grass", + -- depth_top = 1, + -- node_filler = "default:dirt", + -- depth_filler = 1, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 6, + -- y_max = 31000, + -- heat_point = 35, + -- humidity_point = 40, + -- }) + -- minetest.register_biome({name = "lib_materials_stone_grassland_dunes", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:sand", + -- depth_filler = 2, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 5, + -- y_max = 5, + -- heat_point = 35, + -- humidity_point = 40, + -- }) + -- minetest.register_biome({name = "lib_materials_stone_grassland_ocean", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:sand", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -112, + -- y_max = 4, + -- heat_point = 35, + -- humidity_point = 40, + -- }) + + -- minetest.register_biome({name = "lib_materials_coniferous_forest", + -- --node_dust = "", + -- node_top = "default:dirt_with_coniferous_litter", + -- depth_top = 1, + -- node_filler = "default:dirt", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 6, + -- y_max = 31000, + -- heat_point = 35, + -- humidity_point = 60, + -- }) + -- minetest.register_biome({name = "lib_materials_coniferous_forest_dunes", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:dirt", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 5, + -- y_max = 5, + -- heat_point = 35, + -- humidity_point = 60, + -- }) + -- minetest.register_biome({name = "lib_materials_coniferous_forest_ocean", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:sand", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -112, + -- y_max = 4, + -- heat_point = 35, + -- humidity_point = 60, + -- }) +--]] + +--[[ + minetest.register_biome({name = "lib_materials_sandstone_grassland", + --node_dust = "", + node_top = "lib_materials:dirt_sandy_with_dry_grass4", + depth_top = 1, + node_filler = "lib_materials:dirt_sandy", + depth_filler = 2, + node_stone = "lib_materials:stone_sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 5, + y_max = 24, + heat_point = 55, + humidity_point = 40, + }) + minetest.register_biome({name = "lib_materials_sandstone_grassland_dunes", + --node_dust = "", + node_top = "lib_materials:sand", + depth_top = 1, + node_filler = "lib_materials:sand", + depth_filler = 2, + node_stone = "lib_materials:stone_sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 1, + y_max = 5, + heat_point = 55, + humidity_point = 40, + }) +--]] + +--[[ + -- minetest.register_biome({name = "lib_materials_sandstone_grassland_ocean", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:sand", + -- depth_filler = 3, + -- node_stone = "lib_materials:stone_sandstone", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -112, + -- y_max = 4, + -- heat_point = 55, + -- humidity_point = 40, + -- }) + + -- minetest.register_biome({name = "lib_materials_deciduous_forest", + -- --node_dust = "", + -- node_top = "default:dirt_with_grass", + -- depth_top = 1, + -- node_filler = "default:dirt", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = 1, + -- y_max = 31000, + -- heat_point = 60, + -- humidity_point = 60, + -- }) +--]] + +--[[ + minetest.register_biome({name = "lib_materials_deciduous_forest_swamp", + --node_dust = "", + node_top = "lib_materials:dirt_silty_with_coniferous_litter", + depth_top = 1, + node_filler = "lib_materials:dirt_silty", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -3, + y_max = 0, + heat_point = 60, + humidity_point = 60, + }) +--]] + +--[[ + -- minetest.register_biome({name = "lib_materials_deciduous_forest_ocean", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "default:sand", + -- depth_filler = 3, + -- --node_stone = "", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -112, + -- y_max = -4, + -- heat_point = 60, + -- humidity_point = 60, + -- }) +--]] + +--[[ + -- Hot + minetest.register_biome({name = "lib_materials_desert", + --node_dust = "", + node_top = "lib_materials:sand_desert", + depth_top = 1, + node_filler = "lib_materials:stone_sandstone_desert", + depth_filler = 3, + node_stone = "lib_materials:stone_desert", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 30, + y_max = lib_materials.temperature_hot, + heat_point = 80, + humidity_point = lib_materials.temperature_cold, + }) +--]] + +--[[ + -- minetest.register_biome({name = "lib_materials_desert_ocean", + -- --node_dust = "", + -- node_top = "default:sand", + -- depth_top = 1, + -- node_filler = "lib_materials:stone_sandstone", + -- depth_filler = 3, + -- --node_stone = "lib_materials:stone_desert", + -- --node_water_top = "", + -- --depth_water_top = , + -- --node_water = "", + -- --node_river_water = "", + -- y_min = -112, + -- y_max = 4, + -- heat_point = 80, + -- humidity_point = lib_materials.temperature_cold, + -- }) +--]] + +--[[ + minetest.register_biome({name = "lib_materials_savanna", + --node_dust = "", + node_top = "lib_materials:dirt_with_dry_grass", + depth_top = 1, + node_filler = "lib_materials:dirt", + depth_filler = 4, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 30, + y_max = 60, + heat_point = 80, + humidity_point = lib_materials.temperature_cool, + }) + minetest.register_biome({name = "lib_materials_savanna_swamp", + --node_dust = "", + node_top = "lib_materials:dirt_clayey_with_rainforest_litter", + depth_top = 1, + node_filler = "lib_materials:dirt_clay_red", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -3, + y_max = 0, + heat_point = 80, + humidity_point = lib_materials.temperature_cool, + }) + + minetest.register_biome({name = "lib_materials_desertstone_grassland", + --node_dust = "", + node_top = "lib_materials:dirt_clayey_with_dry_grass", + depth_top = 1, + node_filler = "lib_materials:dirt_clayey", + depth_filler = 2, + node_stone = "lib_materials:stone_desert", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 30, + y_max = 60, + heat_point = 80, + humidity_point = 55, + }) + minetest.register_biome({name = "lib_materials_rainforest", + --node_dust = "", + node_top = "lib_materials:dirt_with_rainforest_litter", + depth_top = 1, + node_filler = "lib_materials:dirt", + depth_filler = 3, + node_stone = "lib_materials:stone_brown", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 30, + y_max = lib_materials.temperature_hot, + heat_point = 85, + humidity_point = 70, + }) + minetest.register_biome({name = "lib_materials_rainforest_swamp", + --node_dust = "", + node_top = "lib_materials:dirt_silty_with_rainforest_litter", + depth_top = 1, + node_filler = "default:clay", + depth_filler = 3, + node_stone = "lib_materials:stone_brown", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -3, + y_max = 0, + heat_point = 85, + humidity_point = 70, + }) +--]] + + + +--Ethereal Biomes + + -- add_biome("alpine", nil, "lib_materials:dirt_with_snow", 1, "lib_materials:dirt", 2, nil, nil, nil, nil, nil, 85, 95, lib_materials.temperature_cold, 37) + -- add_biome("desert", nil, "lib_materials:sand_desert", 1, "lib_materials:sand_desert", 3, nil, nil, nil, nil, nil, 3, 23, 35, 20) + -- add_biome("fiery", nil, "lib_materials:dirt_with_grass_fiery", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 5, 20, lib_materials.temperature_warm, lib_materials.humidity_arid) + -- add_biome("frost", nil, "lib_materials:dirt_with_grass_crystal", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 118, 122, lib_materials.temperature_cold, 37) + -- add_biome("junglee", nil, "lib_materials:dirt_with_grass_jungle_01", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 1, 11, 82, 62) + -- add_biome("plains", nil, "lib_materials:dirt_dried", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 3, 25, 65, lib_materials.humidity_semiarid) + -- add_biome("prairie", nil, "lib_materials:dirt_with_grass_prairie", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 20, 40, 20, 40) + -- add_biome("sandclay", nil, "lib_materials:sand", 3, "default:clay", 2, nil, nil, nil, nil, nil, 1, 11, 65, 2) + -- add_biome("sandstone", nil, "lib_materials:stone_sandstone", 1, "lib_materials:stone_sandstone", 1, nil, nil, nil, nil, nil, 3, 23, lib_materials.temperature_temperate, 20) + -- add_biome("savannah", nil, "lib_materials:dirt_with_dry_grass", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 3, 50, 55, lib_materials.humidity_semiarid) + -- add_biome("snowy", nil, "lib_materials:dirt_with_grass_cold", 1, "lib_materials:dirt", 2, nil, nil, nil, nil, nil, 10, 35, lib_materials.temperature_cold, 37) + -- add_biome("swamp", nil, "lib_materials:dirt_with_grass_swamp", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 1, 7, 80, lib_materials.humidity_humid) + + --add_biome("bamboo", nil, "lib_materials:dirt_with_bamboo_grass", 1, "default:dirt", 3, nil, nil, nil, nil, nil, 41, 71, 45, lib_materials.humidity_semihumid) + --add_biome("caves", nil, "lib_materials:stone_limestone_01", 8, "air", 6, nil, nil, nil, nil, nil, -4, 15, 15, lib_materials.humidity_semiarid) + --add_biome("clearing", nil, "lib_materials:green_dirt", 1, "default:dirt", 3, nil, nil, nil, nil, nil, 3, 71, 45, 65, 1) -- ADDED + --add_biome("grassy", nil, "lib_materials:green_dirt", 1, "default:dirt", 3, nil, nil, nil, nil, nil, 3, 91, 13, 40) + --add_biome("grayness", nil, "lib_materials:gray_dirt", 3, "lib_materials:stone_basalt_01_cobble", 4, "lib_materials:stone_basalt_01", nil, nil, nil, nil, 1lib_materials.temperature_cool, 1lib_materials.temperature_temperate, 15, 30) + --add_biome("grayness2", nil, "lib_materials:gray_dirt", 1, "lib_materials:dirt_sandy", 3, "lib_materials:stone_brown", nil, nil, nil, nil, lib_materials.temperature_warm, 95, lib_materials.temperature_cool, 74) + --add_biome("grassytwo", nil, "lib_materials:green_dirt", 1, "default:dirt", 3, nil, nil, nil, nil, nil, 1, 91, 15, 40) + --add_biome("grove", nil, "lib_materials:grove_dirt", 1, "default:dirt", 3, nil, nil, nil, nil, nil, 3, 23, 45, 35) + --add_biome("jumble", nil, "lib_materials:green_dirt", 1, "lib_materials:dirt", 3, nil, nil, nil, nil, nil, 1, 71, lib_materials.temperature_cool, lib_materials.humidity_temperate) + diff --git a/lib_materials_lakes.lua b/lib_materials_lakes.lua new file mode 100644 index 0000000..d665231 --- /dev/null +++ b/lib_materials_lakes.lua @@ -0,0 +1,235 @@ +--[[ + 1. We choose a random position in the same way plants are placed. That's the root for our lake. + 2. From there we go lx in the x direction and lz in the z direction. That gives us a rectangle. + 3. We check the sides of the rectangle for air and itterate down until the rectangle is closed. + 4. Now we repeat this itteration, but search for the opposite, not for solid nodes but for air. + 5. As soon as we found the lower limit, we check if the bottom is sealed. Now we have some jar. + 6. Now as we made sure no water can escape we can replace all air inside the volume with water. +--]] + +--lib_lakes = {} + +local c_air = minetest.get_content_id("air") +local c_ignore = minetest.get_content_id("ignore") +local c_lava = minetest.get_content_id("default:lava_source") +local c_water = minetest.get_content_id("lib_materials:fluid_water_source") +local c_ice = minetest.get_content_id("lib_materials:ice_default") +local c_murky = minetest.get_content_id("lib_materials:fluid_water_murky_source") +local c_dirty = minetest.get_content_id("lib_materials:fluid_water_dirty_source") +local c_muddy = minetest.get_content_id("lib_materials:fluid_water_river_muddy_source") +local c_quick_source = minetest.get_content_id("lib_materials:fluid_quicksand_source") +local c_quick = minetest.get_content_id("lib_materials:quicksand") +local c_mud_wet = minetest.get_content_id("lib_materials:mud_wet") +local c_mud_dried = minetest.get_content_id("lib_materials:dirt_mud_dried") +local c_fluid_id + +-- +-- Find position +-- + +minetest.register_on_generated(function(minp, maxp, seed) + if maxp.y <= 1024 and minp.y >= -32 then + local perlin1 = minetest.get_perlin(318, 3, 0.6, 100) + -- Lua Voxel Machine + local vm = minetest.get_voxel_manip() + local vm_minp, vm_maxp = vm:read_from_map({x=minp.x, y=minp.y, z=minp.z-16}, {x=maxp.x+16, y=maxp.y+16, z=maxp.z+16}) + local a = VoxelArea:new{MinEdge=vm_minp, MaxEdge=vm_maxp} + local data = vm:get_data() + -- Assume X and Z lengths are equal + local divlen = 32 + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine amount from perlin noise + local amount = math.floor(perlin1:get2d({x=x0, y=z0}) * 5 + 10) + -- Find random positions based on this random + local pr = PseudoRandom(seed+486) + for i=0,amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + local ground_y = nil + -- Prevent from starting underground + local nn = minetest.get_node({x=x,y=maxp.y,z=z}).name + if nn ~= "air" and nn ~= "ignore" then + return + end + -- Find groundlevel + for y=maxp.y,minp.y,-1 do + local nn = minetest.get_node({x=x,y=y,z=z}).name + if nn ~= "air" and nn~= "ignore" then + local is_leaves = minetest.registered_nodes[nn].groups.leaves + if is_leaves == nil or is_leaves == 0 then + ground_y = y + break + end + end + end + if ground_y and ground_y >= 2 then + local p = {x=x,y=ground_y,z=z} + local ground_name = minetest.get_node(p) + local node_name = minetest.get_node(p).name + if ground_name == "default:water_source" or ground_name == "lib_materials:fluid_water_source" then return end + local lx = pr:next(10,30) + local lz = pr:next(10,30) + if string.match(node_name, "lib_materials:dirt_sandy") then + c_fluid_id = c_quick_source + end + if string.match(node_name, "lib_materials:sand") then + c_fluid_id = c_quick + end + if string.match(node_name, "lib_materials:dirt_with_rainforest_litter") then + c_fluid_id = c_murky + end + if string.match(node_name, "lib_materials:dirt_mud_01") then + c_fluid_id = c_muddy + end + if string.match(node_name, "lib_materials:dirt_clayey") then + c_fluid_id = c_muddy + end + if string.match(node_name, "lib_materials:sand_desert") then + c_fluid_id = c_mud_dried + end + if string.match(node_name, "lib_materials:sand") then + c_fluid_id = c_mud_dried + end + --if string.match(node_name, "lib_materials:dirt_with_grass_warm_semihumid_coastal") or string.match(node_name, "lib_materials:dirt_with_grass_temperate_semihumid_coastal") then + -- c_fluid_id = c_dirty + --end + --if string.match(node_name, "lib_materials:dirt_with_grass_warm_semihumid_lowland") or string.match(node_name, "lib_materials:dirt_with_grass_temperate_semihumid_lowland") then + -- c_fluid_id = c_dirty + --end + --if string.match(node_name, "lib_materials:dirt_with_grass_warm_semihumid_shelf") or string.match(node_name, "lib_materials:dirt_with_grass_temperate_semihumid_shelf") then + -- c_fluid_id = c_dirty + --end + --if string.match(node_name, "lib_materials:dirt_with_grass_warm_semihumid_highland") or string.match(node_name, "lib_materials:dirt_with_grass_temperate_semihumid_highland") then + -- c_fluid_id = c_dirty + --end + if string.match(node_name, "lib_materials:stone_bluestone") then + c_fluid_id = c_lava + end + if string.match(node_name, "snow") then + c_fluid_id = c_ice + end + if ground_y >= 120 then + c_fluid_id = c_ice + end + -- if c_water == "" then + + -- else + -- c_water = minetest.get_content_id("default:river_water_source") + -- end + lib_materials.lakes_fill(data, a, p, lx, lz) + --c_fluid_id = "" + end + + end + end + end + -- Write to map + vm:set_data(data) + vm:write_to_map(data) + vm:update_map() + end +end) + +-- +-- Make lake +-- + +-- TODO: combine functions into one +local function check_x(data, a, x, y, z, lx, lz) + for xi = 0, lx do + local vi = a:index(x+xi, y, z) + if data[vi] == c_air or data[vi] == c_ignore then + return true + end + local vii = a:index(x+xi, y, z+lz) + if data[vii] == c_air or data[vii] == c_ignore then + return true + end + end +end + +local function check_z(data, a, x, y, z, lx, lz) + for zi = 0, lz do + local vi = a:index(x, y, z+zi) + if data[vi] == c_air or data[vi] == c_ignore then + return true + end + local vii = a:index(x+lx, y, z+zi) + if data[vii] == c_air or data[vii] == c_ignore then + return true + end + end +end + +local function leak(data, a, j, lx, lz) + for xi = 0, lx do + for zi = 0, lz do + local vi = a:index(xi, -j, zi) + if data[vi] == c_air or data[vi] == c_ignore then + return true + end + end + end +end + +function lib_materials.lakes_fill(data, a, pos, lx, lz) + local x, y, z = pos.x, pos.y, pos.z + local water_a = VoxelArea:new{MinEdge={x=0, y=-32, z=0}, MaxEdge={x=lx, y=0, z=lz}} + local water_buffer = {} + -- Find upper start + local i = 0 + while i <= 16 do + if check_x(data, a, x, y-i, z, lx, lz) or check_z(data, a, x, y-i, z, lx, lz) then + i = i + 1 + else + break + end + end + if i >= 16 then return end + -- Itterate downwards + local j = i + while j <= (i+16) do + if check_x(data, a, x, y-j, z, lx, lz) or check_z(data, a, x, y-j, z, lx, lz) then + j = j - 1 + break + else + j = j + 1 + end + end + if j >= i+16 then return end +-- print ('[lib_lakes] i = '.. i ..'') +-- print ('[lib_lakes] j = '.. j ..'') + -- Check bottom + if leak(data, a, j, lx, lz) then return end + -- Add volume to buffer + for xi = 0, lx do + for yi = -i, -j, -1 do + for zi = 0, lz do + water_buffer[water_a:index(xi, yi, zi)] = true + end + end + end + -- Add the water + for xi = water_a.MinEdge.x, water_a.MaxEdge.x do + for yi = water_a.MinEdge.y, water_a.MaxEdge.y do + for zi = water_a.MinEdge.z, water_a.MaxEdge.z do + if a:contains(x+xi, y+yi, z+zi) then + local vi = a:index(x+xi, y+yi, z+zi) + if data[vi] == c_air or data[vi] == c_ignore then + if water_buffer[water_a:index(xi, yi, zi)] then + data[vi] = c_fluid_id +-- print ('[lib_lakes] Wasser auf (' .. x+xi .. ',' .. y+yi .. ',' .. z+zi .. ')') + end + end + end + end + end + end +end + diff --git a/lib_materials_ore_defs.lua b/lib_materials_ore_defs.lua index 0ea486d..13e169e 100644 --- a/lib_materials_ore_defs.lua +++ b/lib_materials_ore_defs.lua @@ -1,153 +1,1011 @@ --- Adds stone types(default types{desert_stone, sandstone, desert_sandstone, silver_sandstone}; lib_materials types{stone_brown, stone_sand}) as ores within default:stone +local S = lib_materials.intllib -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}) +local mgparams = minetest.get_mapgen_params() +local seed = mgparams.seed +--local mg_seed = mgparams.seed --- Adds default desert_stone, desert_sandstone, and stone_brown to stone_sand -minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_stone", - wherein = {"lib_materials:stone_sand"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, - y_min = -10, - y_max = 71, - noise_params = { - offset = 0.35, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -316, - octaves = 1, - persist = 0.5 - }, -}) -minetest.register_ore({ - ore_type = "scatter", - ore = "default:desert_sandstone", - wherein = {"lib_materials:stone_sand"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, - y_min = -10, - y_max = 71, - noise_params = { - offset = 0.35, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -613, - octaves = 1, - persist = 0.5 - }, -}) -minetest.register_ore({ - ore_type = "scatter", - ore = "lib_materials:stone_brown", - wherein = {"lib_materials:stone_sand"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, - y_min = -10, - y_max = 71, - noise_params = { - offset = 0.35, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -613, - octaves = 1, - persist = 0.5 - }, -}) +local add_ore_blob = function(name, parent, biomes) + minetest.register_ore({ + ore_type = "blob", + ore = name, + wherein = parent, + 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 + }, + biomes = biomes or nil, + random_factor = 1.0 + }) + +end + +local add_ore_sheet_arid = function(name, parent, density, biomes) + + local ore_seed = seed + math.random() --4130293965 + + minetest.register_ore({ + ore_type = "sheet", + ore = name, + wherein = parent, + clust_size = 40, + y_min = -1000, + y_max = 31000, + noise_threshold = density, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 512, y = 512, z = 512}, + seed = ore_seed, + octaves = 5, + persist = 0.60 + }, + column_height_min = 1, + column_height_max = 16, + column_midpoint_factor = 0.5, + biomes = biomes or nil + }) + + +end + +local add_ore_sheet_semiarid = function(name, parent, density, biomes) + + local ore_seed = seed + math.random() --4130293965 + + minetest.register_ore({ + ore_type = "sheet", + ore = name, + wherein = parent, + clust_size = 40, + y_min = -1000, + y_max = 31000, + noise_threshold = density, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 256, y = 256, z = 256}, + seed = ore_seed, + octaves = 5, + persist = 0.60 + }, + column_height_min = 1, + column_height_max = 16, + column_midpoint_factor = 0.5, + biomes = biomes or nil + }) + + +end + +local add_ore_sheet_temperate = function(name, parent, density, biomes) + + local ore_seed = seed + math.random() --4130293965 + + minetest.register_ore({ + ore_type = "sheet", + ore = name, + wherein = parent, + clust_size = 40, + y_min = -1000, + y_max = 31000, + noise_threshold = density, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 128, y = 128, z = 128}, + seed = ore_seed, + octaves = 5, + persist = 0.60 + }, + column_height_min = 1, + column_height_max = 16, + column_midpoint_factor = 0.5, + biomes = biomes or nil + }) + + +end + +local add_ore_sheet_semihumid = function(name, parent, density, biomes) + + local ore_seed = seed + math.random() --4130293965 + + minetest.register_ore({ + ore_type = "sheet", + ore = name, + wherein = parent, + clust_size = 40, + y_min = -1000, + y_max = 31000, + noise_threshold = density, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 128, y = 128, z = 128}, + seed = ore_seed, + octaves = 5, + persist = 0.60 + }, + column_height_min = 1, + column_height_max = 16, + column_midpoint_factor = 0.5, + biomes = biomes or nil + }) + + +end + +local add_ore_sheet_humid = function(name, parent, density, biomes) + + local ore_seed = seed + math.random() --4130293965 + + minetest.register_ore({ + ore_type = "sheet", + ore = name, + wherein = parent, + clust_size = 40, + y_min = -1000, + y_max = 31000, + noise_threshold = density, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 64, y = 64, z = 64}, + seed = ore_seed, + octaves = 5, + persist = 0.60 + }, + column_height_min = 1, + column_height_max = 16, + column_midpoint_factor = 0.5, + biomes = biomes or nil + }) + + +end + + + +local add_ore_sheet = function(name, parent, density, biomes) + + local ore_seed = seed + math.random() --4130293965 + + minetest.register_ore({ + ore_type = "sheet", + ore = name, + wherein = parent, + clust_size = 40, + y_min = -1000, + y_max = 31000, + noise_threshold = density, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 128, y = 128, z = 128}, + seed = ore_seed, + octaves = 5, + persist = 0.60 + }, + column_height_min = 1, + column_height_max = 16, + column_midpoint_factor = 0.5, + biomes = biomes or nil + }) + + +end + + + + + + +local add_ore_stratum = function(name, parent, biomes) + + minetest.register_ore({ + ore_type = "stratum", + ore = name, + wherein = parent, +-- clust_num_ores = 250, + clust_scarcity = 1, +-- clust_size = 10, + y_min = lib_materials.maxheight_beach, -- -1000, + y_max = (lib_materials.maxheight_highland - 10), -- 31000, +-- noise_threshold = 0.1, + np_stratum_thickness = { + offset = 8, + scale = 4, + spread = {x = 100, y = 100, z = 100}, + seed = 17, + octaves = 3, + persist = 0.7 + }, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 256, y = 256, z = 256}, + seed = 4130293965, + octaves = 5, + persist = 0.60 + }, + biomes = biomes or nil, +-- random_factor = 1.0 + }) + + +end + +local add_ore_vein = function() + +end + +--[[ + -- -- 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="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_threshold=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_threshold=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_threshold=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_threshold=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_threshold=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_threshold=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 = "blob", ore = "lib_materials:stone_desert", wherein = {"lib_materials:stone_sand"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, clust_size = 6, y_min = -10, y_max = 71, noise_params = { offset = 0.35, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = -316, octaves = 1, persist = 0.5 }, }) + -- minetest.register_ore({ore_type = "blob", ore = "lib_materials:stone_sandstone_desert", wherein = {"lib_materials:stone_sand"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, clust_size = 6, y_min = -10, y_max = 71, noise_params = {offset = 0.35, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = -613, octaves = 1, persist = 0.5},}) + -- minetest.register_ore({ore_type = "blob", ore = "lib_materials:stone_brown", wherein = {"lib_materials:stone_sand"}, clust_scarcity = 4 * 4 * 4, clust_num_ores = 8, clust_size = 6, y_min = -10, y_max = 71, noise_params = { offset = 0.35, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = -613, octaves = 1, persist = 0.5 },}) + + -- add_ore_sheet("lib_materials:stone_sandstone", "lib_materials:stone") + -- add_ore_sheet("lib_materials:stone_sandstone_desert", "lib_materials:stone") + -- add_ore_sheet("lib_materials:stone_sandstone_silver", "lib_materials:stone") + -- add_ore_sheet("lib_materials:stone_desert", "lib_materials:stone") + -- add_ore_sheet("lib_materials:stone_brown", "lib_materials:stone") + -- add_ore_sheet("lib_materials:stone_sand", "lib_materials:stone") + -- add_ore_sheet("lib_materials:stone_desert", "lib_materials:stone_sand") + -- add_ore_sheet("lib_materials:stone_sandstone_desert", "lib_materials:stone_sand") + -- add_ore_sheet("lib_materials:stone_brown", "lib_materials:stone_sand") +--]] + + --add_ore_stratum("lib_materials:stone_limestone_01", {"lib_materials:stone_bluestone", }, 0.5, {"temperate_semihumid_coastal", "temperate_semihumid_lowland", "temperate_semihumid_shelf", "temperate_semihumid_highland", }) + + +local function add_dirt_grass_types_as_ore() + + --add_ore_sheet("lib_materials:dirt_silt_01", {"lib_materials:sand_volcanic", "lib_materials:dirt_silt_02", "lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.5, {"hot_humid_beach", "hot_semihumid_beach", "warm_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_humid_coastal", {"lib_materials:dirt_with_grass_hot_humid_coastal", }, 0.8, {"hot_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_humid_coastal", {"lib_materials:dirt_with_grass_hot_humid_coastal", }, 0.1, {"hot_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_humid_coastal", {"lib_materials:dirt_with_grass_hot_humid_coastal", }, 0.1, {"hot_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_humid_coastal", {"lib_materials:dirt_with_grass_hot_humid_coastal", }, 0.1, {"hot_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_humid_coastal", {"lib_materials:dirt_with_grass_hot_humid_coastal", }, 0.3, {"hot_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_with_rainforest_litter", {"lib_materials:dirt_with_grass_hot_humid_coastal", }, 0.4, {"hot_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_humid_lowland", {"lib_materials:dirt_with_grass_hot_humid_lowland", }, 0.6, {"hot_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_humid_lowland", {"lib_materials:dirt_with_grass_hot_humid_lowland", }, 0.3, {"hot_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_humid_lowland", {"lib_materials:dirt_with_grass_hot_humid_lowland", }, 0.1, {"hot_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_humid_lowland", {"lib_materials:dirt_with_grass_hot_humid_lowland", }, 0.1, {"hot_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_humid_lowland", {"lib_materials:dirt_with_grass_hot_humid_lowland", }, 0.3, {"hot_humid_lowland", }) + add_ore_sheet_humid("lib_materials:dirt_with_rainforest_litter", {"lib_materials:dirt_with_grass_hot_humid_lowland", }, 0.6, {"hot_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_humid_shelf", {"lib_materials:dirt_with_grass_hot_humid_shelf", }, 0.3, {"hot_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_humid_shelf", {"lib_materials:dirt_with_grass_hot_humid_shelf", }, 0.3, {"hot_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_humid_shelf", {"lib_materials:dirt_with_grass_hot_humid_shelf", }, 0.1, {"hot_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_humid_shelf", {"lib_materials:dirt_with_grass_hot_humid_shelf", }, 0.1, {"hot_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_humid_shelf", {"lib_materials:dirt_with_grass_hot_humid_shelf", }, 0.3, {"hot_humid_shelf", }) + add_ore_sheet_humid("lib_materials:dirt_with_rainforest_litter", {"lib_materials:dirt_with_grass_hot_humid_shelf", }, 0.8, {"hot_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_humid_highland", {"lib_materials:dirt_with_grass_hot_humid_highland", }, 0.3, {"hot_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_humid_highland", {"lib_materials:dirt_with_grass_hot_humid_highland", }, 0.3, {"hot_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_humid_highland", {"lib_materials:dirt_with_grass_hot_humid_highland", }, 0.1, {"hot_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_humid_highland", {"lib_materials:dirt_with_grass_hot_humid_highland", }, 0.1, {"hot_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_humid_highland", {"lib_materials:dirt_with_grass_hot_humid_highland", }, 0.3, {"hot_humid_highland", }) + add_ore_sheet_humid("lib_materials:dirt_with_rainforest_litter", {"lib_materials:dirt_with_grass_hot_humid_highland", }, 1.0, {"hot_humid_highland", }) + + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semihumid_coastal", {"lib_materials:dirt_with_grass_hot_semihumid_coastal", }, 0.2, {"hot_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_semihumid_coastal", {"lib_materials:dirt_with_grass_hot_semihumid_coastal", }, 0.5, {"hot_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semihumid_coastal", {"lib_materials:dirt_with_grass_hot_semihumid_coastal", }, 0.5, {"hot_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_semihumid_coastal", {"lib_materials:dirt_with_grass_hot_semihumid_coastal", }, 0.5, {"hot_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semihumid_coastal", {"lib_materials:dirt_with_grass_hot_semihumid_coastal", }, 0.2, {"hot_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semihumid_lowland", {"lib_materials:dirt_with_grass_hot_semihumid_lowland", }, 0.4, {"hot_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_semihumid_lowland", {"lib_materials:dirt_with_grass_hot_semihumid_lowland", }, 0.5, {"hot_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semihumid_lowland", {"lib_materials:dirt_with_grass_hot_semihumid_lowland", }, 0.5, {"hot_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_semihumid_lowland", {"lib_materials:dirt_with_grass_hot_semihumid_lowland", }, 0.5, {"hot_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semihumid_lowland", {"lib_materials:dirt_with_grass_hot_semihumid_lowland", }, 0.4, {"hot_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semihumid_shelf", {"lib_materials:dirt_with_grass_hot_semihumid_shelf", }, 0.6, {"hot_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_semihumid_shelf", {"lib_materials:dirt_with_grass_hot_semihumid_shelf", }, 0.5, {"hot_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semihumid_shelf", {"lib_materials:dirt_with_grass_hot_semihumid_shelf", }, 0.5, {"hot_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_semihumid_shelf", {"lib_materials:dirt_with_grass_hot_semihumid_shelf", }, 0.5, {"hot_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semihumid_shelf", {"lib_materials:dirt_with_grass_hot_semihumid_shelf", }, 0.6, {"hot_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semihumid_highland", {"lib_materials:dirt_with_grass_hot_semihumid_highland", }, 0.8, {"hot_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_semihumid_highland", {"lib_materials:dirt_with_grass_hot_semihumid_highland", }, 0.5, {"hot_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semihumid_highland", {"lib_materials:dirt_with_grass_hot_semihumid_highland", }, 0.5, {"hot_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_semihumid_highland", {"lib_materials:dirt_with_grass_hot_semihumid_highland", }, 0.5, {"hot_semihumid_highland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semihumid_highland", {"lib_materials:dirt_with_grass_hot_semihumid_highland", }, 0.8, {"hot_semihumid_highland", }) + + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_temperate_coastal", {"lib_materials:dirt_with_grass_hot_temperate_coastal", }, 0.2, {"hot_temperate_coastal", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_temperate_coastal", {"lib_materials:dirt_with_grass_hot_temperate_coastal", }, 0.2, {"hot_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_temperate_coastal", {"lib_materials:dirt_with_grass_hot_temperate_coastal", }, 0.5, {"hot_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_temperate_coastal", {"lib_materials:dirt_with_grass_hot_temperate_coastal", }, 0.5, {"hot_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_temperate_coastal", {"lib_materials:dirt_with_grass_hot_temperate_coastal", }, 0.5, {"hot_temperate_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_temperate_lowland", {"lib_materials:dirt_with_grass_hot_temperate_lowland", }, 0.4, {"hot_temperate_lowland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_temperate_lowland", {"lib_materials:dirt_with_grass_hot_temperate_lowland", }, 0.4, {"hot_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_temperate_lowland", {"lib_materials:dirt_with_grass_hot_temperate_lowland", }, 0.5, {"hot_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_temperate_lowland", {"lib_materials:dirt_with_grass_hot_temperate_lowland", }, 0.5, {"hot_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_temperate_lowland", {"lib_materials:dirt_with_grass_hot_temperate_lowland", }, 0.5, {"hot_temperate_lowland", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_temperate_shelf", {"lib_materials:dirt_with_grass_hot_temperate_shelf", }, 0.6, {"hot_temperate_shelf", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_temperate_shelf", {"lib_materials:dirt_with_grass_hot_temperate_shelf", }, 0.6, {"hot_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_temperate_shelf", {"lib_materials:dirt_with_grass_hot_temperate_shelf", }, 0.5, {"hot_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_temperate_shelf", {"lib_materials:dirt_with_grass_hot_temperate_shelf", }, 0.5, {"hot_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_temperate_shelf", {"lib_materials:dirt_with_grass_hot_temperate_shelf", }, 0.5, {"hot_temperate_shelf", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_hot_temperate_highland", {"lib_materials:dirt_with_grass_hot_temperate_highland", }, 0.8, {"hot_temperate_highland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_temperate_highland", {"lib_materials:dirt_with_grass_hot_temperate_highland", }, 0.8, {"hot_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_temperate_highland", {"lib_materials:dirt_with_grass_hot_temperate_highland", }, 0.5, {"hot_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_temperate_highland", {"lib_materials:dirt_with_grass_hot_temperate_highland", }, 0.5, {"hot_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_temperate_highland", {"lib_materials:dirt_with_grass_hot_temperate_highland", }, 0.5, {"hot_temperate_highland", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semiarid_coastal", {"lib_materials:dirt_with_grass_hot_semiarid_coastal", }, 0.5, {"hot_semiarid_coastal", }) + add_ore_sheet_arid("lib_materials:dirt_brown_with_grass_hot_semiarid_coastal", {"lib_materials:dirt_with_grass_hot_semiarid_coastal", }, 0.2, {"hot_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semiarid_coastal", {"lib_materials:dirt_with_grass_hot_semiarid_coastal", }, 0.5, {"hot_semiarid_coastal", }) + add_ore_sheet_arid("lib_materials:dirt_sandy_with_grass_hot_semiarid_coastal", {"lib_materials:dirt_with_grass_hot_semiarid_coastal", }, 0.2, {"hot_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semiarid_coastal", {"lib_materials:dirt_with_grass_hot_semiarid_coastal", }, 0.5, {"hot_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semiarid_lowland", {"lib_materials:dirt_with_grass_hot_semiarid_lowland", }, 0.5, {"hot_semiarid_lowland", }) + add_ore_sheet_arid("lib_materials:dirt_brown_with_grass_hot_semiarid_lowland", {"lib_materials:dirt_with_grass_hot_semiarid_lowland", }, 0.4, {"hot_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semiarid_lowland", {"lib_materials:dirt_with_grass_hot_semiarid_lowland", }, 0.5, {"hot_semiarid_lowland", }) + add_ore_sheet_arid("lib_materials:dirt_sandy_with_grass_hot_semiarid_lowland", {"lib_materials:dirt_with_grass_hot_semiarid_lowland", }, 0.4, {"hot_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semiarid_lowland", {"lib_materials:dirt_with_grass_hot_semiarid_lowland", }, 0.5, {"hot_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semiarid_shelf", {"lib_materials:dirt_with_grass_hot_semiarid_shelf", }, 0.5, {"hot_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_semiarid_shelf", {"lib_materials:dirt_with_grass_hot_semiarid_shelf", }, 0.6, {"hot_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semiarid_shelf", {"lib_materials:dirt_with_grass_hot_semiarid_shelf", }, 0.5, {"hot_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_semiarid_shelf", {"lib_materials:dirt_with_grass_hot_semiarid_shelf", }, 0.6, {"hot_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semiarid_shelf", {"lib_materials:dirt_with_grass_hot_semiarid_shelf", }, 0.5, {"hot_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_hot_semiarid_highland", {"lib_materials:dirt_with_grass_hot_semiarid_highland", }, 0.5, {"hot_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_hot_semiarid_highland", {"lib_materials:dirt_with_grass_hot_semiarid_highland", }, 0.8, {"hot_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_hot_semiarid_highland", {"lib_materials:dirt_with_grass_hot_semiarid_highland", }, 0.5, {"hot_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_hot_semiarid_highland", {"lib_materials:dirt_with_grass_hot_semiarid_highland", }, 0.8, {"hot_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_hot_semiarid_highland", {"lib_materials:dirt_with_grass_hot_semiarid_highland", }, 0.5, {"hot_semiarid_highland", }) + + add_ore_sheet("lib_materials:dirt_black_with_grass_warm_humid_coastal", {"lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.2, {"warm_humid_coastal", }) + -- add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_humid_coastal", {"lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.5, {"warm_humid_coastal", }) + -- add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_humid_coastal", {"lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.5, {"warm_humid_coastal", }) + -- add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_humid_coastal", {"lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.5, {"warm_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_humid_coastal", {"lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.2, {"warm_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_with_grass_wet_03", {"lib_materials:dirt_with_grass_warm_humid_coastal", }, 0.2, {"warm_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_warm_humid_lowland", {"lib_materials:dirt_with_grass_warm_humid_lowland", }, 0.4, {"warm_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_humid_lowland", {"lib_materials:dirt_with_grass_warm_humid_lowland", }, 0.5, {"warm_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_humid_lowland", {"lib_materials:dirt_with_grass_warm_humid_lowland", }, 0.5, {"warm_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_humid_lowland", {"lib_materials:dirt_with_grass_warm_humid_lowland", }, 0.5, {"warm_humid_lowland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_humid_lowland", {"lib_materials:dirt_with_grass_warm_humid_lowland", }, 0.4, {"warm_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_lush_03", {"lib_materials:dirt_with_grass_warm_humid_lowland", }, 0.4, {"warm_humid_lowland", }) + add_ore_sheet_humid("lib_materials:dirt_black_with_grass_warm_humid_shelf", {"lib_materials:dirt_with_grass_warm_humid_shelf", }, 0.6, {"warm_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_humid_shelf", {"lib_materials:dirt_with_grass_warm_humid_shelf", }, 0.5, {"warm_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_humid_shelf", {"lib_materials:dirt_with_grass_warm_humid_shelf", }, 0.5, {"warm_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_humid_shelf", {"lib_materials:dirt_with_grass_warm_humid_shelf", }, 0.5, {"warm_humid_shelf", }) + add_ore_sheet_humid("lib_materials:dirt_silty_with_grass_warm_humid_shelf", {"lib_materials:dirt_with_grass_warm_humid_shelf", }, 0.6, {"warm_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_with_grass_dry_03", {"lib_materials:dirt_with_grass_warm_humid_shelf", }, 0.6, {"warm_humid_shelf", }) + add_ore_sheet_humid("lib_materials:dirt_black_with_grass_warm_humid_highland", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.8, {"warm_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_humid_highland", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.5, {"warm_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_humid_highland", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.5, {"warm_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_humid_highland", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.5, {"warm_humid_highland", }) + add_ore_sheet_humid("lib_materials:dirt_silty_with_grass_warm_humid_highland", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.8, {"warm_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_brown_03", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.8, {"warm_humid_highland", }) + add_ore_sheet_humid("lib_materials:dirt_with_rainforest_litter", {"lib_materials:dirt_with_grass_warm_humid_highland", }, 0.8, {"warm_humid_highland", }) + + add_ore_sheet_semihumid("lib_materials:dirt_black_with_grass_warm_semihumid_coastal", {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, 0.2, {"warm_semihumid_coastal", }) + add_ore_sheet_semihumid("lib_materials:dirt_brown_with_grass_warm_semihumid_coastal", {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, 0.2, {"warm_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semihumid_coastal", {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, 0.5, {"warm_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semihumid_coastal", {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, 0.5, {"warm_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semihumid_coastal", {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, 0.5, {"warm_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_with_grass_wet_07", {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, 0.2, {"warm_semihumid_coastal", }) + add_ore_sheet_semihumid("lib_materials:dirt_black_with_grass_warm_semihumid_lowland", {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, 0.4, {"warm_semihumid_lowland", }) + add_ore_sheet_semihumid("lib_materials:dirt_brown_with_grass_warm_semihumid_lowland", {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, 0.4, {"warm_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semihumid_lowland", {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, 0.5, {"warm_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semihumid_lowland", {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, 0.5, {"warm_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semihumid_lowland", {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, 0.5, {"warm_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_with_grass_lush_07", {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, 0.4, {"warm_semihumid_lowland", }) + add_ore_sheet_semihumid("lib_materials:dirt_black_with_grass_warm_semihumid_shelf", {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, 0.6, {"warm_semihumid_shelf", }) + add_ore_sheet_semihumid("lib_materials:dirt_brown_with_grass_warm_semihumid_shelf", {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, 0.6, {"warm_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semihumid_shelf", {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, 0.5, {"warm_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semihumid_shelf", {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, 0.5, {"warm_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semihumid_shelf", {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, 0.5, {"warm_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_with_grass_dry_07", {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, 0.6, {"warm_semihumid_shelf", }) + add_ore_sheet_semihumid("lib_materials:dirt_black_with_grass_warm_semihumid_highland", {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, 0.8, {"warm_semihumid_highland", }) + add_ore_sheet_semihumid("lib_materials:dirt_brown_with_grass_warm_semihumid_highland", {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, 0.8, {"warm_semihumid_highland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semihumid_highland", {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, 0.5, {"warm_semihumid_highland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semihumid_highland", {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, 0.5, {"warm_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semihumid_highland", {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, 0.5, {"warm_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_brown_07", {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, 0.8, {"warm_semihumid_highland", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_temperate_coastal", {"lib_materials:dirt_with_grass_warm_temperate_coastal", }, 0.5, {"warm_temperate_coastal", }) + add_ore_sheet_temperate("lib_materials:dirt_brown_with_grass_warm_temperate_coastal", {"lib_materials:dirt_with_grass_warm_temperate_coastal", }, 0.2, {"warm_temperate_coastal", }) + add_ore_sheet_temperate("lib_materials:dirt_clayey_with_grass_warm_temperate_coastal", {"lib_materials:dirt_with_grass_warm_temperate_coastal", }, 0.2, {"warm_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_with_grass_wet_11", {"lib_materials:dirt_with_grass_warm_temperate_coastal", }, 0.2, {"warm_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_temperate_coastal", {"lib_materials:dirt_with_grass_warm_temperate_coastal", }, 0.5, {"warm_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_temperate_coastal", {"lib_materials:dirt_with_grass_warm_temperate_coastal", }, 0.5, {"warm_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_temperate_lowland", {"lib_materials:dirt_with_grass_warm_temperate_lowland", }, 0.5, {"warm_temperate_lowland", }) + add_ore_sheet_temperate("lib_materials:dirt_brown_with_grass_warm_temperate_lowland", {"lib_materials:dirt_with_grass_warm_temperate_lowland", }, 0.4, {"warm_temperate_lowland", }) + add_ore_sheet_temperate("lib_materials:dirt_clayey_with_grass_warm_temperate_lowland", {"lib_materials:dirt_with_grass_warm_temperate_lowland", }, 0.4, {"warm_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_lush_11", {"lib_materials:dirt_with_grass_warm_temperate_lowland", }, 0.4, {"warm_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_temperate_lowland", {"lib_materials:dirt_with_grass_warm_temperate_lowland", }, 0.5, {"warm_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_temperate_lowland", {"lib_materials:dirt_with_grass_warm_temperate_lowland", }, 0.5, {"warm_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_temperate_shelf", {"lib_materials:dirt_with_grass_warm_temperate_shelf", }, 0.5, {"warm_temperate_shelf", }) + add_ore_sheet_temperate("lib_materials:dirt_brown_with_grass_warm_temperate_shelf", {"lib_materials:dirt_with_grass_warm_temperate_shelf", }, 0.6, {"warm_temperate_shelf", }) + add_ore_sheet_temperate("lib_materials:dirt_clayey_with_grass_warm_temperate_shelf", {"lib_materials:dirt_with_grass_warm_temperate_shelf", }, 0.6, {"warm_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_with_grass_dry_11", {"lib_materials:dirt_with_grass_warm_temperate_shelf", }, 0.6, {"warm_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_temperate_shelf", {"lib_materials:dirt_with_grass_warm_temperate_shelf", }, 0.5, {"warm_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_temperate_shelf", {"lib_materials:dirt_with_grass_warm_temperate_shelf", }, 0.5, {"warm_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_temperate_highland", {"lib_materials:dirt_with_grass_warm_temperate_highland", }, 0.5, {"warm_temperate_highland", }) + add_ore_sheet_temperate("lib_materials:dirt_brown_with_grass_warm_temperate_highland", {"lib_materials:dirt_with_grass_warm_temperate_highland", }, 0.8, {"warm_temperate_highland", }) + add_ore_sheet_temperate("lib_materials:dirt_clayey_with_grass_warm_temperate_highland", {"lib_materials:dirt_with_grass_warm_temperate_highland", }, 0.8, {"warm_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_brown_11", {"lib_materials:dirt_with_grass_warm_temperate_highland", }, 0.8, {"warm_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_temperate_highland", {"lib_materials:dirt_with_grass_warm_temperate_highland", }, 0.5, {"warm_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_temperate_highland", {"lib_materials:dirt_with_grass_warm_temperate_highland", }, 0.5, {"warm_temperate_highland", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_semiarid_coastal", {"lib_materials:dirt_with_grass_warm_semiarid_coastal", }, 0.5, {"warm_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_semiarid_coastal", {"lib_materials:dirt_with_grass_warm_semiarid_coastal", }, 0.5, {"warm_semiarid_coastal", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semiarid_coastal", {"lib_materials:dirt_with_grass_warm_semiarid_coastal", }, 0.2, {"warm_semiarid_coastal", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semiarid_coastal", {"lib_materials:dirt_with_grass_warm_semiarid_coastal", }, 0.2, {"warm_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semiarid_coastal", {"lib_materials:dirt_with_grass_warm_semiarid_coastal", }, 0.5, {"warm_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_semiarid_lowland", {"lib_materials:dirt_with_grass_warm_semiarid_lowland", }, 0.5, {"warm_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_semiarid_lowland", {"lib_materials:dirt_with_grass_warm_semiarid_lowland", }, 0.5, {"warm_semiarid_lowland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semiarid_lowland", {"lib_materials:dirt_with_grass_warm_semiarid_lowland", }, 0.4, {"warm_semiarid_lowland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semiarid_lowland", {"lib_materials:dirt_with_grass_warm_semiarid_lowland", }, 0.4, {"warm_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semiarid_lowland", {"lib_materials:dirt_with_grass_warm_semiarid_lowland", }, 0.5, {"warm_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_semiarid_shelf", {"lib_materials:dirt_with_grass_warm_semiarid_shelf", }, 0.5, {"warm_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_semiarid_shelf", {"lib_materials:dirt_with_grass_warm_semiarid_shelf", }, 0.5, {"warm_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semiarid_shelf", {"lib_materials:dirt_with_grass_warm_semiarid_shelf", }, 0.6, {"warm_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semiarid_shelf", {"lib_materials:dirt_with_grass_warm_semiarid_shelf", }, 0.6, {"warm_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semiarid_shelf", {"lib_materials:dirt_with_grass_warm_semiarid_shelf", }, 0.5, {"warm_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_warm_semiarid_highland", {"lib_materials:dirt_with_grass_warm_semiarid_highland", }, 0.5, {"warm_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_warm_semiarid_highland", {"lib_materials:dirt_with_grass_warm_semiarid_highland", }, 0.5, {"warm_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_warm_semiarid_highland", {"lib_materials:dirt_with_grass_warm_semiarid_highland", }, 0.8, {"warm_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_warm_semiarid_highland", {"lib_materials:dirt_with_grass_warm_semiarid_highland", }, 0.8, {"warm_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_warm_semiarid_highland", {"lib_materials:dirt_with_grass_warm_semiarid_highland", }, 0.5, {"warm_semiarid_highland", }) + + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_humid_coastal", {"lib_materials:dirt_with_grass_temperate_humid_coastal", }, 0.2, {"temperate_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_humid_coastal", {"lib_materials:dirt_with_grass_temperate_humid_coastal", }, 0.5, {"temperate_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_humid_coastal", {"lib_materials:dirt_with_grass_temperate_humid_coastal", }, 0.5, {"temperate_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_humid_coastal", {"lib_materials:dirt_with_grass_temperate_humid_coastal", }, 0.5, {"temperate_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_humid_coastal", {"lib_materials:dirt_with_grass_temperate_humid_coastal", }, 0.2, {"temperate_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_with_grass_wet_02", {"lib_materials:dirt_with_grass_temperate_humid_coastal", }, 0.2, {"temperate_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_humid_lowland", {"lib_materials:dirt_with_grass_temperate_humid_lowland", }, 0.4, {"temperate_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_humid_lowland", {"lib_materials:dirt_with_grass_temperate_humid_lowland", }, 0.5, {"temperate_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_humid_lowland", {"lib_materials:dirt_with_grass_temperate_humid_lowland", }, 0.5, {"temperate_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_humid_lowland", {"lib_materials:dirt_with_grass_temperate_humid_lowland", }, 0.5, {"temperate_humid_lowland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_humid_lowland", {"lib_materials:dirt_with_grass_temperate_humid_lowland", }, 0.4, {"temperate_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_lush_02", {"lib_materials:dirt_with_grass_temperate_humid_lowland", }, 0.4, {"temperate_humid_lowland", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_humid_shelf", {"lib_materials:dirt_with_grass_temperate_humid_shelf", }, 0.6, {"temperate_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_humid_shelf", {"lib_materials:dirt_with_grass_temperate_humid_shelf", }, 0.5, {"temperate_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_humid_shelf", {"lib_materials:dirt_with_grass_temperate_humid_shelf", }, 0.5, {"temperate_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_humid_shelf", {"lib_materials:dirt_with_grass_temperate_humid_shelf", }, 0.5, {"temperate_humid_shelf", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_humid_shelf", {"lib_materials:dirt_with_grass_temperate_humid_shelf", }, 0.6, {"temperate_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_with_grass_dry_02", {"lib_materials:dirt_with_grass_temperate_humid_shelf", }, 0.6, {"temperate_humid_shelf", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_humid_highland", {"lib_materials:dirt_with_grass_temperate_humid_highland", }, 0.8, {"temperate_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_humid_highland", {"lib_materials:dirt_with_grass_temperate_humid_highland", }, 0.5, {"temperate_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_humid_highland", {"lib_materials:dirt_with_grass_temperate_humid_highland", }, 0.5, {"temperate_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_humid_highland", {"lib_materials:dirt_with_grass_temperate_humid_highland", }, 0.5, {"temperate_humid_highland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_humid_highland", {"lib_materials:dirt_with_grass_temperate_humid_highland", }, 0.8, {"temperate_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_brown_02", {"lib_materials:dirt_with_grass_temperate_humid_highland", }, 0.8, {"temperate_humid_highland", }) + + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semihumid_coastal", {"lib_materials:dirt_with_grass_temperate_semihumid_coastal", }, 0.2, {"temperate_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semihumid_coastal", {"lib_materials:dirt_with_grass_temperate_semihumid_coastal", }, 0.2, {"temperate_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semihumid_coastal", {"lib_materials:dirt_with_grass_temperate_semihumid_coastal", }, 0.5, {"temperate_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semihumid_coastal", {"lib_materials:dirt_with_grass_temperate_semihumid_coastal", }, 0.5, {"temperate_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semihumid_coastal", {"lib_materials:dirt_with_grass_temperate_semihumid_coastal", }, 0.5, {"temperate_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_with_grass_wet_06", {"lib_materials:dirt_with_grass_temperate_semihumid_coastal", }, 0.2, {"temperate_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semihumid_lowland", {"lib_materials:dirt_with_grass_temperate_semihumid_lowland", }, 0.4, {"temperate_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semihumid_lowland", {"lib_materials:dirt_with_grass_temperate_semihumid_lowland", }, 0.4, {"temperate_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semihumid_lowland", {"lib_materials:dirt_with_grass_temperate_semihumid_lowland", }, 0.5, {"temperate_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semihumid_lowland", {"lib_materials:dirt_with_grass_temperate_semihumid_lowland", }, 0.5, {"temperate_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semihumid_lowland", {"lib_materials:dirt_with_grass_temperate_semihumid_lowland", }, 0.5, {"temperate_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_lush_06", {"lib_materials:dirt_with_grass_temperate_semihumid_lowland", }, 0.4, {"temperate_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semihumid_shelf", {"lib_materials:dirt_with_grass_temperate_semihumid_shelf", }, 0.6, {"temperate_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semihumid_shelf", {"lib_materials:dirt_with_grass_temperate_semihumid_shelf", }, 0.6, {"temperate_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semihumid_shelf", {"lib_materials:dirt_with_grass_temperate_semihumid_shelf", }, 0.5, {"temperate_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semihumid_shelf", {"lib_materials:dirt_with_grass_temperate_semihumid_shelf", }, 0.5, {"temperate_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semihumid_shelf", {"lib_materials:dirt_with_grass_temperate_semihumid_shelf", }, 0.5, {"temperate_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_with_grass_dry_06", {"lib_materials:dirt_with_grass_temperate_semihumid_shelf", }, 0.6, {"temperate_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semihumid_highland", {"lib_materials:dirt_with_grass_temperate_semihumid_highland", }, 0.8, {"temperate_semihumid_highland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semihumid_highland", {"lib_materials:dirt_with_grass_temperate_semihumid_highland", }, 0.8, {"temperate_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semihumid_highland", {"lib_materials:dirt_with_grass_temperate_semihumid_highland", }, 0.5, {"temperate_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semihumid_highland", {"lib_materials:dirt_with_grass_temperate_semihumid_highland", }, 0.5, {"temperate_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semihumid_highland", {"lib_materials:dirt_with_grass_temperate_semihumid_highland", }, 0.5, {"temperate_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_brown_06", {"lib_materials:dirt_with_grass_temperate_semihumid_highland", }, 0.8, {"temperate_semihumid_highland", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_temperate_coastal", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.5, {"temperate_temperate_coastal", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_temperate_coastal", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.2, {"temperate_temperate_coastal", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_temperate_coastal", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.2, {"temperate_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_temperate_coastal", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.5, {"temperate_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_temperate_coastal", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.5, {"temperate_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_with_grass_wet_11", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.2, {"temperate_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_temperate_lowland", {"lib_materials:dirt_with_grass_temperate_temperate_lowland", }, 0.5, {"temperate_temperate_lowland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_temperate_lowland", {"lib_materials:dirt_with_grass_temperate_temperate_lowland", }, 0.4, {"temperate_temperate_lowland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_temperate_lowland", {"lib_materials:dirt_with_grass_temperate_temperate_lowland", }, 0.4, {"temperate_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_temperate_lowland", {"lib_materials:dirt_with_grass_temperate_temperate_lowland", }, 0.5, {"temperate_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_temperate_lowland", {"lib_materials:dirt_with_grass_temperate_temperate_lowland", }, 0.5, {"temperate_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_lush_11", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.4, {"temperate_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_temperate_shelf", {"lib_materials:dirt_with_grass_temperate_temperate_shelf", }, 0.5, {"temperate_temperate_shelf", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_temperate_shelf", {"lib_materials:dirt_with_grass_temperate_temperate_shelf", }, 0.6, {"temperate_temperate_shelf", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_temperate_shelf", {"lib_materials:dirt_with_grass_temperate_temperate_shelf", }, 0.6, {"temperate_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_temperate_shelf", {"lib_materials:dirt_with_grass_temperate_temperate_shelf", }, 0.5, {"temperate_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_temperate_shelf", {"lib_materials:dirt_with_grass_temperate_temperate_shelf", }, 0.5, {"temperate_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_with_grass_dry_11", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.6, {"temperate_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_temperate_highland", {"lib_materials:dirt_with_grass_temperate_temperate_highland", }, 0.5, {"temperate_temperate_highland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_temperate_highland", {"lib_materials:dirt_with_grass_temperate_temperate_highland", }, 0.8, {"temperate_temperate_highland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_temperate_highland", {"lib_materials:dirt_with_grass_temperate_temperate_highland", }, 0.8, {"temperate_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_temperate_highland", {"lib_materials:dirt_with_grass_temperate_temperate_highland", }, 0.5, {"temperate_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_temperate_highland", {"lib_materials:dirt_with_grass_temperate_temperate_highland", }, 0.5, {"temperate_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_with_grass_brown_11", {"lib_materials:dirt_with_grass_temperate_temperate_coastal", }, 0.8, {"temperate_temperate_coastal", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semiarid_coastal", {"lib_materials:dirt_with_grass_temperate_semiarid_coastal", }, 0.5, {"temperate_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semiarid_coastal", {"lib_materials:dirt_with_grass_temperate_semiarid_coastal", }, 0.5, {"temperate_semiarid_coastal", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semiarid_coastal", {"lib_materials:dirt_with_grass_temperate_semiarid_coastal", }, 0.2, {"temperate_semiarid_coastal", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semiarid_coastal", {"lib_materials:dirt_with_grass_temperate_semiarid_coastal", }, 0.2, {"temperate_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semiarid_coastal", {"lib_materials:dirt_with_grass_temperate_semiarid_coastal", }, 0.5, {"temperate_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semiarid_lowland", {"lib_materials:dirt_with_grass_temperate_semiarid_lowland", }, 0.5, {"temperate_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semiarid_lowland", {"lib_materials:dirt_with_grass_temperate_semiarid_lowland", }, 0.5, {"temperate_semiarid_lowland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semiarid_lowland", {"lib_materials:dirt_with_grass_temperate_semiarid_lowland", }, 0.4, {"temperate_semiarid_lowland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semiarid_lowland", {"lib_materials:dirt_with_grass_temperate_semiarid_lowland", }, 0.4, {"temperate_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semiarid_lowland", {"lib_materials:dirt_with_grass_temperate_semiarid_lowland", }, 0.5, {"temperate_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semiarid_shelf", {"lib_materials:dirt_with_grass_temperate_semiarid_shelf", }, 0.5, {"temperate_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semiarid_shelf", {"lib_materials:dirt_with_grass_temperate_semiarid_shelf", }, 0.5, {"temperate_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semiarid_shelf", {"lib_materials:dirt_with_grass_temperate_semiarid_shelf", }, 0.6, {"temperate_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semiarid_shelf", {"lib_materials:dirt_with_grass_temperate_semiarid_shelf", }, 0.6, {"temperate_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semiarid_shelf", {"lib_materials:dirt_with_grass_temperate_semiarid_shelf", }, 0.5, {"temperate_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_temperate_semiarid_highland", {"lib_materials:dirt_with_grass_temperate_semiarid_highland", }, 0.5, {"temperate_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_temperate_semiarid_highland", {"lib_materials:dirt_with_grass_temperate_semiarid_highland", }, 0.5, {"temperate_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_temperate_semiarid_highland", {"lib_materials:dirt_with_grass_temperate_semiarid_highland", }, 0.8, {"temperate_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_temperate_semiarid_highland", {"lib_materials:dirt_with_grass_temperate_semiarid_highland", }, 0.8, {"temperate_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_temperate_semiarid_highland", {"lib_materials:dirt_with_grass_temperate_semiarid_highland", }, 0.5, {"temperate_semiarid_highland", }) + + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_humid_coastal", {"lib_materials:dirt_with_grass_cool_humid_coastal", }, 0.2, {"cool_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_humid_coastal", {"lib_materials:dirt_with_grass_cool_humid_coastal", }, 0.5, {"cool_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_humid_coastal", {"lib_materials:dirt_with_grass_cool_humid_coastal", }, 0.5, {"cool_humid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_humid_coastal", {"lib_materials:dirt_with_grass_cool_humid_coastal", }, 0.5, {"cool_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_humid_coastal", {"lib_materials:dirt_with_grass_cool_humid_coastal", }, 0.2, {"cool_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_with_coniferous_litter", {"lib_materials:dirt_with_grass_cool_humid_coastal", }, 0.4, {"cool_humid_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_humid_lowland", {"lib_materials:dirt_with_grass_cool_humid_lowland", }, 0.4, {"cool_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_humid_lowland", {"lib_materials:dirt_with_grass_cool_humid_lowland", }, 0.5, {"cool_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_humid_lowland", {"lib_materials:dirt_with_grass_cool_humid_lowland", }, 0.5, {"cool_humid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_humid_lowland", {"lib_materials:dirt_with_grass_cool_humid_lowland", }, 0.5, {"cool_humid_lowland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_humid_lowland", {"lib_materials:dirt_with_grass_cool_humid_lowland", }, 0.4, {"cool_humid_lowland", }) + add_ore_sheet("lib_materials:dirt_with_coniferous_litter", {"lib_materials:dirt_with_grass_cool_humid_lowland", }, 0.6, {"cool_humid_lowland", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_humid_shelf", {"lib_materials:dirt_with_grass_cool_humid_shelf", }, 0.6, {"cool_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_humid_shelf", {"lib_materials:dirt_with_grass_cool_humid_shelf", }, 0.5, {"cool_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_humid_shelf", {"lib_materials:dirt_with_grass_cool_humid_shelf", }, 0.5, {"cool_humid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_humid_shelf", {"lib_materials:dirt_with_grass_cool_humid_shelf", }, 0.5, {"cool_humid_shelf", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_humid_shelf", {"lib_materials:dirt_with_grass_cool_humid_shelf", }, 0.6, {"cool_humid_shelf", }) + add_ore_sheet("lib_materials:dirt_with_coniferous_litter", {"lib_materials:dirt_with_grass_cool_humid_shelf", }, 0.8, {"cool_humid_shelf", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_humid_highland", {"lib_materials:dirt_with_grass_cool_humid_highland", }, 0.8, {"cool_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_humid_highland", {"lib_materials:dirt_with_grass_cool_humid_highland", }, 0.5, {"cool_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_humid_highland", {"lib_materials:dirt_with_grass_cool_humid_highland", }, 0.5, {"cool_humid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_humid_highland", {"lib_materials:dirt_with_grass_cool_humid_highland", }, 0.5, {"cool_humid_highland", }) + add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_humid_highland", {"lib_materials:dirt_with_grass_cool_humid_highland", }, 0.8, {"cool_humid_highland", }) + add_ore_sheet("lib_materials:dirt_with_coniferous_litter", {"lib_materials:dirt_with_grass_cool_humid_highland", }, 1.0, {"cool_humid_highland", }) + + + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semihumid_coastal", {"lib_materials:dirt_with_grass_cool_semihumid_coastal", }, 0.2, {"cool_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semihumid_coastal", {"lib_materials:dirt_with_grass_cool_semihumid_coastal", }, 0.2, {"cool_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semihumid_coastal", {"lib_materials:dirt_with_grass_cool_semihumid_coastal", }, 0.5, {"cool_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semihumid_coastal", {"lib_materials:dirt_with_grass_cool_semihumid_coastal", }, 0.5, {"cool_semihumid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semihumid_coastal", {"lib_materials:dirt_with_grass_cool_semihumid_coastal", }, 0.5, {"cool_semihumid_coastal", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semihumid_lowland", {"lib_materials:dirt_with_grass_cool_semihumid_lowland", }, 0.4, {"cool_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semihumid_lowland", {"lib_materials:dirt_with_grass_cool_semihumid_lowland", }, 0.4, {"cool_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semihumid_lowland", {"lib_materials:dirt_with_grass_cool_semihumid_lowland", }, 0.5, {"cool_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semihumid_lowland", {"lib_materials:dirt_with_grass_cool_semihumid_lowland", }, 0.5, {"cool_semihumid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semihumid_lowland", {"lib_materials:dirt_with_grass_cool_semihumid_lowland", }, 0.5, {"cool_semihumid_lowland", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semihumid_shelf", {"lib_materials:dirt_with_grass_cool_semihumid_shelf", }, 0.6, {"cool_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semihumid_shelf", {"lib_materials:dirt_with_grass_cool_semihumid_shelf", }, 0.6, {"cool_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semihumid_shelf", {"lib_materials:dirt_with_grass_cool_semihumid_shelf", }, 0.5, {"cool_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semihumid_shelf", {"lib_materials:dirt_with_grass_cool_semihumid_shelf", }, 0.5, {"cool_semihumid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semihumid_shelf", {"lib_materials:dirt_with_grass_cool_semihumid_shelf", }, 0.5, {"cool_semihumid_shelf", }) + add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semihumid_highland", {"lib_materials:dirt_with_grass_cool_semihumid_highland", }, 0.8, {"cool_semihumid_highland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semihumid_highland", {"lib_materials:dirt_with_grass_cool_semihumid_highland", }, 0.8, {"cool_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semihumid_highland", {"lib_materials:dirt_with_grass_cool_semihumid_highland", }, 0.5, {"cool_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semihumid_highland", {"lib_materials:dirt_with_grass_cool_semihumid_highland", }, 0.5, {"cool_semihumid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semihumid_highland", {"lib_materials:dirt_with_grass_cool_semihumid_highland", }, 0.5, {"cool_semihumid_highland", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_temperate_coastal", {"lib_materials:dirt_with_grass_cool_temperate_coastal", }, 0.5, {"cool_temperate_coastal", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_temperate_coastal", {"lib_materials:dirt_with_grass_cool_temperate_coastal", }, 0.2, {"cool_temperate_coastal", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_temperate_coastal", {"lib_materials:dirt_with_grass_cool_temperate_coastal", }, 0.2, {"cool_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_temperate_coastal", {"lib_materials:dirt_with_grass_cool_temperate_coastal", }, 0.5, {"cool_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_temperate_coastal", {"lib_materials:dirt_with_grass_cool_temperate_coastal", }, 0.5, {"cool_temperate_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_temperate_lowland", {"lib_materials:dirt_with_grass_cool_temperate_lowland", }, 0.5, {"cool_temperate_lowland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_temperate_lowland", {"lib_materials:dirt_with_grass_cool_temperate_lowland", }, 0.4, {"cool_temperate_lowland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_temperate_lowland", {"lib_materials:dirt_with_grass_cool_temperate_lowland", }, 0.4, {"cool_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_temperate_lowland", {"lib_materials:dirt_with_grass_cool_temperate_lowland", }, 0.5, {"cool_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_temperate_lowland", {"lib_materials:dirt_with_grass_cool_temperate_lowland", }, 0.5, {"cool_temperate_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_temperate_shelf", {"lib_materials:dirt_with_grass_cool_temperate_shelf", }, 0.5, {"cool_temperate_shelf", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_temperate_shelf", {"lib_materials:dirt_with_grass_cool_temperate_shelf", }, 0.6, {"cool_temperate_shelf", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_temperate_shelf", {"lib_materials:dirt_with_grass_cool_temperate_shelf", }, 0.6, {"cool_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_temperate_shelf", {"lib_materials:dirt_with_grass_cool_temperate_shelf", }, 0.5, {"cool_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_temperate_shelf", {"lib_materials:dirt_with_grass_cool_temperate_shelf", }, 0.5, {"cool_temperate_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_temperate_highland", {"lib_materials:dirt_with_grass_cool_temperate_highland", }, 0.5, {"cool_temperate_highland", }) + add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_temperate_highland", {"lib_materials:dirt_with_grass_cool_temperate_highland", }, 0.8, {"cool_temperate_highland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_temperate_highland", {"lib_materials:dirt_with_grass_cool_temperate_highland", }, 0.8, {"cool_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_temperate_highland", {"lib_materials:dirt_with_grass_cool_temperate_highland", }, 0.5, {"cool_temperate_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_temperate_highland", {"lib_materials:dirt_with_grass_cool_temperate_highland", }, 0.5, {"cool_temperate_highland", }) + + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semiarid_coastal", {"lib_materials:dirt_with_grass_cool_semiarid_coastal", }, 0.5, {"cool_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semiarid_coastal", {"lib_materials:dirt_with_grass_cool_semiarid_coastal", }, 0.5, {"cool_semiarid_coastal", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semiarid_coastal", {"lib_materials:dirt_with_grass_cool_semiarid_coastal", }, 0.2, {"cool_semiarid_coastal", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semiarid_coastal", {"lib_materials:dirt_with_grass_cool_semiarid_coastal", }, 0.2, {"cool_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semiarid_coastal", {"lib_materials:dirt_with_grass_cool_semiarid_coastal", }, 0.5, {"cool_semiarid_coastal", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semiarid_lowland", {"lib_materials:dirt_with_grass_cool_semiarid_lowland", }, 0.5, {"cool_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semiarid_lowland", {"lib_materials:dirt_with_grass_cool_semiarid_lowland", }, 0.5, {"cool_semiarid_lowland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semiarid_lowland", {"lib_materials:dirt_with_grass_cool_semiarid_lowland", }, 0.4, {"cool_semiarid_lowland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semiarid_lowland", {"lib_materials:dirt_with_grass_cool_semiarid_lowland", }, 0.4, {"cool_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semiarid_lowland", {"lib_materials:dirt_with_grass_cool_semiarid_lowland", }, 0.5, {"cool_semiarid_lowland", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semiarid_shelf", {"lib_materials:dirt_with_grass_cool_semiarid_shelf", }, 0.5, {"cool_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semiarid_shelf", {"lib_materials:dirt_with_grass_cool_semiarid_shelf", }, 0.5, {"cool_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semiarid_shelf", {"lib_materials:dirt_with_grass_cool_semiarid_shelf", }, 0.6, {"cool_semiarid_shelf", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semiarid_shelf", {"lib_materials:dirt_with_grass_cool_semiarid_shelf", }, 0.6, {"cool_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semiarid_shelf", {"lib_materials:dirt_with_grass_cool_semiarid_shelf", }, 0.5, {"cool_semiarid_shelf", }) + --add_ore_sheet("lib_materials:dirt_black_with_grass_cool_semiarid_highland", {"lib_materials:dirt_with_grass_cool_semiarid_highland", }, 0.5, {"cool_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_brown_with_grass_cool_semiarid_highland", {"lib_materials:dirt_with_grass_cool_semiarid_highland", }, 0.5, {"cool_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_clayey_with_grass_cool_semiarid_highland", {"lib_materials:dirt_with_grass_cool_semiarid_highland", }, 0.8, {"cool_semiarid_highland", }) + add_ore_sheet("lib_materials:dirt_sandy_with_grass_cool_semiarid_highland", {"lib_materials:dirt_with_grass_cool_semiarid_highland", }, 0.8, {"cool_semiarid_highland", }) + --add_ore_sheet("lib_materials:dirt_silty_with_grass_cool_semiarid_highland", {"lib_materials:dirt_with_grass_cool_semiarid_highland", }, 0.5, {"cool_semiarid_highland", }) + +end + +add_dirt_grass_types_as_ore() + +-- minetest.register_ore({ +-- ore_type = "sheet", +-- ore = "lib_materials:dirt_black_with_grass_wet_07", +-- wherein = {"lib_materials:dirt_with_grass_warm_semihumid_coastal", }, +-- clust_size = 40, +-- y_min = -1000, +-- y_max = 31000, +-- noise_threshold = 0.2, +-- noise_params = { +-- offset = 0, +-- scale = 1, +-- spread = {x = 256, y = 256, z = 256}, +-- seed = 4130293965, +-- octaves = 5, +-- persist = 0.60 +-- }, +-- column_height_min = 1, +-- column_height_max = 2, +-- column_midpoint_factor = 0.5, +-- biomes = "warm_semihumid_coastal", +-- }) +-- minetest.register_ore({ +-- ore_type = "sheet", +-- ore = "lib_materials:dirt_black_with_grass_lush_07", +-- wherein = {"lib_materials:dirt_with_grass_warm_semihumid_lowland", }, +-- clust_size = 16, +-- y_min = 0, +-- y_max = 1000, +-- noise_threshold = 0.4, +-- noise_params = { +-- offset = 0, +-- scale = 1, +-- spread = {x = 256, y = 256, z = 256}, +-- seed = 4130293965, +-- octaves = 5, +-- persist = 0.60 +-- }, +-- column_height_min = 1, +-- column_height_max = 2, +-- column_midpoint_factor = 0.5, + -- biomes = "warm_semihumid_lowland" +-- }) +-- minetest.register_ore({ +-- ore_type = "sheet", +-- ore = "lib_materials:dirt_black_with_grass_dry_07", +-- wherein = {"lib_materials:dirt_with_grass_warm_semihumid_shelf", }, +-- clust_size = 40, +-- y_min = -1000, +-- y_max = 31000, +-- noise_threshold = 0.6, +-- noise_params = { +-- offset = 0, +-- scale = 1, +-- spread = {x = 256, y = 256, z = 256}, +-- seed = 4130293965, +-- octaves = 5, +-- persist = 0.60 +-- }, +-- column_height_min = 1, +-- column_height_max = 2, +-- column_midpoint_factor = 0.5, +-- biomes = "warm_semihumid_shelf", +-- }) +-- minetest.register_ore({ +-- ore_type = "blob", +-- ore = "lib_materials:dirt_black_with_grass_brown_07", +-- wherein = {"lib_materials:dirt_with_grass_warm_semihumid_highland", }, +-- 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 +-- }, +-- biomes = "warm_semihumid_lowland", +-- random_factor = 1.0 +-- }) + + + + + +--[[ -- 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 = "default:river_water_source", - wherein = {"groups:stone"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, - y_min = -30, - y_max = 0, - noise_params = { - offset = 0.35, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -316, - octaves = 1, - persist = 0.5 - }, -}) - - - --- Baked Clay within Orange Clay minetest.register_ore({ ore_type = "blob", - ore = "bakedclay:red", - wherein = {"bakedclay:orange"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, - y_min = -10, - y_max = 71, + ore = "lib_materials:fluid_water_river_source", + 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.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 = 163281090, + octaves = 3, + persist = 0.6 }, }) -minetest.register_ore({ - ore_type = "blob", - ore = "bakedclay:grey", - wherein = {"bakedclay:orange"}, - clust_scarcity = 4 * 4 * 4, - clust_num_ores = 8, - clust_size = 6, - y_min = -10, - y_max = 71, - noise_params = { - offset = 0.35, - scale = 0.2, - spread = {x = 5, y = 5, z = 5}, - seed = -613, - octaves = 1, - persist = 0.5 - }, -}) +--Quicksand and Mud + minetest.register_ore({ + ore_type = "blob", + ore = "lib_materials:quicksand", + wherein = {"lib_materials:sand"}, + clust_scarcity = 4 * 4 * 4, + clust_num_ores = 8, + clust_size = 6, + y_min = 4, + y_max = 30, + 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:mud_wet", + wherein = {"lib_materials:dirt_mud_01"}, + clust_scarcity = 4 * 4 * 4, + clust_num_ores = 8, + clust_size = 6, + y_min = 4, + y_max = 30, + noise_params = { + offset = 0.35, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = -316, + octaves = 1, + persist = 0.5 + }, + }) +-- Clay, Sand, Silt within Dirt + minetest.register_ore({ + ore_type = "blob", + ore = "lib_materials:dirt_clayey", + wherein = {"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", "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_clay_white", + wherein = {"lib_materials:dirt", "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_sandy", + wherein = {"lib_materials:dirt", "lib_materials:sand"}, + clust_scarcity = 4 * 4 * 4, + clust_num_ores = 8, + clust_size = 6, + y_min = -10, + y_max = 71, + noise_params = { + offset = 0.35, + scale = 0.2, + spread = {x = 5, y = 5, z = 5}, + seed = -613, + octaves = 1, + persist = 0.5 + }, + }) + minetest.register_ore({ + ore_type = "blob", + ore = "lib_materials:dirt_silty", + wherein = {"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_silt_01", + wherein = {"lib_materials:dirt", "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 + }, + }) + minetest.register_ore({ + ore_type = "blob", + ore = "lib_materials:dirt_silt_02", + wherein = {"lib_materials:dirt", "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:ore_stone_with_quartz", + wherein = "lib_materials:stone", + clust_scarcity = 5000, + clust_num_ores = 10, + clust_size = 5, + y_min = -59, + y_max = -10, + }) + minetest.register_ore({ + ore_type = "scatter", + ore = "lib_materials:ore_stone_with_quartz", + wherein = "lib_materials:desert_stone", + clust_scarcity = 5000, + clust_num_ores = 10, + clust_size = 5, + y_min = -59, + y_max = -10, + }) + minetest.register_ore({ + ore_type = "scatter", + ore = "lib_materials:ore_stone_with_quartz", + wherein = "lib_materials:desert_sandstone", + clust_scarcity = 5000, + clust_num_ores = 10, + clust_size = 5, + y_min = -59, + y_max = -10, + }) + minetest.register_ore({ + ore_type = "scatter", + ore = "lib_materials:ore_stone_with_quartz", + wherein = "lib_materials:sandstone", + clust_scarcity = 5000, + clust_num_ores = 10, + clust_size = 5, + y_min = -59, + y_max = -10, + }) + minetest.register_ore({ + ore_type = "scatter", + ore = "lib_materials:ore_stone_with_quartz", + wherein = "lib_materials:stone_brown", + clust_scarcity = 5000, + clust_num_ores = 10, + clust_size = 5, + y_min = -59, + y_max = -10, + }) + --Adds default ores to desert_stone local add_ore = function(a, b, c, d, e, f, g) @@ -165,33 +1023,605 @@ 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) + add_ore("lib_materials:ore_stone_with_coal", "lib_materials:stone_desert", 24*24*24, 27, 6, -31000, -16) -- Copper + add_ore("lib_materials:ore_stone_with_copper", "lib_materials:stone_desert", 9*9*9, 5, 3, -31000, -64) -add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64) +-- Diamond + add_ore("lib_materials:ore_stone_with_diamond", "lib_materials:stone_desert", 17*17*17, 4, 3, -255, -128) + add_ore("lib_materials:ore_stone_with_diamond", "lib_materials:stone_desert", 15*15*15, 4, 3, -31000, -256) + +-- Gold + add_ore("lib_materials:ore_stone_with_gold", "lib_materials:stone_desert", 15*15*15, 3, 2, -255, -64) + add_ore("lib_materials:ore_stone_with_gold", "lib_materials:stone_desert", 13*13*13, 5, 3, -31000, -256) + +-- Iron + add_ore("lib_materials:ore_stone_with_iron", "lib_materials:stone_desert", 9*9*9, 5, 3, -63, -16) + add_ore("lib_materials:ore_stone_with_iron", "lib_materials:stone_desert", 24*24*24, 27, 6, -31000, -64) + +--Mese + add_ore("lib_materials:ore_stone_with_mese", "lib_materials:stone_desert", 14*14*14, 5, 3, -31000, -256) -- Coral Sand -add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10) +--add_ore("lib_materials:sandy", "lib_materials:sand", 10*10*10, 24, 4, -100, -10) + + +-- technic lead and moreores silver + add_ore("lib_materials:ore_stone_with_lead", "lib_materials:stone", 10*10*10, 24, 4, -100, -10) + add_ore("lib_materials:ore_stone_with_lead", "default:stone_desert", 10*10*10, 24, 4, -100, -10) + add_ore("lib_materials:ore_stone_with_lead", "lib_materials:stone_brown", 10*10*10, 24, 4, -100, -10) + add_ore("lib_materials:ore_stone_with_silver", "lib_materials:stone", 10*10*10, 24, 4, -100, -10) + add_ore("lib_materials:ore_stone_with_silver", "default:stone_desert", 10*10*10, 24, 4, -100, -10) + add_ore("lib_materials:ore_stone_with_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 +--]] + +-- Generate desert stone with iron in derset. + minetest.register_ore({ + ore_type = "scatter", + ore = "lib_materials:ore_stone_desert_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_sound_defaults.lua b/lib_materials_sound_defaults.lua new file mode 100644 index 0000000..35cb67b --- /dev/null +++ b/lib_materials_sound_defaults.lua @@ -0,0 +1,254 @@ +-- +-- Sounds +-- + +function lib_materials.node_sound_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "", gain = 1.0} + table.dug = table.dug or + {name = "default_dug_node", gain = 0.25} + table.place = table.place or + {name = "default_place_node_hard", gain = 1.0} + return table +end + +function lib_materials.node_sound_stone_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_hard_footstep", gain = 0.3} + table.dug = table.dug or + {name = "default_hard_footstep", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_dirt_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_dirt_footstep", gain = 0.4} + table.dug = table.dug or + {name = "default_dirt_footstep", gain = 1.0} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_sand_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_sand_footstep", gain = 0.12} + table.dug = table.dug or + {name = "default_sand_footstep", gain = 0.24} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_gravel_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_gravel_footstep", gain = 0.4} + table.dug = table.dug or + {name = "default_gravel_footstep", gain = 1.0} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_wood_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_wood_footstep", gain = 0.3} + table.dug = table.dug or + {name = "default_wood_footstep", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_leaves_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_grass_footstep", gain = 0.45} + table.dug = table.dug or + {name = "default_grass_footstep", gain = 0.7} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_glass_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_glass_footstep", gain = 0.3} + table.dig = table.dig or + {name = "default_glass_footstep", gain = 0.5} + table.dug = table.dug or + {name = "default_break_glass", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_metal_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_metal_footstep", gain = 0.4} + table.dig = table.dig or + {name = "default_dig_metal", gain = 0.5} + table.dug = table.dug or + {name = "default_dug_metal", gain = 0.5} + table.place = table.place or + {name = "default_place_node_metal", gain = 0.5} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_water_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_water_footstep", gain = 0.2} + lib_materials.node_sound_defaults(table) + return table +end + +function lib_materials.node_sound_snow_defaults(table) + table = table or {} + table.footstep = table.footstep or + {name = "default_snow_footstep", gain = 0.2} + table.dig = table.dig or + {name = "default_snow_footstep", gain = 0.3} + table.dug = table.dug or + {name = "default_snow_footstep", gain = 0.3} + table.place = table.place or + {name = "default_place_node", gain = 1.0} + lib_materials.node_sound_defaults(table) + return table +end + + +-- +-- Lavacooling +-- + +lib_materials.cool_lava = function(pos, node) + if node.name == "default:lava_source" then + minetest.set_node(pos, {name = "default:obsidian"}) + else -- Lava flowing + minetest.set_node(pos, {name = "default:stone"}) + end + minetest.sound_play("default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.25}) +end + +if minetest.settings:get_bool("enable_lavacooling") ~= false then + minetest.register_abm({ + label = "Lava cooling", + nodenames = {"default:lava_source", "default:lava_flowing"}, + neighbors = {"group:cools_lava", "group:water"}, + interval = 2, + chance = 2, + catch_up = false, + action = function(...) + lib_materials.cool_lava(...) + end, + }) +end + + + +-- -- -- +-- -- -- Convert dirt to something that fits the environment +-- -- -- +-- -- minetest.register_abm({ + -- -- label = "Grass spread", + -- -- nodenames = {"default:dirt"}, + -- -- neighbors = { + -- -- "air", + -- -- "group:grass", + -- -- "group:dry_grass", + -- -- "default:snow", + -- -- }, + -- -- interval = 6, + -- -- chance = 50, + -- -- catch_up = false, + -- -- action = function(pos, node) + -- -- -- Check for darkness: night, shadow or under a light-blocking node + -- -- -- Returns if ignore above + -- -- local above = {x = pos.x, y = pos.y + 1, z = pos.z} + -- -- if (minetest.get_node_light(above) or 0) < 13 then + -- -- return + -- -- end + + -- -- -- Look for spreading dirt-type neighbours + -- -- local p2 = minetest.find_node_near(pos, 1, "group:spreading_dirt_type") + -- -- if p2 then + -- -- local n3 = minetest.get_node(p2) + -- -- minetest.set_node(pos, {name = n3.name}) + -- -- return + -- -- end + + -- -- -- Else, any seeding nodes on top? + -- -- local name = minetest.get_node(above).name + -- -- -- Snow check is cheapest, so comes first + -- -- if name == "default:snow" then + -- -- minetest.set_node(pos, {name = "default:dirt_with_snow"}) + -- -- -- Most likely case first + -- -- elseif minetest.get_item_group(name, "grass") ~= 0 then + -- -- minetest.set_node(pos, {name = "default:dirt_with_grass"}) + -- -- elseif minetest.get_item_group(name, "dry_grass") ~= 0 then + -- -- minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) + -- -- end + -- -- end +-- -- }) + + +-- -- -- +-- -- -- Grass and dry grass removed in darkness +-- -- -- +-- -- minetest.register_abm({ + -- -- label = "Grass covered", + -- -- nodenames = {"group:spreading_dirt_type"}, + -- -- interval = 8, + -- -- chance = 50, + -- -- catch_up = false, + -- -- action = function(pos, node) + -- -- local above = {x = pos.x, y = pos.y + 1, z = pos.z} + -- -- local name = minetest.get_node(above).name + -- -- local nodedef = minetest.registered_nodes[name] + -- -- if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or + -- -- nodedef.paramtype == "light") and + -- -- nodedef.liquidtype == "none") then + -- -- minetest.set_node(pos, {name = "default:dirt"}) + -- -- end + -- -- end +-- -- }) + + +-- -- -- +-- -- -- Moss growth on cobble near water +-- -- -- +-- -- minetest.register_abm({ + -- -- label = "Moss growth", + -- -- nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble", "walls:cobble"}, + -- -- neighbors = {"group:water"}, + -- -- interval = 16, + -- -- chance = 200, + -- -- catch_up = false, + -- -- action = function(pos, node) + -- -- if node.name == "default:cobble" then + -- -- minetest.set_node(pos, {name = "default:mossycobble"}) + -- -- elseif node.name == "stairs:slab_cobble" then + -- -- minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2}) + -- -- elseif node.name == "stairs:stair_cobble" then + -- -- minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2}) + -- -- elseif node.name == "walls:cobble" then + -- -- minetest.set_node(pos, {name = "walls:mossycobble", param2 = node.param2}) + -- -- end + -- -- end +-- -- }) + + 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/mod.conf b/mod.conf new file mode 100644 index 0000000..2e3d744 --- /dev/null +++ b/mod.conf @@ -0,0 +1,4 @@ +name=lib_materials +description=A collection of naturally occuring materials, including: sand, clay, dirt, stone, ore, metals, glass, various water types, oil, lava, grease, liquid soils, and decorative stones. +depends= +optional_depends=default,stairs \ No newline at end of file diff --git a/screenshot.jpg b/screenshot.jpg new file mode 100644 index 0000000..84b55c8 Binary files /dev/null and b/screenshot.jpg differ diff --git a/type_dirt.lua b/type_dirt.lua index 0514d25..b3084f7 100644 --- a/type_dirt.lua +++ b/type_dirt.lua @@ -1,4 +1,1518 @@ +local S = lib_materials.intllib + +--Additional Dirts + +local GRASS_COASTAL_TEXTURE_TOP = "lib_materials_grass_coastal_top.png" +local GRASS_COASTAL_TEXTURE_SIDE = "lib_materials_grass_coastal_side.png" +local GRASS_LOWLAND_TEXTURE_TOP = "lib_materials_grass_lowland_top.png" +local GRASS_LOWLAND_TEXTURE_SIDE = "lib_materials_grass_lowland_side.png" +local GRASS_SHELF_TEXTURE_TOP = "lib_materials_grass_shelf_top.png" +local GRASS_SHELF_TEXTURE_SIDE = "lib_materials_grass_shelf_side.png" +local GRASS_HIGHLAND_TEXTURE_TOP = "lib_materials_grass_highland_top.png" +local GRASS_HIGHLAND_TEXTURE_SIDE = "lib_materials_grass_highland_side.png" + +local GRASS_HUMID_PALETTE_1 = "#43e9a5:80" +local GRASS_HUMID_PALETTE_2 = "#36e44b:80" +local GRASS_HUMID_PALETTE_3 = "#81da62:80" +local GRASS_HUMID_PALETTE_4 = "#93fc54:80" +local GRASS_SEMIHUMID_PALETTE_1 = "#69e942:80" +local GRASS_SEMIHUMID_PALETTE_2 = "#b1e436:80" +local GRASS_SEMIHUMID_PALETTE_3 = "#dacf61:80" +local GRASS_SEMIHUMID_PALETTE_4 = "#fcd953:80" +local GRASS_TEMPERATE_PALETTE_1 = "#ace943:80" +local GRASS_TEMPERATE_PALETTE_2 = "#e4d136:80" +local GRASS_TEMPERATE_PALETTE_3 = "#daa062:80" +local GRASS_TEMPERATE_PALETTE_4 = "#fc9754:80" +local GRASS_SEMIARID_PALETTE_1 = "#e9df43:80" +local GRASS_SEMIARID_PALETTE_2 = "#e48836:80" +local GRASS_SEMIARID_PALETTE_3 = "#da6e62:80" +local GRASS_SEMIARID_PALETTE_4 = "#fc5458:80" + +--[[ ALT COLOR VALUES +--DEFAULTS +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" + +--CUSTOM +local GRASS_LUSH_PALETTE_1 = {":80", "#:80", ":80", ":80"} +local GRASS_LUSH_PALETTE_2 = {":80", "#:80", ":80", ":80"} +local GRASS_LUSH_PALETTE_3 = {":80", "#:80", ":80", ":80"} +local GRASS_LUSH_PALETTE_4 = {":80", "#:80", ":80", ":80"} + +local GRASS_DRY_PALETTE_1 = {"ed996b:80", "#d7b353:80", "d3e420:80", "c2ee10:80"} +local GRASS_DRY_PALETTE_2 = {"fa8e6c:80", "#ea9a6a:80", "dcbc3e:80", "e0e818:80"} +local GRASS_DRY_PALETTE_3 = {"fd9579:80", "#f49a6e:80", "d9a34d:80", "e4d426:80"} +local GRASS_DRY_PALETTE_4 = {"fb9a6b:80", "#f7954d:80", "e8983a:80", "e2b52c:80"} + +local GRASS_BROWN_PALETTE_1 = {"ed6b74:80", "#d77c53:80", "e4a120:80", "eebc10:80"} +local GRASS_BROWN_PALETTE_2 = {"fa6c87:80", "#ea6a70:80", "dc7a3e:80", "e89718:80"} +local GRASS_BROWN_PALETTE_3 = {"fd7995:80", "#f46e7b:80", "d9674d:80", "e48426:80"} +local GRASS_BROWN_PALETTE_4 = {"fb6b78:80", "f74d4d:80", "e84f3a:80", "e2682c:80"} + +local GRASS_BLUE_PALETTE_1 = {":80", "#:80", ":80", ":80"} +local GRASS_BLUE_PALETTE_2 = {":80", "#:80", ":80", ":80"} +local GRASS_BLUE_PALETTE_3 = {":80", "#:80", ":80", ":80"} +local GRASS_BLUE_PALETTE_4 = {":80", "#:80", ":80", ":80"} + +--]] + +local GRASS_WET_PALETTE_1 = "#43e9a5:80" +local GRASS_WET_PALETTE_2 = "#36e44b:80" +local GRASS_WET_PALETTE_3 = "#81da62:80" +local GRASS_WET_PALETTE_4 = "#93fc54:80" +local GRASS_LUSH_PALETTE_1 = "#69e942:80" +local GRASS_LUSH_PALETTE_2 = "#b1e436:80" +local GRASS_LUSH_PALETTE_3 = "#dacf61:80" +local GRASS_LUSH_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_default_top.png" +local GRASS_TEXTURE_SIDE = "lib_materials_grass_default_side.png" +local GRASS_BW_TEXTURE_TOP = "lib_materials_grass_bw_top.png" +local GRASS_BW_TEXTURE_SIDE = "lib_materials_grass_bw_side.png" +local GRASS_BROWN_TEXTURE_TOP = "lib_materials_grass_brown_top.png" +local GRASS_BROWN_TEXTURE_SIDE = "lib_materials_grass_brown_side.png" +local GRASS_DRY_TEXTURE_TOP = "lib_materials_grass_dry_default_top.png" +local GRASS_DRY_TEXTURE_SIDE = "lib_materials_grass_dry_default_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" + + +--Baked Clay + minetest.register_node("lib_materials:clay_baked_black", { + description = S("Baked Clay - baked_black"), + tiles = {"lib_materials_clay_baked_black.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_blue", { + description = S("Baked Clay - baked_blue"), + tiles = {"lib_materials_clay_baked_blue.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_brown", { + description = S("Baked Clay - baked_brown"), + tiles = {"lib_materials_clay_baked_brown.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_cyan", { + description = S("Baked Clay - baked_cyan"), + tiles = {"lib_materials_clay_baked_cyan.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_dark_green", { + description = S("Baked Clay - dark_green"), + tiles = {"lib_materials_clay_baked_dark_green.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_dark_grey", { + description = S("Baked Clay - dark_grey"), + tiles = {"lib_materials_clay_baked_dark_grey.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_green", { + description = S("Baked Clay - Green"), + tiles = {"lib_materials_clay_baked_green.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_grey", { + description = S("Baked Clay - Grey"), + tiles = {"lib_materials_clay_baked_grey.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_magenta", { + description = S("Baked Clay - Magenta"), + tiles = {"lib_materials_clay_baked_magenta.png"}, + groups = {cracky = 3, baked_clay = 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_baked_orange.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_pink", { + description = S("Baked Clay - Pink"), + tiles = {"lib_materials_clay_baked_pink.png"}, + groups = {cracky = 3, baked_clay = 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_baked_red.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_violet", { + description = S("Baked Clay - Violet"), + tiles = {"lib_materials_clay_baked_violet.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_white", { + description = S("Baked Clay - White"), + tiles = {"lib_materials_clay_baked_white.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:clay_baked_yellow", { + description = S("Baked Clay - Yellow"), + tiles = {"lib_materials_clay_baked_yellow.png"}, + groups = {cracky = 3, baked_clay = 3}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + }) + +-- Darkage darkdirt, mud + minetest.register_node("lib_materials:dirt_mud_dried", { + description = S("Dirt - Mud Dried"), + tiles = {"lib_materials_dirt_mud_dried_top.png","lib_materials_dirt_mud_dried_side.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:dirt_mud_lump", { + description = "Dirt - Mud Lump", + inventory_image = "lib_materials_dirt_mud_lump.png", + }) + minetest.register_craftitem("lib_materials:dirt_silt_lump", { + description = "Dirt - Silt Lump", + inventory_image = "lib_materials_dirt_silt_lump.png", + }) + +--Default + minetest.register_node("lib_materials:dirt_permafrost", { + description = "Dirt - Permafrost", + tiles = {"lib_materials_dirt_permafrost.png"}, + groups = {crumbly = 3, soil = 1}, + sounds = default.node_sound_dirt_defaults(), + }) + minetest.register_craftitem("lib_materials:dirt_clay_white_lump", { + description = S("Dirt - Clay Lump"), + inventory_image = "lib_materials_dirt_clay_lump.png", + }) + minetest.register_craftitem("lib_materials:clay_brick", { + description = S("Clay Brick"), + inventory_image = "lib_materials_clay_brick.png", + }) + + minetest.override_item("default:clay", {description = "White Clay"}) + +-- 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 = "Grass - Fungi Covered", + 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_grass_pete_moss", { + description = "Dirt with Pete Moss", + tiles = {"lib_materials_grass_pete_moss_top.png", "lib_materials_grass_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},}), + }) + +-- Rocks/Minerals mod + minetest.register_node("lib_materials:dirt_sod", { + description = "Dirt - Sod", + tiles = {"lib_materials_dirt_sod.png"}, + groups = {crumbly = 3, soil = 1}, + sounds = default.node_sound_dirt_defaults(), + }) + +-- Add dirts +local grass_types = { + "hot_humid", "hot_semihumid", "hot_temperate", "hot_semiarid", "hot_arid", + "warm_humid", "warm_semihumid", "warm_temperate", "warm_semiarid", "warm_arid", + "temperate_humid", "temperate_semihumid", "temperate_temperate", "temperate_semiarid", "temperate_arid", + "cool_humid", "cool_semihumid", "cool_temperate", "cool_semiarid", "cool_arid", + "cold_humid", "cold_semihumid", "cold_temperate", "cold_semiarid", "cold_arid", +} + +local function register_dirts2(readname) + local name = readname:lower() + local itemstr_dirt = "lib_materials:" .. name + local tilestr = "lib_materials_" .. name .. ".png" + + minetest.register_node(itemstr_dirt, { + description = readname, + 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" + }, + }) + + -- local itemstr_coniferous = itemstr_dirt .. "_with_coniferous_litter" + -- local itemstr_rain = itemstr_dirt .. "_with_rainforest_litter" + -- local itemstr_snow = itemstr_dirt .. "_with_snow" + minetest.register_node(itemstr_dirt .. "_with_coniferous_litter", { + description = readname .. " with Coniferous Litter", + tiles = {"lib_materials_litter_coniferous.png", tilestr, tilestr .. "^lib_materials_litter_coniferous_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_rainforest_litter", { + description = readname .. " with Rainforest Litter", + tiles = {"lib_materials_litter_rainforest.png", tilestr, tilestr .. "^lib_materials_litter_rainforest_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_snow", { + description = readname .. " with Snow", + tiles = {"lib_materials_snow.png", tilestr, tilestr .. "^lib_materials_snow_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_snow_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_hot_humid_coastal", { + description = readname .. " with Grass (hot_humid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_humid_lowland", { + description = readname .. " Dirt with Grass (hot_humid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_humid_shelf", { + description = readname .. " Dirt with Grass (hot_humid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_humid_highland", { + description = readname .. " Dirt with Grass (hot_humid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semihumid_coastal", { + description = readname .. " Dirt with Grass (hot_semihumid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semihumid_lowland", { + description = readname .. " Dirt with Grass (hot_semihumid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semihumid_shelf", { + description = readname .. " Dirt with Grass (hot_semihumid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semihumid_highland", { + description = readname .. " Dirt with Grass (hot_semihumid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_temperate_coastal", { + description = readname .. " Dirt with Grass (hot_temperate_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_temperate_lowland", { + description = readname .. " Dirt with Grass (hot_temperate_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_temperate_shelf", { + description = readname .. " Dirt with Grass (hot_temperate_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_temperate_highland", { + description = readname .. " Dirt with Grass (hot_temperate_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semiarid_coastal", { + description = readname .. " Dirt with Grass (hot_semiarid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semiarid_lowland", { + description = readname .. " Dirt with Grass (hot_semiarid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semiarid_shelf", { + description = readname .. " Dirt with Grass (hot_semiarid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_hot_semiarid_highland", { + description = readname .. " Dirt with Grass (hot_semiarid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_warm_humid_coastal", { + description = readname .. " Dirt with Grass (warm_humid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_humid_lowland", { + description = readname .. " Dirt with Grass (warm_humid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_humid_shelf", { + description = readname .. " Dirt with Grass (warm_humid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_humid_highland", { + description = readname .. " Dirt with Grass (warm_humid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semihumid_coastal", { + description = readname .. " Dirt with Grass (warm_semihumid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semihumid_lowland", { + description = readname .. " Dirt with Grass (warm_semihumid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semihumid_shelf", { + description = readname .. " Dirt with Grass (warm_semihumid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semihumid_highland", { + description = readname .. " Dirt with Grass (warm_semihumid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_temperate_coastal", { + description = readname .. " Dirt with Grass (warm_temperate_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_temperate_lowland", { + description = readname .. " Dirt with Grass (warm_temperate_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_temperate_shelf", { + description = readname .. " Dirt with Grass (warm_temperate_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_temperate_highland", { + description = readname .. " Dirt with Grass (warm_temperate_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semiarid_coastal", { + description = readname .. " Dirt with Grass (warm_semiarid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semiarid_lowland", { + description = readname .. " Dirt with Grass (warm_semiarid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semiarid_shelf", { + description = readname .. " Dirt with Grass (warm_semiarid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_warm_semiarid_highland", { + description = readname .. " Dirt with Grass (warm_semiarid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_humid_coastal", { + description = readname .. " Dirt with Grass (temperate_humid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_humid_lowland", { + description = readname .. " Dirt with Grass (temperate_humid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_humid_shelf", { + description = readname .. " Dirt with Grass (temperate_humid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_humid_highland", { + description = readname .. " Dirt with Grass (temperate_humid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semihumid_coastal", { + description = readname .. " Dirt with Grass (temperate_semihumid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semihumid_lowland", { + description = readname .. " Dirt with Grass (temperate_semihumid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semihumid_shelf", { + description = readname .. " Dirt with Grass (temperate_semihumid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semihumid_highland", { + description = readname .. " Dirt with Grass (temperate_semihumid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_temperate_coastal", { + description = readname .. " Dirt with Grass (temperate_temperate_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_temperate_lowland", { + description = readname .. " Dirt with Grass (temperate_temperate_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_temperate_shelf", { + description = readname .. " Dirt with Grass (temperate_temperate_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_temperate_highland", { + description = readname .. " Dirt with Grass (temperate_temperate_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semiarid_coastal", { + description = readname .. " Dirt with Grass (temperate_semiarid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semiarid_lowland", { + description = readname .. " Dirt with Grass (temperate_semiarid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semiarid_shelf", { + description = readname .. " Dirt with Grass (temperate_semiarid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_temperate_semiarid_highland", { + description = readname .. " Dirt with Grass (temperate_semiarid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_cool_humid_coastal", { + description = readname .. " Dirt with Grass (cool_humid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_humid_lowland", { + description = readname .. " Dirt with Grass (cool_humid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_humid_shelf", { + description = readname .. " Dirt with Grass (cool_humid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_humid_highland", { + description = readname .. " Dirt with Grass (cool_humid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_HUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_HUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semihumid_coastal", { + description = readname .. " Dirt with Grass (cool_semihumid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semihumid_lowland", { + description = readname .. " Dirt with Grass (cool_semihumid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semihumid_shelf", { + description = readname .. " Dirt with Grass (cool_semihumid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semihumid_highland", { + description = readname .. " Dirt with Grass (cool_semihumid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIHUMID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_temperate_coastal", { + description = readname .. " Dirt with Grass (cool_temperate_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_temperate_lowland", { + description = readname .. " Dirt with Grass (cool_temperate_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_temperate_shelf", { + description = readname .. " Dirt with Grass (cool_temperate_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_temperate_highland", { + description = readname .. " Dirt with Grass (cool_temperate_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_TEMPERATE_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semiarid_coastal", { + description = readname .. " Dirt with Grass (cool_semiarid_coastal)", + tiles = {""..GRASS_COASTAL_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_COASTAL_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semiarid_lowland", { + description = readname .. " Dirt with Grass (cool_semiarid_lowland)", + tiles = {""..GRASS_LOWLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_LOWLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semiarid_shelf", { + description = readname .. " Dirt with Grass (cool_semiarid_shelf)", + tiles = {""..GRASS_SHELF_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_SHELF_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_cool_semiarid_highland", { + description = readname .. " Dirt with Grass (cool_semiarid_highland)", + tiles = {""..GRASS_HIGHLAND_TEXTURE_TOP.."^[colorize:"..GRASS_SEMIARID_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_HIGHLAND_TEXTURE_SIDE.."^[colorize:"..GRASS_SEMIARID_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + + minetest.register_node(itemstr_dirt .. "_with_grass_wet_01", { + description = readname .. " Dirt with Grass (Wet 01)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_02", { + description = readname .. " Dirt with Grass (Wet 02)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_03", { + description = readname .. " Dirt with Grass (Wet 03)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_04", { + description = readname .. " Dirt with Grass (Wet 04)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_05", { + description = readname .. " Dirt with Grass (Wet 05)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_06", { + description = readname .. " Dirt with Grass (Wet 06)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_07", { + description = readname .. " Dirt with Grass (Wet 07)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_08", { + description = readname .. " Dirt with Grass (Wet 08)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_09", { + description = readname .. " Dirt with Grass (Wet 09)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_10", { + description = readname .. " Dirt with Grass (Wet 10)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_11", { + description = readname .. " Dirt with Grass (Wet 11)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_12", { + description = readname .. " Dirt with Grass (Wet 12)", + tiles = {""..GRASS_JUNGLE_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_JUNGLE_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_13", { + description = readname .. " Dirt with Grass (Wet 13)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_14", { + description = readname .. " Dirt with Grass (Wet 14)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_15", { + description = readname .. " Dirt with Grass (Wet 15)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_wet_16", { + description = readname .. " Dirt with Grass (Wet 16)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_lush_01", { + description = readname .. " Dirt with Grass (Lush 01)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_02", { + description = readname .. " Dirt with Grass (Lush 02)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_03", { + description = readname .. " Dirt with Grass (Lush 03)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_04", { + description = readname .. " Dirt with Grass (Lush 04)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_05", { + description = readname .. " Dirt with Grass (Lush 05)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_06", { + description = readname .. " Dirt with Grass (Lush 06)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_07", { + description = readname .. " Dirt with Grass (Lush 07)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_08", { + description = readname .. " Dirt with Grass (Lush 08)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_09", { + description = readname .. " Dirt with Grass (Lush 09)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_10", { + description = readname .. " Dirt with Grass (Lush 10)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_11", { + description = readname .. " Dirt with Grass (Lush 11)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_12", { + description = readname .. " Dirt with Grass (Lush 12)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_13", { + description = readname .. " Dirt with Grass (Lush 13)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_14", { + description = readname .. " Dirt with Grass (Lush 14)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_15", { + description = readname .. " Dirt with Grass (Lush 15)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_lush_16", { + description = readname .. " Dirt with Grass (Lush 16)", + tiles = {""..GRASS_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_dry_01", { + description = readname .. " Dirt with Grass (Dry 01)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_02", { + description = readname .. " Dirt with Grass (Dry 02)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_03", { + description = readname .. " Dirt with Grass (Dry 03)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_04", { + description = readname .. " Dirt with Grass (Dry 04)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_05", { + description = readname .. " Dirt with Grass (Dry 05)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_06", { + description = readname .. " Dirt with Grass (Dry 06)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_07", { + description = readname .. " Dirt with Grass (Dry 07)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_08", { + description = readname .. " Dirt with Grass (Dry 08)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_09", { + description = readname .. " Dirt with Grass (Dry 09)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_10", { + description = readname .. " Dirt with Grass (Dry 10)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_11", { + description = readname .. " Dirt with Grass (Dry 11)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_12", { + description = readname .. " Dirt with Grass (Dry 12)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_13", { + description = readname .. " Dirt with Grass (Dry 13)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_14", { + description = readname .. " Dirt with Grass (Dry 14)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_15", { + description = readname .. " Dirt with Grass (Dry 15)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_dry_16", { + description = readname .. " Dirt with Grass (Dry 16)", + tiles = {""..GRASS_DRY_TEXTURE_TOP.."^[colorize:"..GRASS_BROWN_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_DRY_TEXTURE_SIDE.."^[colorize:"..GRASS_BROWN_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + + minetest.register_node(itemstr_dirt .. "_with_grass_brown_01", { + description = readname .. " Dirt with Grass (Brown 01)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_02", { + description = readname .. " Dirt with Grass (Brown 02)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_03", { + description = readname .. " Dirt with Grass (Brown 03)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_04", { + description = readname .. " Dirt with Grass (Brown 04)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_WET_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_WET_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_05", { + description = readname .. " Dirt with Grass (Brown 05)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_06", { + description = readname .. " Dirt with Grass (Brown 06)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_07", { + description = readname .. " Dirt with Grass (Brown 07)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_08", { + description = readname .. " Dirt with Grass (Brown 08)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_LUSH_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_LUSH_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_09", { + description = readname .. " Dirt with Grass (Brown 09)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_1.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_1..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_10", { + description = readname .. " Dirt with Grass (Brown 10)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_2.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_2..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_11", { + description = readname .. " Dirt with Grass (Brown 11)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_3.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_3..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_12", { + description = readname .. " Dirt with Grass (Brown 12)", + tiles = {""..GRASS_BROWN_TEXTURE_TOP.."^[colorize:"..GRASS_DRY_PALETTE_4.."", tilestr, tilestr .. "^("..GRASS_BROWN_TEXTURE_SIDE.."^[colorize:"..GRASS_DRY_PALETTE_4..")"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_13", { + description = readname .. " Dirt with Grass (Brown 13)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_14", { + description = readname .. " Dirt with Grass (Brown 14)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_15", { + description = readname .. " Dirt with Grass (Brown 15)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_grass_brown_16", { + description = readname .. " Dirt with Grass (Brown 16)", + 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 = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + +end + + register_dirts2("Dirt") + register_dirts2("Dirt_Brown") + register_dirts2("Dirt_Black") + register_dirts2("Dirt_Clay_Red") + register_dirts2("Dirt_Clay_White") + register_dirts2("Dirt_Clayey") + register_dirts2("Dirt_Sandy") + register_dirts2("Dirt_Silt_01") + register_dirts2("Dirt_Silt_02") + register_dirts2("Dirt_Silty") + +local function register_dirts(readname) + local name = readname:lower() + local itemstr_dirt = "lib_materials:" .. name + local tilestr = "lib_materials_" .. name .. ".png" + + minetest.register_node(itemstr_dirt, { + description = readname, + tiles = {tilestr}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + sounds = default.node_sound_dirt_defaults(), + }) + + minetest.register_node(itemstr_dirt .. "_with_coniferous_litter", { + description = readname .. " with Coniferous Litter", + tiles = {"lib_materials_litter_coniferous.png", tilestr, tilestr .. "^lib_materials_litter_coniferous_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_rainforest_litter", { + description = readname .. " with Rainforest Litter", + tiles = {"lib_materials_litter_rainforest.png", tilestr, tilestr .. "^lib_materials_litter_rainforest_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain=0.25},}), + }) + minetest.register_node(itemstr_dirt .. "_with_snow", { + description = readname .. " with Snow", + tiles = {"lib_materials_snow.png", tilestr, tilestr .. "^lib_materials_snow_side.png"}, + is_ground_content = true, + groups = {crumbly=3,soil=1}, + drop = itemstr_dirt, + sounds = lib_materials.node_sound_dirt_defaults({footstep = {name="default_snow_footstep", gain=0.25},}), + }) + + +end + + register_dirts("Dirt_Coarse") + register_dirts("Dirt_Dark") + register_dirts("Dirt_Dry") + register_dirts("Dirt_Mud_01") -local S = lib_materials.gettext diff --git a/type_fluids.lua b/type_fluids.lua new file mode 100644 index 0000000..4f3539b --- /dev/null +++ b/type_fluids.lua @@ -0,0 +1,1228 @@ + +local S = lib_materials.intllib + + +--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 +-- + +--Dev Liquid +minetest.register_node("lib_materials:fluid_liquid_source", { + description = S("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:fluid_liquid_flowing", + liquid_alternative_source = "lib_materials:fluid_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}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_liquid_flowing", { + description = S("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:fluid_liquid_flowing", + liquid_alternative_source = "lib_materials:fluid_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}, + sounds = lib_materials.node_sound_water_defaults(), +}) + +--Water +minetest.register_node("lib_materials:fluid_water_source", { + description = S("Water Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_water_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + special_tiles = { + -- New-style lava source material (mostly unused) + { + name = "lib_materials_fluid_water_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + backface_culling = false, + }, + }, + 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:fluid_water_flowing", + liquid_alternative_source = "lib_materials:fluid_water_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 30, g = 60, b = 90}, + groups = {water = 3, liquid = 3, cools_lava}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_flowing", { + description = S("Flowing Water"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_water.png"}, + special_tiles = { + { + name = "lib_materials_fluid_water_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + { + name = "lib_materials_fluid_water_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + }, + 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:fluid_water_flowing", + liquid_alternative_source = "lib_materials:fluid_water_source", + liquid_viscosity = 1, + liquid_renewable = false, + post_effect_color = {a = 191, r = 255, g = 64, b = 0}, + groups = {water = 3, liquid = 2, not_in_creative_inventory = 1}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_river_source", { + description = S("River Water Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_river_water_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + special_tiles = { + -- New-style lava source material (mostly unused) + { + name = "lib_materials_fluid_river_water_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + backface_culling = false, + }, + }, + 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:fluid_water_river_flowing", + liquid_alternative_source = "lib_materials:fluid_water_river_source", + liquid_viscosity = 7, + liquid_renewable = false, + damage_per_second = 4 * 2, + post_effect_color = {a = 191, r = 255, g = 64, b = 0}, + groups = {water = 3, liquid = 2}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_river_flowing", { + description = S("Flowing River Water"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_river_water.png"}, + special_tiles = { + { + name = "lib_materials_fluid_river_water_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + { + name = "lib_materials_fluid_river_water_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + }, + 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:fluid_water_river_flowing", + liquid_alternative_source = "lib_materials:fluid_water_river_source", + liquid_viscosity = 7, + liquid_renewable = false, + damage_per_second = 4 * 2, + post_effect_color = {a = 191, r = 255, g = 64, b = 0}, + groups = {water = 3, liquid = 2, not_in_creative_inventory = 1}, + sounds = lib_materials.node_sound_water_defaults(), +}) + + +minetest.register_node("lib_materials:fluid_water_dirty_source", { + description = S("Dirty Water Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_water_dirty_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + }, + special_tiles = { + { + name = "lib_materials_fluid_water_dirty_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:fluid_water_dirty_flowing", + liquid_alternative_source = ",lib_materials:fluid_water_dirty_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 = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_dirty_flowing", { + description = S("Flowing Dirty Water"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_water_dirty_source"}, + special_tiles = { + { + name = "lib_materials_fluid_water_dirty_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + { + name = "lib_materials_fluid_water_dirty_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:fluid_water_dirty_flowing", + liquid_alternative_source = "lib_materials:fluid_water_dirty_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 = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_murky_source", { + description = S("Murky Water Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_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 = "lib_materials_fluid_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:fluid_water_murky_flowing", + liquid_alternative_source = "lib_materials:fluid_water_murky_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 = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_murky_flowing", { + description = S("Murky Flowing Water"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_water.png^[colorize:#1F1F00:alpha"}, + special_tiles = { + { + name = "lib_materials_fluid_water_flowing_animated.png^[colorize:#1F1F00:alpha", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "lib_materials_fluid_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:fluid_water_murky_flowing", + liquid_alternative_source = "lib_materials:fluid_water_murky_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 = lib_materials.node_sound_water_defaults(), +}) + +minetest.register_node("lib_materials:fluid_water_river_muddy_source", { + description = S("Muddy River Water Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_water_river_muddy_flowing.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 2.0, + }, + }, + }, + special_tiles = { + { + name = "lib_materials_fluid_water_river_muddy_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 = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_water_river_muddy_flowing", { + description = S("Muddy Flowing River Water"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_water_river_muddy_source.png"}, + special_tiles = { + { + name = "lib_materials_fluid_water_river_muddy_flowing.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "lib_materials_fluid_water_river_muddy_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 = lib_materials.node_sound_water_defaults(), +}) + + +--Quicksand as fluid. Will spread like lava +minetest.register_node("lib_materials:fluid_quicksand_source", { + description = S("Quicksand Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_quicksand_source_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + special_tiles = { + -- New-style lava source material (mostly unused) + { + name = "lib_materials_fluid_quicksand_source_animated.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:fluid_quicksand_flowing", + liquid_alternative_source = "lib_materials:fluid_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:fluid_quicksand_flowing", { + description = S("Flowing Quicksand"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_quicksand_source.png"}, + special_tiles = { + { + name = "lib_materials_fluid_quicksand_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + { + name = "lib_materials_fluid_quicksand_flowing_animated.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:fluid_quicksand_flowing", + liquid_alternative_source = "lib_materials:fluid_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 fluid. +minetest.register_node("lib_materials:fluid_mud_source", { + description = S("Mud Source"), + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_mud_flowing_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + special_tiles = { + -- New-style lava source material (mostly unused) + { + name = "lib_materials_fluid_mud_flowing_animated.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:fluid_mud_flowing", + liquid_alternative_source = "lib_materials:fluid_mud_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:fluid_mud_flowing", { + description = S("Flowing Mud"), + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_mud_source.png"}, + special_tiles = { + { + name = "lib_materials_fluid_mud_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 3.3, + }, + }, + { + name = "lib_materials_fluid_mud_flowing_animated.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:fluid_mud_flowing", + liquid_alternative_source = "lib_materials:fluid_mud_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}, +}) +-- Mud as node. Player will sink, slow, and take drowning damage. Mud for swamps +minetest.register_node("lib_materials:mud_wet", { + description = S("Mud Wet"), + tiles = {"lib_materials_dirt_mud_01.png"}, + liquid_viscosity = 8, + liquidtype = "source", + liquid_renewable = false, + liquid_alternative_source = "lib_materials:mud_wet", + liquid_alternative_flowing = "lib_materials:mud_wet", + 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_node("lib_materials:fluid_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:fluid_grease_flowing", + liquid_alternative_source = "lib_materials:fluid_grease_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 107, g = 53, b = 18}, + groups = {oil = 3, liquid = 1, flammable = 1}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_grease_flowing", { + description = "Flowing Grease", + drawtype = "flowingliquid", + tiles = {"lib_materials_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:fluid_grease_flowing", + liquid_alternative_source = "lib_materials:fluid_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 = lib_materials.node_sound_water_defaults(), +}) + +minetest.register_node("lib_materials:fluid_oil_source", { + description = "Oil Source", + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_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 = "lib_materials_fluid_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:fluid_oil_flowing", + liquid_alternative_source = "lib_materials:fluid_oil_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 45, g = 23, b = 7}, + groups = {oil = 3, liquid = 1, flammable = 1}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_oil_flowing", { + description = "Flowing Oil", + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_oil_source.png"}, + special_tiles = { + { + name = "lib_materials_fluid_oil_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "lib_materials_fluid_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:fluid_oil_flowing", + liquid_alternative_source = "lib_materials:fluid_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 = lib_materials.node_sound_water_defaults(), +}) + +minetest.register_craft({ + output = "lib_materials:fluid_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_craft({ + output = "lib_materials:fluid_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:fluid_oil_02_source", { + description = "Oil 02 Source", + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_oil_02_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 = "lib_materials_fluid_oil_02_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:fluid_oil_02_flowing", + liquid_alternative_source = "lib_materials:fluid_oil_02_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 45, g = 23, b = 7}, + groups = {oil = 3, liquid = 1, flammable = 1}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_oil_02_flowing", { + description = "Flowing Oil 02", + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_oil_02_source.png"}, + special_tiles = { + { + name = "lib_materials_fluid_oil_02_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "lib_materials_fluid_oil_02_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:fluid_oil_02_flowing", + liquid_alternative_source = "lib_materials:fluid_oil_02_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 = lib_materials.node_sound_water_defaults(), +}) + +minetest.register_node("lib_materials:fluid_oil_03_source", { + description = "Oil 03 Source", + drawtype = "liquid", + tiles = { + { + name = "lib_materials_fluid_oil_03_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 = "lib_materials_fluid_oil_03_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:fluid_oil_03_flowing", + liquid_alternative_source = "lib_materials:fluid_oil_03_source", + liquid_viscosity = 1, + post_effect_color = {a = 103, r = 45, g = 23, b = 7}, + groups = {oil = 3, liquid = 1, flammable = 1}, + sounds = lib_materials.node_sound_water_defaults(), +}) +minetest.register_node("lib_materials:fluid_oil_03_flowing", { + description = "Flowing Oil 03", + drawtype = "flowingliquid", + tiles = {"lib_materials_fluid_oil_03_source.png"}, + special_tiles = { + { + name = "lib_materials_fluid_oil_03_flowing_animated.png", + backface_culling = false, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.8, + }, + }, + { + name = "lib_materials_fluid_oil_03_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:fluid_oil_03_flowing", + liquid_alternative_source = "lib_materials:fluid_oil_03_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 = lib_materials.node_sound_water_defaults(), +}) + + + + + + + + + + + + + + + + + + + + + + + diff --git a/type_glass.lua b/type_glass.lua new file mode 100644 index 0000000..9f96815 --- /dev/null +++ b/type_glass.lua @@ -0,0 +1,168 @@ + + +local S = lib_materials.intllib + + +--GLASS +--[[ +minetest.register_node("lib_materials:glass_clean", { + description = S("Glass - Clean"), + 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:glass_coal", { + description = S("Glass - Coal"), + 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:glass_iron", { + description = S("Glass - Iron"), + 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(), +}) +--]] + + +minetest.register_node("lib_materials:glass_framed_diamond", { + description = S("Glass - Framed Diamond"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_diamond.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_round", { + description = S("Glass - Framed Round"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_round.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_square", { + description = S("Glass - Framed Square"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_square.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_steel_01", { + description = S("Glass - Framed Steel 01"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_steel_01_nbea.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_steel_02", { + description = S("Glass - Framed Steel 02"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_steel_02_nbea.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_wood_01", { + description = S("Glass - Framed Wood 01"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_wood_01_nbea.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_wood_02", { + description = S("Glass - Framed Wood 02"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_wood_02_nbea.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_framed_wood_03", { + description = S("Glass - Framed Wood 03"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_wood_darkage.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:frame_wood_rose", { + description = S("Frame - Wood Rose"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_wood_medieval_rose.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:frame_wood_screen", { + description = S("Frame - Wood Screen"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_frame_wood_xdecor.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:glass_stained", { + description = S("Glass - Stained"), + drawtype = "glasslike_framed", + tiles = {"lib_materials_glass_stained_nbea.png"}, + use_texture_alpha = true, + paramtype = "light", + sunlight_propagates = true, + groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + + + + + + diff --git a/type_ice_snow.lua b/type_ice_snow.lua new file mode 100644 index 0000000..9e274cc --- /dev/null +++ b/type_ice_snow.lua @@ -0,0 +1,134 @@ + + + +local S = lib_materials.intllib + + + +-- Snow +minetest.register_node("lib_materials:snow_brick", { + description = S("Snow Brick"), + tiles = {"lib_materials_snow_brick.png"}, + paramtype = "light", + freezemelt = "default:water_source", + is_ground_content = false, + groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_snow_footstep", gain = 0.15}, + dug = {name = "default_snow_footstep", gain = 0.2}, + dig = {name = "default_snow_footstep", gain = 0.2}, + }), +}) + +minetest.register_craft({ + output = 'lib_materials:snow_brick 4', + recipe = { + {'lib_materials:snow_block', 'lib_materials:snow_block'}, + {'lib_materials:snow_block', 'lib_materials:snow_block'}, + } +}) + +minetest.register_node("lib_materials:snow", { + description = "Snow", + tiles = {"lib_materials_snow.png"}, + inventory_image = "lib_materials_snowball.png", + wield_image = "lib_materials_snowball.png", + paramtype = "light", + buildable_to = true, + floodable = true, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + }, + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -7 / 16, 0.5}, + }, + }, + groups = {crumbly = 3, falling_node = 1, snowy = 1}, + sounds = default.node_sound_snow_defaults(), + + on_construct = function(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "default:dirt_with_grass" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + end + end, +}) + +minetest.register_node("lib_materials:snow_block", { + description = "Snow Block", + tiles = {"lib_materials_snow.png"}, + groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1, snowy = 1}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_snow_footstep", gain = 0.15}, + dug = {name = "default_snow_footstep", gain = 0.2}, + dig = {name = "default_snow_footstep", gain = 0.2} + }), + + on_construct = function(pos) + pos.y = pos.y - 1 + if minetest.get_node(pos).name == "default:dirt_with_grass" then + minetest.set_node(pos, {name = "default:dirt_with_snow"}) + end + end, +}) + +-- Ice +minetest.register_node("lib_materials:ice_default", { + description = "Ice - Default", + tiles = {"lib_materials_ice.png"}, + is_ground_content = false, + paramtype = "light", + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:ice_default2", { + description = "Ice - Default 2", + tiles = {"lib_materials_ice2.png"}, + is_ground_content = false, + paramtype = "light", + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:ice_block", { + description = "Ice - Block", + tiles = {"lib_materials_ice_block.png"}, + is_ground_content = false, + paramtype = "light", + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("lib_materials:ice_brick", { + description = S("Ice Brick"), + tiles = {"lib_materials_ice_brick.png"}, + paramtype = "light", + freezemelt = "default:water_source", + is_ground_content = false, + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_craft({ + output = 'lib_materials:ice_brick 4', + recipe = { + {'lib_materials:ice_default', 'lib_materials:ice_default'}, + {'lib_materials:ice_default', 'lib_materials:ice_default'}, + } +}) + +minetest.register_node("lib_materials:ice_thin", { + description = "Ice - Thin", + tiles = {"lib_materials_ice_thin.png"}, + is_ground_content = false, + paramtype = "light", + groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1}, + sounds = default.node_sound_glass_defaults(), +}) diff --git a/type_ore.lua b/type_ore.lua index 5e90c5b..689d0e9 100644 --- a/type_ore.lua +++ b/type_ore.lua @@ -1,155 +1,603 @@ -local S = lib_materials.gettext +local S = lib_materials.intllib +--Metals + minetest.register_node("lib_materials:metal_brass_block", { + description = S("Metal - Brass Block"), + tiles = { "lib_materials_metal_brass_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_bronze_block", { + description = S("Metal - Bronze Block"), + tiles = {"lib_materials_metal_bronze_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + }) + minetest.register_node("lib_materials:metal_copper_block", { + description = S("Metal - Copper Block"), + tiles = {"lib_materials_metal_copper_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + }) + minetest.register_node("lib_materials:metal_gold_block", { + description = S("Metal - Gold Block"), + tiles = {"lib_materials_metal_gold_block.png"}, + is_ground_content = false, + groups = {cracky = 1}, + sounds = default.node_sound_metal_defaults(), + }) + minetest.register_node("lib_materials:metal_iron_cast_block", { + description = S("Metal - Cast Iron Block"), + tiles = { "lib_materials_metal_iron_cast_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_iron_wrought_block", { + description = S("Metal - Wrought Iron Block"), + tiles = { "lib_materials_metal_iron_wrought_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_lead_block", { + description = S("Metal - Lead Block"), + tiles = { "lib_materials_metal_lead_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_rusty", { + description = S("Metal - Rusty"), + tiles = {"lib_materials_metal_rusty.png"}, + is_ground_content = false, + groups = {cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:metal_rusty_block", { + description = S("Metal - Rusty Block"), + tiles = {"lib_materials_metal_rusty_block.png"}, + is_ground_content = true, + groups = {cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:metal_silver_block", { + description = S("Metal - Silver Block"), + tiles = { "lib_materials_metal_silver_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_steel_block", { + description = S("Metal - Steel Block"), + tiles = {"lib_materials_metal_steel_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + }) + minetest.register_node("lib_materials:metal_steel_carbon_block", { + description = S("Metal - Carbon Steel Block"), + tiles = { "lib_materials_metal_steel_carbon_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_steel_stainless_block", { + description = S("Metal - Stainless Steel Block"), + tiles = { "lib_materials_metal_steel_stainless_block.png" }, + is_ground_content = true, + groups = {cracky=1, level=2}, + sounds = default.node_sound_metal_defaults() + }) + minetest.register_node("lib_materials:metal_tin_block", { + description = S("Metal - Tin Block"), + tiles = {"lib_materials_metal_tin_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + }) + + minetest.register_craftitem("lib_materials:metal_brass_ingot", { + description = S("Metal - Brass Ingot"), + inventory_image = "lib_materials_metal_brass_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_bronze_ingot", { + description = S("Metal - Bronze Ingot"), + inventory_image = "lib_materials_metal_bronze_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_copper_ingot", { + description = S("Metal - Copper Ingot"), + inventory_image = "lib_materials_metal_copper_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_copper_lump", { + description = S("Metal - Copper Lump"), + inventory_image = "lib_materials_metal_copper_lump.png", + }) + minetest.register_craftitem("lib_materials:metal_gold_ingot", { + description = S("Metal - Gold Ingot"), + inventory_image = "lib_materials_metal_gold_ingot.png" + }) + minetest.register_craftitem("lib_materials:metal_gold_lump", { + description = S("Metal - Gold Lump"), + inventory_image = "lib_materials_metal_gold_lump.png", + }) + minetest.register_craftitem("lib_materials:metal_iron_lump", { + description = S("Metal - Iron Lump"), + inventory_image = "lib_materials_metal_iron_lump.png", + }) + minetest.register_craftitem("lib_materials:metal_iron_cast_ingot", { + description = S("Metal - Cast Iron Ingot"), + inventory_image = "lib_materials_metal_iron_cast_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_iron_wrought_ingot", { + description = S("Metal - Wrought Iron Ingot"), + inventory_image = "lib_materials_metal_iron_wrought_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_lead_lump", { + description = S("Metal - Lead Lump"), + inventory_image = "lib_materials_metal_lead_lump.png", + }) + minetest.register_craftitem("lib_materials:metal_lead_ingot", { + description = S("Metal - Lead Ingot"), + inventory_image = "lib_materials_metal_lead_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_silver_lump", { + description = S("Metal - Silver Lump"), + inventory_image = "lib_materials_metal_silver_lump.png", + }) + minetest.register_craftitem("lib_materials:metal_silver_ingot", { + description = S("Metal - Silver Ingot"), + inventory_image = "lib_materials_metal_silver_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_steel_ingot", { + description = S("Metal - Steel Ingot"), + inventory_image = "lib_materials_metal_steel_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_steel_carbon_ingot", { + description = S("Metal - Carbon Steel Ingot"), + inventory_image = "lib_materials_metal_steel_carbon_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_steel_stainless_ingot", { + description = S("Metal - Stainless Steel Ingot"), + inventory_image = "lib_materials_metal_steel_stainless_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_tin_ingot", { + description = S("Metal - Tin Ingot"), + inventory_image = "lib_materials_metal_tin_ingot.png", + }) + minetest.register_craftitem("lib_materials:metal_tin_lump", { + description = S("Metal - Tin Lump"), + inventory_image = "lib_materials_metal_tin_lump.png", + }) + + 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"}, + }, + }) + minetest.register_craft({ + output = 'lib_materials:rusty_block 8', + recipe = { + {"lib_materials:metal_steel_block", "lib_materials:metal_steel_block", "lib_materials:metal_steel_block"}, + {"lib_materials:metal_steel_block", "default:water_source", "lib_materials:metal_steel_block"}, + {"lib_materials:metal_steel_block", "lib_materials:metal_steel_block", "lib_materials:metal_steel_block"}, + }, + --replacements = {{"columnia:blueprint", "columnia:blueprint"}}, + }) + minetest.register_craft({ + type = 'cooking', + recipe = "lib_materials:metal_lead_lump", + output = "lib_materials:metal_lead_ingot", + }) + minetest.register_craft({ + type = 'cooking', + recipe = "lib_materials:metal_silver_lump", + output = "lib_materials:metal_silver_ingot", + }) + minetest.register_craft({ + type = 'cooking', + recipe = "lib_materials:metal_iron_wrought_ingot", + output = "lib_materials:metal_iron_cast_ingot", + }) + minetest.register_craft({ + type = 'cooking', + recipe = "lib_materials:metal_iron_cast_ingot", + cooktime = 2, + output = "lib_materials:metal_steel_carbon_ingot", + }) + minetest.register_craft({ + type = 'cooking', + recipe = "lib_materials:metal_steel_carbon_ingot", + cooktime = 2, + output = "lib_materials:metal_iron_wrought_ingot", + }) + local function register_block(block, ingot) + minetest.register_craft({ + output = block, + recipe = { + {ingot, ingot, ingot}, + {ingot, ingot, ingot}, + {ingot, ingot, ingot}, + } + }) + + minetest.register_craft({ + output = ingot.." 9", + recipe = { + {block} + } + }) + end + register_block("lib_materials:metal_brass_block", "lib_materials:metal_brass_ingot") + register_block("lib_materials:metal_lead_block", "lib_materials:metal_lead_ingot") + register_block("lib_materials:metal_silver_block", "lib_materials:metal_silver_ingot") + register_block("lib_materials:metal_iron_wrought_block", "lib_materials:metal_iron_wrought_ingot") + register_block("lib_materials:metal_iron_cast_block", "lib_materials:metal_iron_cast_ingot") + register_block("lib_materials:metal_steel_carbon_block", "lib_materials:metal_steel_carbon_ingot") + register_block("lib_materials:metal_steel_stainless_block", "lib_materials:metal_steel_stainless_ingot") + +--Minerals + minetest.register_node("lib_materials:mineral_coal_block", { + description = S("Mineral - Coal Block"), + tiles = {"lib_materials_mineral_coal_block.png"}, + is_ground_content = false, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:mineral_diamond_block", { + description = S("Mineral - Diamond Block"), + tiles = {"lib_materials_mineral_diamond_block.png"}, + is_ground_content = false, + groups = {cracky = 1, level = 3}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:mineral_mese_block", { + description = S("Mineral - Mese Block"), + tiles = {"lib_materials_mineral_mese_block.png"}, + paramtype = "light", + groups = {cracky = 1, level = 2}, + sounds = default.node_sound_stone_defaults(), + light_source = 3, + }) + minetest.register_node("lib_materials:mineral_quartz_block", { + description = S("Mineral - Quartz Block"), + tiles = {"lib_materials_mineral_quartz_block_top.png", "lib_materials_mineral_quartz_block_bottom.png", "lib_materials_mineral_quartz_block_side.png"}, + groups = {snappy=1,bendy=2,cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:mineral_quartz_chiseled", { + description = S("Mineral - Chiseled Quartz"), + tiles = {"lib_materials_mineral_quartz_chiseled_top.png", "lib_materials_mineral_quartz_chiseled_top.png", "lib_materials_mineral_quartz_chiseled_side.png"}, + groups = {snappy=1,bendy=2,cracky=1,level=2}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:mineral_quartz_pillar", { + description = S("Mineral - Quartz Pillar"), + tiles = {"lib_materials_mineral_quartz_pillar_top.png", "lib_materials_mineral_quartz_pillar_top.png", "lib_materials_mineral_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" + }) + + minetest.register_craftitem("lib_materials:mineral_coal_lump", { + description = S("Mineral - Coal Lump"), + inventory_image = "lib_materials_mineral_coal_lump.png", + groups = {coal = 1, flammable = 1} + }) + minetest.register_craftitem("lib_materials:mineral_diamond", { + description = S("Mineral - Diamond"), + inventory_image = "lib_materials_mineral_diamond.png", + }) + minetest.register_craftitem("lib_materials:mineral_flint", { + description = S("Mineral - Flint"), + inventory_image = "lib_materials_mineral_flint.png" + }) + minetest.register_craftitem("lib_materials:mineral_mese_crystal", { + description = S("Mineral - Mese Crystal"), + inventory_image = "lib_materials_mineral_mese_crystal.png", + }) + minetest.register_craftitem("lib_materials:mineral_mese_crystal_fragment", { + description = S("Mineral - Mese Crystal Fragment"), + inventory_image = "lib_materials_mineral_mese_crystal_fragment.png", + }) + minetest.register_craftitem("lib_materials:mineral_obsidian_shard", { + description = S("Mineral - Obsidian Shard"), + inventory_image = "lib_materials_mineral_obsidian_shard.png", + }) + minetest.register_craftitem("lib_materials:mineral_quartz_crystal", { + description = S("Mineral - Quartz Crystal"), + inventory_image = "lib_materials_mineral_quartz_crystal_full.png", + }) + + minetest.register_craft({ + output = 'lib_materials:mineral_quartz_block', + recipe = { + {'lib_materials:mineral_quartz_crystal', 'lib_materials:mineral_quartz_crystal'}, + {'lib_materials:mineral_quartz_crystal', 'lib_materials:mineral_quartz_crystal'}, + } + }) + minetest.register_craft({ + output = 'lib_materials:mineral_quartz_chiseled 2', + recipe = { + {'stairs:slab_quartzblock'}, + {'stairs:slab_quartzblock'}, + } + }) + minetest.register_craft({ + output = 'lib_materials:mineral_quartz_pillar 2', + recipe = { + {'lib_materials:mineral_quartz_block'}, + {'lib_materials:mineral_quartz_block'}, + } + }) + minetest.register_craft({ + output = 'lib_materials:mineral_quartz_pillar 2', + recipe = { + {'lib_materials:pillar_horizontal'}, + {'lib_materials:pillar_horizontal'}, + } + }) + --[[-- stairs.register_stair_and_slab("quartzblock", "lib_materials:mineral_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:mineral_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() + -- ) + --]] + +--Ores + minetest.register_node("lib_materials:ore_stone_with_coal", { + description = S("Ore - Stone with Coal"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_coal.png"}, + groups = {cracky = 3}, + drop = 'default:coal_lump', + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_copper", { + description = S("Ore - Stone with Copper"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_copper.png"}, + groups = {cracky = 2}, + drop = 'default:copper_lump', + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_diamond", { + description = S("Ore - Stone with Diamond"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_diamond.png"}, + groups = {cracky = 1}, + drop = "default:diamond", + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_gold", { + description = S("Ore - Stone with Gold"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_gold.png"}, + groups = {cracky = 2}, + drop = "default:gold_lump", + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_iron", { + description = S("Ore - Stone with Iron"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_iron.png"}, + groups = {cracky = 2}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_desert_with_iron", { + description = S("Ore - Stone Desert Iron Ore"), + tiles = {"lib_materials_stone_desert_default.png^lib_materials_ore_iron.png"}, + is_ground_content = true, + groups = {cracky=3, not_cuttable=1}, + drop = 'default:iron_lump', + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_lead", { + description = S("Ore - Stone with Lead"), + tiles = { "lib_materials_stone_default.png^lib_materials_ore_lead.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = "lib_materials:lead_lump", + }) + minetest.register_node("lib_materials:ore_stone_with_mese", { + description = S("Ore - Stone with Mese"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_mese.png"}, + groups = {cracky = 1}, + drop = "default:mese_crystal", + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_quartz", { + description = S("Ore - Stone with Quartz"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_quartz.png"}, + groups = {cracky=3, stone=1}, + drop = 'lib_materials:quartz_crystal', + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_with_silver", { + description = S("Ore - Stone with Silver"), + tiles = { "lib_materials_stone_default.png^lib_materials_ore_silver.png" }, + is_ground_content = true, + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), + drop = "lib_materials:lead_lump", + }) + minetest.register_node("lib_materials:ore_stone_with_tin", { + description = S("Ore - Stone with Tin"), + tiles = {"lib_materials_stone_default.png^lib_materials_ore_tin.png"}, + groups = {cracky = 2}, + drop = "default:tin_lump", + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:ore_stone_mudstone_with_coal_lignite", { + description = S("Ore - Stone Mudstone with Lignite Coal"), + tiles = {"lib_materials_stone_mudstone.png^lib_materials_ore_coal_lignite.png" }, + is_ground_content = true, + groups = {crumbly=3}, + }) + minetest.register_node("lib_materials:ore_stone_mudstone_with_coal_black", { + description = S("Ore - Stone Mudstone with Black Coal"), + tiles = {"lib_materials_stone_mudstone.png^lib_materials_ore_coal.png" }, + is_ground_content = true, + groups = {crumbly=3}, + }) + minetest.register_node("lib_materials:ore_stone_mudstone_with_coal_anthracite", { + description = S("Ore - Stone Mudstone with Anthracite Coal"), + tiles = {"lib_materials_stone_mudstone.png^lib_materials_ore_coal_anthracite.png" }, + is_ground_content = true, + groups = {crumbly=3}, + }) + minetest.register_node( "lib_materials:ore_stone_pegmatite_with_cassiterite", { + description = S("Ore - Stone Pegmatite with Cassiterite"), + tiles = { "lib_materials_stone_pegmatite.png^lib_materials_ore_cassiterite.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node( "lib_materials:ore_stone_skarn_with_chalcopyrite", { + description = S("Ore - Stone Skarn with Chalcopyrite"), + tiles = { "lib_materials_stone_skarn.png^lib_materials_ore_chalcopyrite.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node( "lib_materials:ore_stone_skarn_with_galena", { + description = S("Ore - Stone Skarn with Galena"), + tiles = { "lib_materials_stone_skarn.png^lib_materials_ore_galena.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node( "lib_materials:ore_stone_skarn_with_magnesite", { + description = S("Ore - Stone Skarn with Magnesite"), + tiles = { "lib_materials_stone_skarn.png^lib_materials_ore_magnesite.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node( "lib_materials:ore_stone_skarn_with_magnetite", { + description = S("Ore - Stone Skarn with Magnetite"), + tiles = { "lib_materials_stone_skarn.png^lib_materials_ore_magnetite.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node( "lib_materials:ore_stone_skarn_with_malachyte", { + description = S("Ore - Stone Skarn with Malachyte"), + tiles = { "lib_materials_stone_skarn.png^lib_materials_ore_chalcopyrite.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node( "lib_materials:ore_stone_skarn_with_sphalerite", { + description = S("Ore - Stone Skarn with Sphalerite"), + tiles = { "lib_materials_stone_skarn.png^lib_materials_ore_sphalerite.png" }, + groups = {cracky=3}, + is_ground_content = true, sounds = default.node_sound_stone_defaults(), + }) + +-- Columnia Rusty_Block +--[[--MINERALS +-- +-- Skarn deposit +---- ~ Tomas Brod + +-- Chalcopyrite +-- minetest.register_node( "lib_materials:ore_stone_skarn_with_chalcopyrite", { + -- description = S("Ore - Stone Skarn with 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:ore_stone_skarn_with_malachyte", { + -- description = S("Ore - Stone Skarn with 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:ore_stone_skarn_with_sphalerite", { + -- description = S("Ore - Stone Skarn with 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:ore_stone_skarn_with_galena", { + -- description = S("Ore - Stone Skarn with 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:ore_stone_skarn_with_magnetite", { + -- description = S("Ore - Stone Skarn with 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:ore_stone_skarn_with_magnesite", { + -- description = S("Ore - Stone Skarn with 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:mineral_vermiculite", { + -- description = S("Mineral - 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:ore_stone_pegmatite_with_cassiterite", { + -- description = S("Ore - Stone Pegmatite with Cassiterite"), + -- tiles = { "lib_materials_stone_pegmatite.png^mineral_cassiterite.png" }, + -- groups = {cracky=3}, + -- is_ground_content = true, sounds = default.node_sound_stone_defaults(), +-- }) + + +-- minetest.register_node("lib_materials:ore_stone_mudstone_with_coal_lignite", { + -- description = S("Ore - Stone Mudstone with Lignite Coal"), + -- tiles = {"lib_materials_stone_mudstone.png^rocks_lignite.png" }, + -- is_ground_content = true, + -- groups = {crumbly=3}, +-- }) +-- minetest.register_node("lib_materials:ore_stone_mudstone_with_coal_black", { + -- description = S("Ore - Stone Mudstone with Black Coal"), + -- tiles = {"lib_materials_stone_mudstone.png^default_mineral_coal.png" }, + -- is_ground_content = true, + -- groups = {crumbly=3}, +-- }) +-- minetest.register_node("lib_materials:ore_stone_mudstone_with_coal_anthracite", { + -- description = S("Ore - Stone Mudstone with Anthracite Coal"), + -- tiles = {"lib_materials_stone_mudstone.png^rocks_anthracite.png" }, + -- is_ground_content = true, + -- groups = {crumbly=3}, +-- }) +--]] +--Quartz, --Quartz Crystal, --Ore, --Quartz Block, --Chiseled Quartz, --Quartz Pillar +--Crafting, --Quartz Block, --Chiseled Quartz, --Quartz Pillar, --Stairs & Slabs --Add Technic granite, marble, and ore node definitions and craftitems -minetest.register_node("lib_materials:brass_block", { - description = S("Brass Block"), - tiles = { "technic_brass_block.png" }, - is_ground_content = true, - groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() -}) - -minetest.register_node("lib_materials:lead_block", { - description = S("Lead Block"), - tiles = { "technic_lead_block.png" }, - is_ground_content = true, - groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() -}) - -minetest.register_node("lib_materials:wrought_iron_block", { - description = S("Wrought Iron Block"), - tiles = { "technic_wrought_iron_block.png" }, - is_ground_content = true, - groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() -}) - -minetest.register_node("lib_materials:cast_iron_block", { - description = S("Cast Iron Block"), - tiles = { "technic_cast_iron_block.png" }, - is_ground_content = true, - groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() -}) - -minetest.register_node("lib_materials:carbon_steel_block", { - description = S("Carbon Steel Block"), - tiles = { "technic_carbon_steel_block.png" }, - is_ground_content = true, - groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() -}) - -minetest.register_node("lib_materials:stainless_steel_block", { - description = S("Stainless Steel Block"), - tiles = { "technic_stainless_steel_block.png" }, - is_ground_content = true, - groups = {cracky=1, level=2}, - sounds = default.node_sound_stone_defaults() -}) -minetest.register_node( "lib_materials:mineral_lead", { - description = S("Lead Ore"), - tiles = { "default_stone.png^technic_mineral_lead.png" }, - is_ground_content = true, - groups = {cracky=3}, - sounds = default.node_sound_stone_defaults(), - drop = "lib_materials:lead_lump", -}) -minetest.register_craftitem("lib_materials:brass_ingot", { - description = S("Brass Ingot"), - inventory_image = "technic_brass_ingot.png", -}) - -minetest.register_craftitem("lib_materials:lead_lump", { - description = S("Lead Lump"), - inventory_image = "technic_lead_lump.png", -}) - -minetest.register_craftitem("lib_materials:lead_ingot", { - description = S("Lead Ingot"), - inventory_image = "technic_lead_ingot.png", -}) - -minetest.register_craftitem("lib_materials:wrought_iron_ingot", { - description = S("Wrought Iron Ingot"), - inventory_image = "technic_wrought_iron_ingot.png", -}) - -minetest.register_craftitem("lib_materials:cast_iron_ingot", { - description = S("Cast Iron Ingot"), - inventory_image = "technic_cast_iron_ingot.png", -}) - -minetest.register_craftitem("lib_materials:carbon_steel_ingot", { - description = S("Carbon Steel Ingot"), - inventory_image = "technic_carbon_steel_ingot.png", -}) - -minetest.register_craftitem("lib_materials:stainless_steel_ingot", { - description = S("Stainless Steel Ingot"), - inventory_image = "technic_stainless_steel_ingot.png", -}) - - - -local function register_block(block, ingot) - minetest.register_craft({ - output = block, - recipe = { - {ingot, ingot, ingot}, - {ingot, ingot, ingot}, - {ingot, ingot, ingot}, - } - }) - - minetest.register_craft({ - output = ingot.." 9", - recipe = { - {block} - } - }) -end - -register_block("lib_materials:brass_block", "lib_materials:brass_ingot") -register_block("lib_materials:lead_block", "lib_materials:lead_ingot") -register_block("lib_materials:wrought_iron_block", "lib_materials:wrought_iron_ingot") -register_block("lib_materials:cast_iron_block", "lib_materials:cast_iron_ingot") -register_block("lib_materials:carbon_steel_block", "lib_materials:carbon_steel_ingot") -register_block("lib_materials:stainless_steel_block", "lib_materials:stainless_steel_ingot") - -minetest.register_craft({ - type = 'cooking', - recipe = "lib_materials:lead_lump", - output = "lib_materials:lead_ingot", -}) - - -minetest.register_craft({ - type = 'cooking', - recipe = "lib_materials:wrought_iron_ingot", - output = "lib_materials:cast_iron_ingot", -}) - -minetest.register_craft({ - type = 'cooking', - recipe = "lib_materials:cast_iron_ingot", - cooktime = 2, - output = "lib_materials:carbon_steel_ingot", -}) - -minetest.register_craft({ - type = 'cooking', - recipe = "lib_materials:carbon_steel_ingot", - cooktime = 2, - output = "lib_materials:wrought_iron_ingot", -}) - diff --git a/type_sand.lua b/type_sand.lua index beb17d3..449f6e2 100644 --- a/type_sand.lua +++ b/type_sand.lua @@ -1,10 +1,56 @@ -local S = lib_materials.gettext - +local S = lib_materials.intllib + 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_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(), + }) + 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_volcanic", { + description = ("Sand - Volcanic"), + tiles = {"lib_materials_sand_volcanic.png"}, + groups = {crumbly = 3, falling_node = 1, sand = 1}, + sounds = default.node_sound_sand_defaults(), + }) + 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(), + }) + + minetest.register_node("lib_materials:sand_with_rocks", { + description = "Sand and rocks", + tiles = {"lib_materials_sand_with_rocks.png"}, + groups = {crumbly = 3, falling_node = 1, sand = 1}, + --sounds = default.node_sound_sand_defaults(), + drop = {max_items=2, items={{items={"lib_materials:small_rocks"}, rarity=1}}}, + }) +-- Prehistoric Life Sand +-- Node Texture Modifier +-- Valleys_c Sand -- Some sand with rocks for the river beds. -- This drops small rocks as well. -- if false then @@ -15,12 +61,9 @@ local S = lib_materials.gettext -- minetest.register_node("lib_materials:sand_with_rocks", newnode) -- end -minetest.register_node("lib_materials:sand_with_rocks", { - description = "Sand and rocks", - tiles = {"vmg_sand_with_rocks.png"}, - groups = {crumbly = 3, falling_node = 1, sand = 1}, - --sounds = default.node_sound_sand_defaults(), - drop = {max_items=2, items={{items={"lib_materials:small_rocks"}, rarity=1}}}, -}) + + + + diff --git a/type_stone.lua b/type_stone.lua index 999e8bb..53a2b73 100644 --- a/type_stone.lua +++ b/type_stone.lua @@ -1,46 +1,920 @@ -local S = lib_materials.gettext +local S = lib_materials.intllib + +--[[ + + 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, stone_cracky, stone_level) + + minetest.register_node("lib_materials:stone_"..name.."", { + description = S("Stone - "..desc..""), + tiles = {texture}, + is_ground_content = true, + groups = {cracky = stone_cracky, stone = 1, level = stone_level}, + drop = 'lib_materials:'..name..'', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + --if stairs and lib_materials.enable_stairs then + --register_stairs + --end + + --if shapes and lib_materials.enable_shapes then + --register_shapes + --end + + --if shapes and lib_materials.enable_slopes then + --register_slopes + --end + + --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 -minetest.register_node("lib_materials:stone_brown", { - description = S("Brown Stone"), - tiles = {"lib_materials_stone_brown.png"}, - is_ground_content = true, - groups = {cracky = 3, stone = 1, level = 2}, - drop = 'lib_materials:stone_brown', - legacy_mineral = true, - sounds = default.node_sound_stone_defaults(), -}) + lib_materials.register_stone("travertine", "Travertine", "lib_materials_stone_travertine.png", 3, 1) + lib_materials.register_stone("rhyolite", "Rhyolite", "lib_materials_stone_rhyolite.png", 3, 1) + lib_materials.register_stone("sandstone_red", "Sandstone Red", "lib_materials_stone_sandstone_red.png", 3, 1) + lib_materials.register_stone("serpentine_02", "Serpentine 02", "lib_materials_stone_serpentine_02.png", 3, 1) + lib_materials.register_stone("granite_black", "Granite Black", "lib_materials_stone_granite_black.png", 3, 1) + lib_materials.register_stone("granite_brown_02", "Granite Brown 02", "lib_materials_stone_granite_brown_02.png", 3, 1) + lib_materials.register_stone("granite_04", "Granite 04", "lib_materials_stone_granite_04.png", 3, 1) + lib_materials.register_stone("brownstone", "Brownstone", "lib_materials_stone_brownstone.png", 3, 1) + +--CUSTOM + 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_desert_cobble_stone", { + tiles = {"lib_materials_stone_desert_default.png^(lib_materials_dirt.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:stone_sand", { - description = S("Sand Stone"), - tiles = {"lib_materials_stone_sand.png"}, - is_ground_content = true, - groups = {cracky = 3, stone = 1, level = 2}, - drop = 'lib_materials:stone_sand', - legacy_mineral = true, - sounds = default.node_sound_stone_defaults(), -}) +--Castles mod. (To be converted) + minetest.register_node("lib_materials:stone_castle_dungeon", { + description = S("Stone - Castle Dungeon"), + tiles = {"castle_dungeon_stone.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_castle_dungeon', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:stone_castle_pavement", { + description = S("Stone - Castle Pavement"), + tiles = {"castle_pavement_brick.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + drop = 'lib_materials:stone_castle_pavement', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:stone_castle_rubble", { + description = S("Stone - Castle Rubble"), + tiles = {"castle_rubble.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + drop = 'lib_materials:stone_castle_rubble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:stone_castle_slate", { + description = S("Stone - Castle Slate"), + tiles = {"castle_slate.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + drop = 'lib_materials:stone_castle_slate', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:stone_castle_wall", { + description = S("Stone - Castle Wall"), + tiles = {"castle_stonewall.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_castle_wall', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) -minetest.register_node( "lib_materials:granite", { - description = S("Granite"), - tiles = { "technic_granite.png" }, - is_ground_content = true, - groups = {cracky=1, granite=1, stone = 1, level = 2}, - drop = 'lib_materials:granite', - legacy_mineral = true, - sounds = default.node_sound_stone_defaults(), -}) +--DecoBlocks mod. (To be moved to type_deco.lua) + minetest.register_node("lib_materials:stone_sandstone_pillar", { + description = S("Stone - Sandstone Pillar"), + tiles = { + "decoblocks_sandstone_pillar_top.png", + "decoblocks_sandstone_pillar_top.png", + "decoblocks_sandstone_pillar.png", + "decoblocks_sandstone_pillar.png", + "decoblocks_sandstone_pillar.png", + "decoblocks_sandstone_pillar.png", + }, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + drop = 'lib_materials:stone_castle_rubble', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + +--GrailTest game + 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(), + }) + + minetest.register_node("lib_materials:stone_brown", { + description = S("Stone - Brown Stone"), + tiles = {"lib_materials_stone_brown.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_brown', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:stone_sand", { + description = S("Stone - Sand Stone"), + tiles = {"lib_materials_stone_sand.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + drop = 'lib_materials:stone_sand', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + + --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_small", { + description = S("Stone - Cobble Small"), + tiles = {"lib_materials_stone_default_cobble_small.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_default_rockwall", { + description = S("Rockwall - Stone"), + tiles = {"lib_materials_stone_default_rockwall.png"}, + is_ground_content = true, + groups = {cracky = 3, stone = 1, level = 2}, + legacy_mineral = true, + 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_desert_cobble_small", { + description = S("Stone - Desert Cobble Small"), + tiles = {"lib_materials_stone_desert_cobble_small.png"}, + is_ground_content = false, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), + }) + minetest.register_node("lib_materials:stone_desert_rockwall", { + description = S("Stone - Desert Rockwall"), + tiles = {"lib_materials_stone_desert_rockwall.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_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:stone_granite_01', + legacy_mineral = true, + sounds = default.node_sound_stone_defaults(), + }) + 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: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(), + }) + + +--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:mineral_chalk_powder", { + description = "Chalk Powder", + inventory_image = "lib_materials_mineral_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(), + }) +-- 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 +-- }) -minetest.register_node( "lib_materials:marble", { - description = S("Marble"), - tiles = { "technic_marble.png" }, - is_ground_content = true, - groups = {cracky=3, marble=1, stone = 1, level = 2}, - drop = 'lib_materials:marble', - legacy_mineral = true, - sounds = default.node_sound_stone_defaults(), -}) diff --git a/type_stone_deco.lua b/type_stone_deco.lua new file mode 100644 index 0000000..e74a098 --- /dev/null +++ b/type_stone_deco.lua @@ -0,0 +1,775 @@ + + +local S = lib_materials.intllib + + +--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 + + + minetest.register_node("lib_materials:deco_stone_egypt_01", { + description = S("Stone - Egypt 01"), + tiles = {"lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "decoblocks_sandstone_wall.png", + "decoblocks_sandstone_wall.png", + }, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("lib_materials:deco_stone_egypt_02", { + description = S("Stone - Egypt 02"), + tiles = {"lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "decoblocks_sandstone_wall2.png", + "decoblocks_sandstone_wall2.png", + }, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("lib_materials:deco_stone_egypt_03", { + description = S("Stone - Egypt 03"), + tiles = {"lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "decoblocks_sandstone_wall3.png", + "decoblocks_sandstone_wall3.png", + }, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), + }) + + minetest.register_node("lib_materials:deco_stone_egypt_04", { + description = S("Stone - Egypt 04"), + tiles = {"lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "lib_materials_stone_sandstone_default.png", + "decoblocks_sandstone_wall4.png", + "decoblocks_sandstone_wall4.png", + }, + is_ground_content = true, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), + }) + + + + 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:deco_stone_circle", { + 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:deco_stone_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:stone_coal", { + 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:stone_coal_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:stone_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:stone_bricks_grey", { + 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:deco_stone_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:stone_iron", { + 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:stone_tile_split", { + 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_01", { + 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(), +}) + + +--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:stone_coal_tile", { + description = S("Stone - Coal 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:stone_desert_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:clay_hard", { + 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_02", { + 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(), +}) + + +-- DECO Stone Types + +minetest.register_node("lib_materials:stone_tiles", { + description = "Stone - Tiles", + tiles = {"lib_materials_stone_tiles.png"}, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_tiles_with_dirt", { + description = "Stone - Tiles with Dirt", + tiles = {"lib_materials_stone_tiles_with_dirt.png"}, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_tiles_mossy", { + description = "Stone - Mossy Tiles", + tiles = {"lib_materials_stone_tiles_mossy.png"}, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_brick_mossy", { + description = "Stone - Mossy Brick", + paramtype2 = "facedir", + place_param2 = 0, + tiles = {"lib_materials_stone_brick_mossy.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_tiles_crumbled", { + description = "Stone - Crumbled Tiles", + tiles = {"lib_materials_stone_tiles_crumbled.png"}, + groups = {crumbly = 1}, + sounds = default.node_sound_stone_defaults() +}) + +minetest.register_node("lib_materials:stone_granite_02_block", { + description = "Stone - Granite 02 Block", + tiles = {"lib_materials_stone_granite_02_block.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("lib_materials:stone_granite_brown_block", { + description = "Stone - Granite Brown Block", + tiles = {"lib_materials_stone_granite_brown_block.png"}, + groups = {cracky = 3, stone = 1}, + sounds = default.node_sound_stone_defaults(), +}) + + +minetest.register_node("lib_materials:stone_stucco", { + description = "Stone - Stucco", + tiles = {"lib_materials_stone_stucco.png"}, + groups = {cracky = 3, stone = 2}, + sounds = default.node_sound_stone_defaults(), +}) + + + + + + +--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, + -- }, + + + + + + + + + + + + + + + + + + + + +