From 974db128672f20b4eaf331d784659cbf447f8e2d Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 17 Aug 2017 23:14:02 +0200 Subject: [PATCH] Register dimension stuff independent of mapgen --- mods/MAPGEN/mcl_biomes/init.lua | 32 +++++++++++++++++----------- mods/MAPGEN/mcl_mapgen_core/init.lua | 4 ++-- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 4dfadfee15..c3af70d65a 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -1,7 +1,6 @@ -- --- Register biomes for mapgens other than v6 --- EXPERIMENTAL! +-- Register biomes -- local function register_classic_superflat_biome() @@ -549,13 +548,13 @@ local function register_biomes() heat_point = 50, humidity_point = 50, }) +end - +-- Register biomes of non-Overworld biomes +local function register_dimension_biomes() --[[ REALMS ]] - -- TODO: Make these work in v6, too. --[[ THE NETHER ]] - minetest.register_biome({ name = "nether", node_filler = "mcl_nether:netherrack", @@ -569,20 +568,18 @@ local function register_biomes() }) --[[ THE END ]] - minetest.register_biome({ name = "end", node_filler = "mcl_end:end_stone", node_stone = "mcl_end:end_stone", - y_min = mcl_vars.mg_end_min, - -- FIXME: For some reason the Nether stops generating early if this constant is not added. + -- FIXME: For some reason the End stops generating early if this constant is not added. -- Figure out why. + y_min = mcl_vars.mg_end_min, y_max = mcl_vars.mg_end_max + 80, heat_point = 50, humidity_point = 50, }) - end -- Register “fake” ores directly related to the biomes @@ -826,7 +823,10 @@ local function register_biomelike_ores() noise_threshold = 0.0, noise_params = {offset=0, scale=1, spread= {x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} , }) +end +-- Non-Overworld ores +local function register_dimension_ores() --[[ NETHER GENERATION ]] @@ -1513,6 +1513,10 @@ local function register_decorations() }) +end + +-- Decorations in non-Overworld dimensions +local function register_dimension_decorations() --[[ NETHER decorations ]] -- Red Mushroom @@ -1560,10 +1564,8 @@ local function register_decorations() y_max = mcl_vars.mg_nether_max, decoration = "mcl_nether:nether_wart", }) - end - -- -- Detect mapgen to select functions -- @@ -1582,4 +1584,10 @@ elseif mg_name == "flat" then minetest.clear_registered_schematics() register_classic_superflat_biome() end --- v6 decorations are handled in mcl_mapgen_core + +-- Non-overworld stuff is registered independently +register_dimension_biomes() +register_dimension_ores() +register_dimension_decorations() + +-- Overworld decorations for v6 are handled in mcl_mapgen_core diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 0b8999cf0c..07ffa36cb1 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -1266,8 +1266,8 @@ minetest.register_on_generated(function(minp, maxp) else -- Perfectly flat bedrock layer(s) if (y >= mcl_vars.mg_bedrock_overworld_min and y <= mcl_vars.mg_bedrock_overworld_max) or - (y >= mcl_vars.mg_bedrock_nether_bottom_min or y <= mcl_vars.mg_bedrock_bottom_max) or - (y >= mcl_vars.mg_bedrock_nether_top_min or y <= mcl_vars.mg_bedrock_top_max) then + (y >= mcl_vars.mg_bedrock_nether_bottom_min and y <= mcl_vars.mg_bedrock_nether_bottom_max) or + (y >= mcl_vars.mg_bedrock_nether_top_min and y <= mcl_vars.mg_bedrock_nether_top_max) then setdata = c_bedrock elseif mcl_util.is_in_void({x=x,y=y,z=z}) then setdata = c_void