add option to have larger caverns stretch across cave layers

This commit is contained in:
FaceDeer 2018-06-05 20:36:20 -06:00
parent 602df71908
commit 97c7e93be4
3 changed files with 71 additions and 47 deletions

View File

@ -79,53 +79,71 @@ subterrane:override_biome({
subterrane:register_cave_decor(-113, dfcaverns.config.ymax)
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.ymax,
maximum_depth = dfcaverns.config.level1_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 10,
minimum_radius = 4,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 20,
minimum_count = 0,
},
})
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.level1_min,
maximum_depth = dfcaverns.config.level2_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 15,
minimum_radius = 4,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 30,
minimum_count = 5,
},
})
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.level2_min,
maximum_depth = dfcaverns.config.level3_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 20,
minimum_radius = 5,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 50,
minimum_count = 10,
},
})
if dfcaverns.config.stone_between_layers then
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.ymax,
maximum_depth = dfcaverns.config.level1_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 10,
minimum_radius = 4,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 20,
minimum_count = 0,
},
})
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.level1_min,
maximum_depth = dfcaverns.config.level2_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 15,
minimum_radius = 4,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 30,
minimum_count = 5,
},
})
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.level2_min,
maximum_depth = dfcaverns.config.level3_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 20,
minimum_radius = 5,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 50,
minimum_count = 10,
},
})
else
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.ymax,
maximum_depth = dfcaverns.config.level3_min,
cave_threshold = dfcaverns.config.cavern_threshold,
perlin_cave = perlin_cave,
perlin_wave = perlin_wave,
columns = {
maximum_radius = 20,
minimum_radius = 4,
node = c_wet_flowstone,
weight = 0.25,
maximum_count = 50,
minimum_count = 0,
},
})
end
local perlin_cave_lava = {
offset = 0,
@ -145,6 +163,7 @@ local perlin_wave_lava = {
persist = 0.63
}
--Sunless Sea
subterrane:register_cave_layer({
minimum_depth = dfcaverns.config.level3_min,
maximum_depth = dfcaverns.config.sunless_sea_min,

View File

@ -86,6 +86,7 @@ setting("float", "lava_sea_threshold", 0.2, "Cavern threshold for sunless and ma
setting("bool", "enable_lava_sea", true, "Enable magma sea level")
setting("bool", "flooded_biomes", true, "Add a lot of water to the most humid cavern biomes")
setting("bool", "stone_between_layers", true, "Ensures that there's a solid stone floor/ceiling between cavern layers")
if minetest.get_modpath("tnt") then
dfcaverns.config.enable_tnt = minetest.settings:get_bool("enable_tnt")

View File

@ -44,6 +44,10 @@ dfcaverns_level3_min (Upper limit of the sunless sea) int -2100
dfcaverns_sunless_sea_min (Lower limit of the sunless sea) int -2500
dfcaverns_lava_sea_max (Upper limit of the lava sea) int -3000
dfcaverns_lava_sea_min (Lower limit of the lava sea) int -3500
#If this is true then there will never be a direct connection between caverns
#of the first three cavern layers. If false, it's possible for caverns to
#extend vertically through the boundary.
dfcaverns_stone_between_layers (Ensure there's stone between layers) bool true
[Lower Seas]
#Determines threshold for lower sea cave generation. Higher number means sparser cavern