diff --git a/mods/CORE/mcl_init/init.lua b/mods/CORE/mcl_init/init.lua index 7fc13dcfe..4faa42c0b 100644 --- a/mods/CORE/mcl_init/init.lua +++ b/mods/CORE/mcl_init/init.lua @@ -8,21 +8,29 @@ mcl_vars.gui_bg_img = "" mcl_vars.inventory_header = mcl_vars.gui_slots .. mcl_vars.gui_bg +-- Mapgen variables local mg_name = minetest.get_mapgen_setting("mg_name") +local minecraft_height_limit = 256 if mg_name ~= "flat" then + mcl_vars.mg_overworld_min = -62 + mcl_vars.mg_overworld_max = mcl_vars.mg_overworld_min + minecraft_height_limit + -- 1 flat bedrock layer with 4 rough layers above - mcl_vars.bedrock_overworld_min = -62 - mcl_vars.bedrock_overworld_max = mcl_vars.bedrock_overworld_min + 4 - mcl_vars.bedrock_is_rough = true + mcl_vars.mg_bedrock_overworld_min = mcl_vars.mg_overworld_min + mcl_vars.mg_bedrock_overworld_max = mcl_vars.mg_bedrock_overworld_min + 4 + mcl_vars.mg_bedrock_is_rough = true else - -- 1 perfectly flat bedrock layer local ground = minetest.get_mapgen_setting("mgflat_ground_level") if not ground then ground = 8 end - mcl_vars.bedrock_overworld_min = ground - 3 - mcl_vars.bedrock_overworld_max = mcl_vars.bedrock_overworld_min - mcl_vars.bedrock_is_rough = false + mcl_vars.mg_overworld_min = ground - 1 + mcl_vars.mg_overworld_max = mcl_vars.mg_overworld_min + minecraft_height_limit + + -- 1 perfectly flat bedrock layer + mcl_vars.mg_bedrock_overworld_min = mcl_vars.mg_overworld_min + mcl_vars.mg_bedrock_overworld_max = mcl_vars.mg_bedrock_overworld_min + mcl_vars.mg_bedrock_is_rough = false end -- Set default stack sizes diff --git a/mods/CORE/mcl_util/init.lua b/mods/CORE/mcl_util/init.lua index 5cbdf134b..f965e7d37 100644 --- a/mods/CORE/mcl_util/init.lua +++ b/mods/CORE/mcl_util/init.lua @@ -200,8 +200,8 @@ end -- 2nd return value: true if it is in the deadly part of the void function mcl_util.is_in_void(pos) local void, void_deadly - void = pos.y < mcl_vars.bedrock_overworld_min - void_deadly = pos.y < mcl_vars.bedrock_overworld_min - 65 + void = pos.y < mcl_vars.mg_overworld_min + void_deadly = pos.y < mcl_vars.mg_overworld_min - 64 return void, void_deadly end @@ -213,8 +213,8 @@ end -- If the Y coordinate is not located in any dimension, it will return: -- nil, "void" function mcl_util.y_to_layer(y) - if y >= mcl_vars.bedrock_overworld_min then - return y - mcl_vars.bedrock_overworld_min, "overworld" + if y >= mcl_vars.mg_overworld_min then + return y - mcl_vars.mg_overworld_min, "overworld" else return nil, "void" end @@ -226,5 +226,5 @@ end -- minecraft_dimension parameter is ignored at the moment -- TODO: Implement dimensions function mcl_util.layer_to_y(layer, minecraft_dimension) - return layer + mcl_vars.bedrock_overworld_min + return layer + mcl_vars.mg_overworld_min end diff --git a/mods/ENVIRONMENT/weather_pack/skycolor.lua b/mods/ENVIRONMENT/weather_pack/skycolor.lua index 180c8f993..7c54dfb04 100644 --- a/mods/ENVIRONMENT/weather_pack/skycolor.lua +++ b/mods/ENVIRONMENT/weather_pack/skycolor.lua @@ -74,7 +74,7 @@ skycolor = { players = skycolor.utils.get_players(players) for _, player in ipairs(players) do local pos = player:getpos() - if pos.y >= mcl_vars.bedrock_overworld_max then + if pos.y >= mcl_vars.mg_bedrock_overworld_max then player:set_sky(color, "plain", nil) end end @@ -112,7 +112,7 @@ skycolor = { local players = skycolor.utils.get_players(nil) for _, player in ipairs(players) do local pos = player:getpos() - if pos.y >= mcl_vars.bedrock_overworld_max then + if pos.y >= mcl_vars.mg_bedrock_overworld_max then player:set_sky(color, "plain", nil) end end @@ -125,7 +125,7 @@ skycolor = { local players = skycolor.utils.get_players(players) for _, player in ipairs(players) do local pos = player:getpos() - if pos.y >= mcl_vars.bedrock_overworld_max then + if pos.y >= mcl_vars.mg_bedrock_overworld_max then player:set_sky(nil, "regular", nil) end end diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 334195593..e2f3a7860 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -563,8 +563,8 @@ end) -- Generate bedrock layer or layers -local BEDROCK_MIN = mcl_vars.bedrock_overworld_min -local BEDROCK_MAX = mcl_vars.bedrock_overworld_max +local BEDROCK_MIN = mcl_vars.mg_bedrock_overworld_min +local BEDROCK_MAX = mcl_vars.mg_bedrock_overworld_max -- Below the bedrock, generate air/void @@ -581,7 +581,7 @@ minetest.register_on_generated(function(minp, maxp) for z = minp.z, maxp.z do local p_pos = area:index(x, y, z) local setdata = nil - if mcl_vars.bedrock_is_rough then + if mcl_vars.mg_bedrock_is_rough then -- Bedrock layers with increasing levels of roughness, until a perfecly flat bedrock later at the bottom layer -- This code assumes a bedrock height of 5 layers. if y == BEDROCK_MAX then diff --git a/mods/PLAYER/playerplus/init.lua b/mods/PLAYER/playerplus/init.lua index be0312bec..744f8d170 100644 --- a/mods/PLAYER/playerplus/init.lua +++ b/mods/PLAYER/playerplus/init.lua @@ -122,7 +122,7 @@ minetest.register_globalstep(function(dtime) end -- Apply black sky in the Void and deal Void damage - if pos.y < mcl_vars.bedrock_overworld_max then + if pos.y < mcl_vars.mg_bedrock_overworld_max then -- Player reached the void, set black sky box player:set_sky("#000000", "plain") -- FIXME: Sky handling in MCL2 is held together with lots of duct tape.