1
0
Fork 0

Add MesaPlateauFM biome

Variant of MesaPlateauF, more erratic terrain, smooth transitions, has red sandstone, more red sand, fewer trees, much more dry shrubs and coarse dirt
objects
Wuzzy 2019-03-11 00:04:03 +01:00
parent f48019a877
commit c868b7a767
1 changed files with 219 additions and 6 deletions

View File

@ -116,6 +116,7 @@ local function register_biomes()
"SavannaM", "SavannaM",
"Mesa", "Mesa",
"MesaPlateauF", "MesaPlateauF",
"MesaPlateauFM",
} }
local OCEAN_MIN = -15 local OCEAN_MIN = -15
@ -855,6 +856,71 @@ local function register_biomes()
heat_point = 60, heat_point = 60,
}) })
-- Mesa Plateau FM
-- Variant of MesaPlateauF: fewer trees, more coarse dirt, more erratic terrain, more sand, red sandstone at sandlevel
minetest.register_biome({
name = "MesaPlateauFM",
node_top = "mcl_colorblocks:hardened_clay",
depth_top = 1,
node_filler = "mcl_colorblocks:hardened_clay",
node_riverbed = "mcl_core:redsand",
depth_riverbed = 1,
node_stone = "mcl_colorblocks:hardened_clay",
y_min = 12,
y_max = 29,
humidity_point = -4,
heat_point = 80,
vertical_blend = 5,
})
-- Grass plateau
minetest.register_biome({
name = "MesaPlateauFM_grasstop",
node_top = "mcl_core:dirt_with_dry_grass",
depth_top = 1,
node_filler = "mcl_core:coarse_dirt",
depth_filler = 2,
node_riverbed = "mcl_core:dirt",
depth_riverbed = 1,
node_stone = "mcl_colorblocks:hardened_clay",
y_min = 30,
y_max = mcl_vars.mg_overworld_max,
humidity_point = -4,
heat_point = 80,
})
-- Helper biome for the red sand at the bottom.
minetest.register_biome({
name = "MesaPlateauFM_sandlevel",
node_top = "mcl_core:redsand",
depth_top = 2,
node_filler = "mcl_colorblocks:hardened_clay_orange",
depth_filler = 3,
node_riverbed = "mcl_core:redsand",
depth_riverbed = 2,
node_stone = "mcl_colorblocks:hardened_clay_orange",
-- sand has wider reach than in other mesa biomes
y_min = -4,
y_max = 11,
humidity_point = -4,
heat_point = 80,
vertical_blend = 4,
})
minetest.register_biome({
name = "MesaPlateauFM_ocean",
node_top = "mcl_core:sand",
depth_top = 3,
node_filler = "mcl_colorblocks:sand",
depth_filler = 2,
node_riverbed = "mcl_core:sand",
depth_riverbed = 2,
y_min = OCEAN_MIN,
y_max = -3,
humidity_point = -4,
heat_point = 80,
})
-- Savanna -- Savanna
minetest.register_biome({ minetest.register_biome({
name = "Savanna", name = "Savanna",
@ -1270,7 +1336,9 @@ local function register_biome_ores()
clust_size = 3, clust_size = 3,
y_min = mcl_worlds.layer_to_y(32), y_min = mcl_worlds.layer_to_y(32),
y_max = mcl_worlds.layer_to_y(79), y_max = mcl_worlds.layer_to_y(79),
biomes = { "Mesa", "Mesa_sandlevel", "Mesa_ocean", "MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_ocean" }, biomes = { "Mesa", "Mesa_sandlevel", "Mesa_ocean",
"MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_ocean",
"MesaPlateauFM", "MesaPlateauFM_sandlevel", "MesaPlateauFM_ocean", },
}) })
end end
end end
@ -1316,6 +1384,74 @@ local function register_biomelike_ores()
y_max = mcl_vars.mg_overworld_max, y_max = mcl_vars.mg_overworld_max,
biomes = { "MesaPlateauF_grasstop" }, biomes = { "MesaPlateauF_grasstop" },
}) })
minetest.register_ore({
ore_type = "sheet",
ore = "mcl_core:coarse_dirt",
wherein = {"mcl_core:dirt_with_dry_grass", "mcl_core:dirt"},
column_height_max = 1,
column_midpoint_factor = 0.0,
y_min = mcl_vars.mg_overworld_min,
y_max = mcl_vars.mg_overworld_max,
noise_threshold = -2.5,
noise_params = {offset=1, scale=15, spread={x=250, y=250, z=250}, seed=24, octaves=3, persist=0.80},
biomes = { "MesaPlateauFM_grasstop" },
})
minetest.register_ore({
ore_type = "blob",
ore = "mcl_core:coarse_dirt",
wherein = {"mcl_core:dirt_with_dry_grass", "mcl_core:dirt"},
clust_scarcity = 1800,
clust_num_ores = 65,
clust_size = 15,
y_min = mcl_vars.mg_overworld_min,
y_max = mcl_vars.mg_overworld_max,
biomes = { "MesaPlateauFM_grasstop" },
})
-- Occasionally dig out portions of MesaPlateauFM
minetest.register_ore({
ore_type = "blob",
ore = "air",
wherein = {"group:hardened_clay", "group:sand","mcl_core:coarse_dirt"},
clust_scarcity = 4000,
clust_size = 5,
y_min = mcl_vars.mg_overworld_min,
y_max = mcl_vars.mg_overworld_max,
biomes = { "MesaPlateauFM", "MesaPlateauFM_grasstop" },
})
minetest.register_ore({
ore_type = "blob",
ore = "mcl_core:redsandstone",
wherein = {"mcl_colorblocks:hardened_clay_orange"},
clust_scarcity = 300,
clust_size = 8,
y_min = mcl_vars.mg_overworld_min,
y_max = mcl_vars.mg_overworld_max,
biomes = { "MesaPlateauFM_sandlevel" },
})
-- More red sand in MesaPlateauFM
minetest.register_ore({
ore_type = "sheet",
ore = "mcl_core:redsand",
wherein = {"group:hardened_clay"},
clust_scarcity = 1,
clust_num_ores = 12,
clust_size = 10,
y_min = mcl_vars.mg_overworld_min,
y_max = mcl_vars.mg_overworld_max,
noise_threshold = 0.1,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=95, octaves=3, persist=0.70},
biomes = { "MesaPlateauFM" },
})
minetest.register_ore({
ore_type = "blob",
ore = "mcl_core:redsand",
wherein = {"group:hardened_clay"},
clust_scarcity = 1500,
clust_size = 4,
y_min = mcl_vars.mg_overworld_min,
y_max = mcl_vars.mg_overworld_max,
biomes = { "MesaPlateauFM", "MesaPlateauFM_grasstop", "MesaPlateauFM_sandlevel" },
})
-- Small dirt patches in Extreme Hills M -- Small dirt patches in Extreme Hills M
minetest.register_ore({ minetest.register_ore({
@ -1332,8 +1468,6 @@ local function register_biomelike_ores()
noise_params = {offset=0, scale=5, spread={x=250, y=250, z=250}, seed=64, octaves=3, persist=0.60}, noise_params = {offset=0, scale=5, spread={x=250, y=250, z=250}, seed=64, octaves=3, persist=0.60},
biomes = { "ExtremeHillsM" }, biomes = { "ExtremeHillsM" },
}) })
-- For a transition from stone to hardened clay in mesa biomes that is not perfectly flat -- For a transition from stone to hardened clay in mesa biomes that is not perfectly flat
minetest.register_ore({ minetest.register_ore({
ore_type = "stratum", ore_type = "stratum",
@ -1344,6 +1478,7 @@ local function register_biomelike_ores()
biomes = { biomes = {
"Mesa_sandlevel", "Mesa_ocean", "Mesa_sandlevel", "Mesa_ocean",
"MesaPlateauF_sandlevel", "MesaPlateauF_ocean", "MesaPlateauF_sandlevel", "MesaPlateauF_ocean",
"MesaPlateauFM_sandlevel", "MesaPlateauFM_ocean",
}, },
y_min = -4, y_min = -4,
y_max = 0, y_max = 0,
@ -1914,6 +2049,25 @@ local function register_decorations()
flags = "place_center_x, place_center_z", flags = "place_center_x, place_center_z",
rotation = "random", rotation = "random",
}) })
minetest.register_decoration({
deco_type = "schematic",
place_on = {"mcl_core:dirt_with_dry_grass", "mcl_core:dirt"},
sidelen = 16,
noise_params = {
offset = 0.008,
scale = 0.002,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.7
},
biomes = {"MesaPlateauFM_grasstop"},
y_min = 30,
y_max = mcl_vars.mg_overworld_max,
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({ minetest.register_decoration({
deco_type = "schematic", deco_type = "schematic",
@ -2448,7 +2602,10 @@ local function register_decorations()
y_min = 4, y_min = 4,
y_max = mcl_vars.mg_overworld_max, y_max = mcl_vars.mg_overworld_max,
decoration = "mcl_core:cactus", decoration = "mcl_core:cactus",
biomes = {"Desert","Mesa","Mesa_sandlevel","MesaPlateauF","MesaPlateauF_sandlevel"}, biomes = {"Desert",
"Mesa","Mesa_sandlevel",
"MesaPlateauF","MesaPlateauF_sandlevel",
"MesaPlateauFM","MesaPlateauFM_sandlevel"},
height = 1, height = 1,
height_max = 3, height_max = 3,
}) })
@ -2970,7 +3127,8 @@ local function register_decorations()
local grass_mpf = {"MesaPlateauF_grasstop"} local grass_mpf = {"MesaPlateauF_grasstop"}
local grass_plains = {"Plains", "SunflowerPlains", "JungleEdge", "JungleEdgeM" } local grass_plains = {"Plains", "SunflowerPlains", "JungleEdge", "JungleEdgeM" }
local grass_savanna = {"Savanna", "SavannaM"} local grass_savanna = {"Savanna", "SavannaM"}
local grass_sparse = {"ExtremeHills", "ExtremeHills+", "ExtremeHills+_snowtop", "ExtremeHillsM", "Jungle", } local grass_sparse = {"ExtremeHills", "ExtremeHills+", "ExtremeHills+_snowtop", "ExtremeHillsM", "Jungle" }
local grass_mpfm = {"MesaPlateauFM_grasstop" }
register_grass_decoration("tallgrass", -0.03, 0.09, grass_forest) register_grass_decoration("tallgrass", -0.03, 0.09, grass_forest)
register_grass_decoration("tallgrass", -0.015, 0.075, grass_forest) register_grass_decoration("tallgrass", -0.015, 0.075, grass_forest)
@ -2988,6 +3146,7 @@ local function register_decorations()
register_grass_decoration("tallgrass", 0.09, -0.03, grass_plains) register_grass_decoration("tallgrass", 0.09, -0.03, grass_plains)
register_grass_decoration("tallgrass", 0.18, -0.03, grass_savanna, dry_index) register_grass_decoration("tallgrass", 0.18, -0.03, grass_savanna, dry_index)
register_grass_decoration("tallgrass", 0.05, -0.03, grass_sparse) register_grass_decoration("tallgrass", 0.05, -0.03, grass_sparse)
register_grass_decoration("tallgrass", 0.05, 0.05, grass_mpfm, dry_index)
local fern_minimal = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga", "ColdTaiga" } local fern_minimal = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga", "ColdTaiga" }
local fern_low = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga" } local fern_low = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga" }
@ -3060,7 +3219,7 @@ local function register_decorations()
place_on = {"group:sand", "mcl_core:podzol", "mcl_core:dirt", "mcl_core:dirt_with_dry_grass", "mcl_core:coarse_dirt", "group:hardened_clay"}, place_on = {"group:sand", "mcl_core:podzol", "mcl_core:dirt", "mcl_core:dirt_with_dry_grass", "mcl_core:coarse_dirt", "group:hardened_clay"},
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0.0,
scale = 0.035, scale = 0.035,
spread = {x = 100, y = 100, z = 100}, spread = {x = 100, y = 100, z = 100},
seed = 1972, seed = 1972,
@ -3073,6 +3232,60 @@ local function register_decorations()
decoration = "mcl_core:deadbush", decoration = "mcl_core:deadbush",
height = 1, height = 1,
}) })
minetest.register_decoration({
deco_type = "simple",
place_on = {"group:sand", "mcl_core:dirt", "mcl_core:dirt_with_dry_grass", "mcl_core:coarse_dirt"},
sidelen = 16,
noise_params = {
offset = 0.1,
scale = 0.035,
spread = {x = 100, y = 100, z = 100},
seed = 1972,
octaves = 3,
persist = 0.6
},
y_min = 4,
y_max = mcl_vars.mg_overworld_max,
biomes = {"MesaPlateauFM_grasstop"},
decoration = "mcl_core:deadbush",
height = 1,
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"group:sand"},
sidelen = 16,
noise_params = {
offset = 0.045,
scale = 0.055,
spread = {x = 100, y = 100, z = 100},
seed = 1972,
octaves = 3,
persist = 0.6
},
y_min = 4,
y_max = mcl_vars.mg_overworld_max,
biomes = {"MesaPlateauFM","MesaPlateauFM_sandlevel"},
decoration = "mcl_core:deadbush",
height = 1,
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"group:hardened_clay"},
sidelen = 16,
noise_params = {
offset = 0.010,
scale = 0.035,
spread = {x = 100, y = 100, z = 100},
seed = 1972,
octaves = 3,
persist = 0.6
},
y_min = 4,
y_max = mcl_vars.mg_overworld_max,
biomes = {"MesaPlateauFM", "MesaPlateauFM_sandlevel", "MesaPlateauFM_grasstop"},
decoration = "mcl_core:deadbush",
height = 1,
})
-- Mushrooms in mushroom biome -- Mushrooms in mushroom biome
minetest.register_decoration({ minetest.register_decoration({