From 6f45dd48460127ab0ae256a45f198af4d37b8e8f Mon Sep 17 00:00:00 2001 From: Shad MOrdre Date: Wed, 17 Apr 2019 09:16:36 -0700 Subject: [PATCH] Too many changes to list. Code is being refactored and completely rewritten. Additional Stone types. Additional Snow/Ice types. Additional Sand types. Rewritten Dirt types. Rewritten Ore types. New Fluids (New water types, oil). Biome Generation moved here from lib_ecology. Ore generation refactored. --- depends.txt | 2 +- init.lua | 75 +- lib_materials_biomes.lua | 1119 +++++++++++++++++++ lib_materials_lakes.lua | 235 ++++ lib_materials_ore_defs.lua | 1728 +++++++++++++++++++++++++++--- lib_materials_sound_defaults.lua | 254 +++++ lib_materials_utils.lua | 17 + mod.conf | 4 + screenshot.jpg | Bin 0 -> 268417 bytes type_dirt.lua | 1516 +++++++++++++++++++++++++- type_fluids.lua | 1228 +++++++++++++++++++++ type_glass.lua | 168 +++ type_ice_snow.lua | 134 +++ type_ore.lua | 738 ++++++++++--- type_sand.lua | 61 +- type_stone.lua | 948 +++++++++++++++- type_stone_deco.lua | 775 ++++++++++++++ 17 files changed, 8647 insertions(+), 355 deletions(-) create mode 100644 lib_materials_biomes.lua create mode 100644 lib_materials_lakes.lua create mode 100644 lib_materials_sound_defaults.lua create mode 100644 mod.conf create mode 100644 screenshot.jpg create mode 100644 type_fluids.lua create mode 100644 type_glass.lua create mode 100644 type_ice_snow.lua create mode 100644 type_stone_deco.lua diff --git a/depends.txt b/depends.txt index b75e061..886559a 100644 --- a/depends.txt +++ b/depends.txt @@ -1,2 +1,2 @@ default? -carpathian_mapgen? +stairs? diff --git a/init.lua b/init.lua index 2f8fea6..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 0000000000000000000000000000000000000000..84b55c8087e81c9111c455a5b793dd3a49be6c2c GIT binary patch literal 268417 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

FW^d(s#&vg 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