Add experimental setting to disable superflat

This commit is contained in:
Wuzzy 2017-07-02 22:35:46 +02:00
parent b225ecf51f
commit 1db851b42b
3 changed files with 29 additions and 5 deletions

View file

@ -23,13 +23,17 @@ if mg_name ~= "flat" then
mcl_vars.mg_bedrock_is_rough = true
else
local ground = minetest.get_mapgen_setting("mgflat_ground_level")
ground = tonumber(ground)
if not ground then
ground = 8
end
mcl_vars.mg_overworld_min = ground - 3
mcl_vars.mg_overworld_max = mcl_vars.mg_overworld_min + minecraft_height_limit
-- 1 perfectly flat bedrock layer
if minetest.get_mapgen_setting("mcl_superflat_classic") == "false" then
mcl_vars.mg_overworld_min = -30912
else
mcl_vars.mg_overworld_min = ground - 3
end
mcl_vars.mg_overworld_max = mcl_vars.mg_overworld_min + minecraft_height_limit
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_lava = false

View file

@ -883,8 +883,19 @@ if mg_name == "v6" then
register_mgv6_decorations()
end
if mg_name == "flat" then
minetest.set_mapgen_setting("mg_flags", "nocaves,nodungeons,nodecorations,light", true)
minetest.set_mapgen_setting("mgflat_spflags", "nolakes,nohills", true)
local classic = minetest.get_mapgen_setting("mcl_superflat_classic")
if classic == nil then
classic = minetest.settings:get_bool("mcl_superflat_classic")
minetest.set_mapgen_setting("mcl_superflat_classic", "true", true)
end
if classic ~= "false" then
-- Enforce superflat-like mapgen: No hills, lakes or caves
minetest.set_mapgen_setting("mg_flags", "nocaves,nodungeons,nodecorations,light", true)
minetest.set_mapgen_setting("mgflat_spflags", "nolakes,nohills", true)
else
-- If superflat mode is disabled, mapgen is way more liberal
minetest.set_mapgen_setting("mg_flags", "caves,nodungeons,nodecorations,light", true)
end
else
minetest.set_mapgen_setting("mg_flags", "caves,nodungeons,decorations,light", true)
end