mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2025-07-16 07:20:27 +02:00
add webs to level 3 tunnels, fix sunless sea chasms
This commit is contained in:
@ -17,6 +17,7 @@ local c_glow_ore = df_caverns.node_id.glow_ore
|
||||
local c_salty_cobble = df_caverns.node_id.salty_cobble
|
||||
local c_salt_crystal = df_caverns.node_id.salt_crystal
|
||||
local c_sprite = df_caverns.node_id.sprite
|
||||
local c_webs_egg = df_caverns.node_id.big_webs_egg
|
||||
|
||||
local chasms_path = minetest.get_modpath("chasms")
|
||||
|
||||
@ -365,6 +366,18 @@ local decorate_level_3 = function(minp, maxp, seed, vm, node_arrays, area, data)
|
||||
else
|
||||
df_caverns.tunnel_ceiling(minp, maxp, area, vi, nvals_cracks, data, data_param2, false)
|
||||
end
|
||||
|
||||
if c_webs_egg and not flooded_caverns and biome_name == "barren" and nvals_cracks[index2d] > 0.5 then
|
||||
if math.random() < 0.05 then
|
||||
local index = vi-ystride
|
||||
if data[index] == c_air then
|
||||
data[index] = c_webs_egg
|
||||
minetest.get_node_timer(area:position(index)):start(1)
|
||||
--minetest.debug("webs generated at " .. minetest.pos_to_string(area:position(index)))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
-- air pockets
|
||||
local ystride = area.ystride
|
||||
|
@ -18,6 +18,8 @@ local c_spongestone = df_caverns.node_id.spongestone
|
||||
local c_rock_rot = df_caverns.node_id.rock_rot
|
||||
local c_water = df_caverns.node_id.water
|
||||
local c_wet_flowstone = df_caverns.node_id.wet_flowstone
|
||||
local c_webs = df_caverns.node_id.big_webs
|
||||
local c_webs_egg = df_caverns.node_id.big_webs_egg
|
||||
|
||||
df_caverns.data_param2 = {}
|
||||
|
||||
@ -30,8 +32,8 @@ for _, content_id in pairs(df_mapitems.dry_stalagmite_ids) do
|
||||
dont_build_speleothems_on[content_id] = true
|
||||
end
|
||||
if minetest.get_modpath("big_webs") then
|
||||
dont_build_speleothems_on[df_caverns.node_id.big_webs] = true
|
||||
dont_build_speleothems_on[df_caverns.node_id.big_webs_egg] = true
|
||||
dont_build_speleothems_on[c_webs] = true
|
||||
dont_build_speleothems_on[c_webs_egg] = true
|
||||
end
|
||||
|
||||
--------------------------------------------------
|
||||
|
@ -9,6 +9,8 @@ local c_dry_flowstone = df_caverns.node_id.dry_flowstone
|
||||
local c_lava = df_caverns.node_id.lava
|
||||
local c_obsidian = df_caverns.node_id.obsidian
|
||||
|
||||
local chasms_path = minetest.get_modpath("chasms")
|
||||
|
||||
local c_coral_table = {}
|
||||
for node_name, node_def in pairs(minetest.registered_nodes) do
|
||||
if minetest.get_item_group(node_name, "dfcaverns_cave_coral") > 0 then
|
||||
@ -383,6 +385,17 @@ local decorate_sunless_sea = function(minp, maxp, seed, vm, node_arrays, area, d
|
||||
data_param2[vi] = math.random(1,4)-1
|
||||
minetest.get_node_timer(area:position(vi)):start(math.random(10, 60))
|
||||
end
|
||||
|
||||
if chasms_path then
|
||||
local pos = area:position(vi)
|
||||
if chasms.is_in_chasm(pos) then
|
||||
if pos.y <= sea_level then
|
||||
data[vi] = c_water
|
||||
else
|
||||
data[vi] = c_air
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user