Fix underground and deep ocean biomes for once
This commit is contained in:
parent
006f27750e
commit
8ebbfd9ab4
2 changed files with 83 additions and 15 deletions
|
@ -48,10 +48,19 @@ local function register_biomes()
|
|||
In MT, any biome can occour in any terrain, so these variants are implied and are therefore
|
||||
not explicitly implmented in MCL2. “M” variants are only included if they have another unique feature,
|
||||
such as a different land cover.
|
||||
In MCL2, the MC Overworld biomes are usually split in two or more parts (stacked by height), at least
|
||||
a land part and an ocean part. Sometimes there's a beach/shore part as well.
|
||||
In MCL2, the MC Overworld biomes are split in multiple more parts (stacked by height):
|
||||
* The main part, this represents the land. It begins at around sea level and usually goes all the way up
|
||||
* _ocean: For the area covered by ocean water. The y_max may vary for various beach effects.
|
||||
Has sand or dirt as floor.
|
||||
* _deep_ocean: Like _ocean, but deeper and has gravel as floor
|
||||
* _underground:
|
||||
* Other modifiers: Some complex biomes require more layers to improve the landscape.
|
||||
|
||||
The ocean biomes correspond to the MC Ocean biome.
|
||||
The following naming conventions apply:
|
||||
* The land biome name is equal to the MC biome name (in camel case)
|
||||
* Height modifiers and sub-biomes are appended with underscores and in lowercase. Example: “_ocean”
|
||||
* Non-MC biomes are written in lowercase
|
||||
* MC dimension biomes are named after their MC dimension
|
||||
|
||||
Intentionally missing biomes:
|
||||
* River (generated by valleys and v7)
|
||||
|
@ -67,14 +76,8 @@ local function register_biomes()
|
|||
* Mesa Plateau F M
|
||||
* Extreme Hills Edge
|
||||
|
||||
The following naming conventions apply:
|
||||
* The land biome name is equal to the MC biome name (in camel case)
|
||||
* Height modifiers and sub-biomes are appended with underscores and in lowercase. Example: “_ocean”
|
||||
* Non-MC biomes are written in lowercase
|
||||
* MC dimension biomes are named after their MC dimension
|
||||
|
||||
TODO:
|
||||
* Better beaches (varying height, beach and cold beach as biomes)
|
||||
* Better beaches
|
||||
* Extreme Hills+ M
|
||||
* Desert M
|
||||
|
||||
|
@ -85,7 +88,42 @@ local function register_biomes()
|
|||
|
||||
]]
|
||||
|
||||
local OCEAN_MIN = mcl_vars.mg_overworld_min
|
||||
-- List of Overworld biomes without modifiers.
|
||||
-- IMPORTANT: Don't forget to add new Overworld biomes to this list!
|
||||
local overworld_biomes = {
|
||||
"IcePlains",
|
||||
"IcePlainsSpikes",
|
||||
"ColdTaiga",
|
||||
"ExtremeHills",
|
||||
"ExtremeHillsM",
|
||||
"ExtremeHills+",
|
||||
"Taiga",
|
||||
"MegaTaiga",
|
||||
"MegaSpruceTaiga",
|
||||
"StoneBeach",
|
||||
"Plains",
|
||||
"SunflowerPlains",
|
||||
"Forest",
|
||||
"FlowerForest",
|
||||
"BirchForest",
|
||||
"BirchForestM",
|
||||
"RoofedForest",
|
||||
"Swampland",
|
||||
"Jungle",
|
||||
"JungleM",
|
||||
"JungleEdge",
|
||||
"JungleEdgeM",
|
||||
"MushroomIsland",
|
||||
"Desert",
|
||||
"Savanna",
|
||||
"SavannaM",
|
||||
"Mesa",
|
||||
"MesaPlateauF",
|
||||
}
|
||||
|
||||
local OCEAN_MIN = -15
|
||||
local DEEP_OCEAN_MAX = OCEAN_MIN - 1
|
||||
local DEEP_OCEAN_MIN = -31
|
||||
|
||||
-- Ice Plains Spikes (rare)
|
||||
minetest.register_biome({
|
||||
|
@ -1112,6 +1150,36 @@ local function register_biomes()
|
|||
heat_point = 50,
|
||||
})
|
||||
|
||||
-- Add deep ocean and underground biomes automatically.
|
||||
for i=1, #overworld_biomes do
|
||||
local biome = overworld_biomes[i]
|
||||
|
||||
-- Deep Ocean: Has gravel floor
|
||||
minetest.register_biome({
|
||||
name = biome .. "_deep_ocean",
|
||||
heat_point = minetest.registered_biomes[biome].heat_point,
|
||||
humidity_point = minetest.registered_biomes[biome].humidity_point,
|
||||
y_min = DEEP_OCEAN_MIN,
|
||||
y_max = DEEP_OCEAN_MAX,
|
||||
node_top = "mcl_core:gravel",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:gravel",
|
||||
depth_filler = 2,
|
||||
node_riverbed = "mcl_core:gravel",
|
||||
depth_riverbed = 2,
|
||||
})
|
||||
|
||||
-- Underground biomes are used to identify the underground and to prevent nodes from the surface
|
||||
-- (sand, dirt) from leaking into the underground.
|
||||
minetest.register_biome({
|
||||
name = biome .. "_underground",
|
||||
heat_point = minetest.registered_biomes[biome].heat_point,
|
||||
humidity_point = minetest.registered_biomes[biome].humidity_point,
|
||||
y_min = mcl_vars.mg_overworld_min,
|
||||
y_max = DEEP_OCEAN_MIN - 1,
|
||||
})
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
-- Register biomes of non-Overworld biomes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue