diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index b6d4fe4db2..c16e7561e9 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -23,9 +23,38 @@ end -- All mapgens except mgv6, flat and singlenode local function register_biomes() --[[ OVERWORLD ]] - -- Ice spikes + + --[[ These biomes try to resemble MC as good as possible. This means especially the floor cover and + the type of plants and structures (shapes might differ). The terrain itself will be of course different + and depends on the mapgen. + Important: MC also takes the terrain into account while MT biomes don't care about the terrain at all + (except height). + MC has many “M” and “Hills” variants, most of which only differ in terrain compared to their original + counterpart. + 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, MC biomes are usually split in two parts: A land part and an ocean part. Sometimes there's a beach/shore part as well. + + The ocean biomes correspond to the MC Ocean biome. + + Other intentionally missing biomes: + * River (generated by valleys and v7) + * Plateau (pure terrain) + + Tricky are the beach (esp. stone beach) and mushroom island biomes as they have specific conditions we can't check in MT. :( + TODO: Find a way to position these biomes accordingly. + + Biomes TODO list: + * Savanna M (coarse dirt instead of dirt) + * Jungle Edge M (super rare but melons are common here) + * Mesa biomes + ]] + + + -- Ice Plains Spikes minetest.register_biome({ - name = "ice_plains_spike", + name = "ice_plains_spikes", node_top = "mcl_core:snowblock", depth_top = 2, node_filler = "mcl_core:snowblock", @@ -40,10 +69,8 @@ local function register_biomes() heat_point = 0, humidity_point = 73, }) - - -- Frozen ocean minetest.register_biome({ - name = "ice_plains_spike_ocean", + name = "ice_plains_spikes_ocean", node_top = "mcl_core:gravel", depth_top = 2, node_filler = "mcl_core:dirt", @@ -106,7 +133,7 @@ local function register_biomes() humidity_point = 40, }) - -- Mega taiga + -- Mega Taiga minetest.register_biome({ name = "mega_taiga", node_top = "mcl_core:podzol", @@ -135,7 +162,7 @@ local function register_biomes() humidity_point = 72, }) - -- Mega spruce taiga + -- Mega Spruce Taiga minetest.register_biome({ name = "mega_spruce_taiga", node_top = "mcl_core:podzol", @@ -254,8 +281,7 @@ local function register_biomes() humidity_point = 35, }) - -- Sub-biome for snow-covered mountains - -- TODO: Find a more generic way to cover high areas with snow, defining a new biome seems tedious. + ---- Sub-biome Extra biome for Extreme Hills+ for those snow forests minetest.register_biome({ name = "extreme_hills_plus_snowtop", node_dust = "mcl_core:snow", @@ -285,7 +311,7 @@ local function register_biomes() humidity_point = 35, }) - -- Stone beach + -- Stone Beach minetest.register_biome({ name = "stone_beach", y_min = -6, @@ -307,7 +333,7 @@ local function register_biomes() humidity_point = 15, }) - -- Ice plains + -- Ice Plains minetest.register_biome({ name = "ice_plains", node_dust = "mcl_core:snow", @@ -457,7 +483,7 @@ local function register_biomes() humidity_point = 73, --was 70 }) - -- (Deciduous) forest + -- Forest minetest.register_biome({ name = "forest", node_top = "mcl_core:dirt_with_grass", @@ -500,7 +526,7 @@ local function register_biomes() humidity_point = 44, --was 68 }) - -- Flower forest + -- Flower Forest minetest.register_biome({ name = "flower_forest", node_top = "mcl_core:dirt_with_grass", @@ -543,7 +569,7 @@ local function register_biomes() humidity_point = 51, }) - -- Birch forest + -- Birch Forest minetest.register_biome({ name = "birch_forest", node_top = "mcl_core:dirt_with_grass", @@ -572,7 +598,7 @@ local function register_biomes() humidity_point = 49, }) - -- Birch forest M + -- Birch Forest M minetest.register_biome({ name = "birch_forest_m", node_top = "mcl_core:dirt_with_grass", @@ -602,6 +628,7 @@ local function register_biomes() }) -- Desert (Red Sand) + -- FIXME: Not a real biome in MC minetest.register_biome({ name = "red_desert", node_top = "mcl_core:redsand", @@ -631,7 +658,7 @@ local function register_biomes() humidity_point = 37, --was 16 }) - -- Desert (Sand) + -- Desert minetest.register_biome({ name = "desert", node_top = "mcl_core:sand", @@ -661,7 +688,7 @@ local function register_biomes() humidity_point = 0, --was 0 }) - -- Roofed forest + -- Roofed Forest minetest.register_biome({ name = "roofed_forest", node_top = "mcl_core:dirt_with_grass", @@ -719,6 +746,7 @@ local function register_biomes() heat_point = 88, humidity_point = 20, }) + -- TODO: More mesa biomes -- Savanna minetest.register_biome({ @@ -806,7 +834,7 @@ local function register_biomes() humidity_point = 91, }) - -- Jungle edge + -- Jungle Edge minetest.register_biome({ name = "jungle_edge", node_top = "mcl_core:dirt_with_grass", @@ -859,6 +887,7 @@ local function register_biomes() node_riverbed = "mcl_core:sand", depth_riverbed = 2, y_min = 1, + -- Note: Limited in height! y_max = 23, heat_point = 60, humidity_point = 99, @@ -892,7 +921,7 @@ local function register_biomes() humidity_point = 99, }) - -- Mushroom biomes + -- Mushroom Island / Mushroom Island Shore -- TODO: Make sure these biomes only spawn in islands minetest.register_biome({ name = "mushroom_island", @@ -903,6 +932,7 @@ local function register_biomes() node_riverbed = "mcl_core:sand", depth_riverbed = 2, y_min = 4, + -- Note: Limited in height! y_max = 20, heat_point = 99, humidity_point = 99, @@ -1456,7 +1486,7 @@ local function register_decorations() octaves = 4, persist = 0.67, }, - biomes = {"ice_plains_spike"}, + biomes = {"ice_plains_spikes"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, schematic = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_ice_spike_large.mts", @@ -1477,7 +1507,7 @@ local function register_decorations() octaves = 4, persist = 0.67, }, - biomes = {"ice_plains_spike"}, + biomes = {"ice_plains_spikes"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, schematic = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_ice_spike_small.mts",