From 0c5d49ffd55cf6ba9fa9e702f3bd7835503dca71 Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Sat, 27 Mar 2021 18:33:13 -0600 Subject: [PATCH] add webs to level 3 tunnels, fix sunless sea chasms --- big_webs/init.lua | 4 ++++ big_webs/textures/big_webs_item.png | Bin 0 -> 380 bytes chasms/init.lua | 4 ++-- df_caverns/level3.lua | 13 +++++++++++++ df_caverns/shared.lua | 6 ++++-- df_caverns/sunless_sea.lua | 13 +++++++++++++ subterrane | 2 +- 7 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 big_webs/textures/big_webs_item.png diff --git a/big_webs/init.lua b/big_webs/init.lua index 5044672..d303ea4 100644 --- a/big_webs/init.lua +++ b/big_webs/init.lua @@ -132,6 +132,8 @@ minetest.register_node("big_webs:webbing", { drawtype = "nodebox", node_box = get_node_box(0.0625), collision_box = get_node_box(0.0625), + inventory_image = "big_webs_item.png", + wield_image = "big_webs_item.png", paramtype = "light", is_ground_content = false, climbable = true, @@ -183,6 +185,8 @@ minetest.register_node("big_webs:web_egg", { drawtype = "nodebox", node_box = get_node_box(0.0625), collision_box = get_node_box(0.0625), + inventory_image = "big_webs_item.png", + wield_image = "big_webs_item.png", paramtype = "light", is_ground_content = false, climbable = true, diff --git a/big_webs/textures/big_webs_item.png b/big_webs/textures/big_webs_item.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc021d971320923fd5a28e581d3c39e37dbf79c GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}et=JiE0F&G|NoOGPk`iu2M>UZ zuV25ud-o2=28v(;h?+-_9s!lXbphExm2mA4y+BzY1E>-x1u+)L6_P1A475_QB*-tA zK}RPN1PTkwCNJ84;V}rjc=7rz5WN5X=g*(NrfjuKfr@8)x;TbZ#JQfn9pq#v;Bv9I z_(PxVVucFMTb}>^OS{%utp1f5Zu)OWYU$UmzdPFAu-*O~9h9^Abte0d>^Z@vyPFR) zetBl_;Su}drplbPleD6e)p|NQbtFFMz0hHv-y)>4PCZfhe?9x@AF>{i28uHO?%bZ| zuIPB<&9~EMmDr~i 0.5 local web_y = math.random(minp.y+8, maxp.y-8) local web_z = math.random(minp.z+8, maxp.z-8) diff --git a/df_caverns/level3.lua b/df_caverns/level3.lua index 14a1753..0a5ff23 100644 --- a/df_caverns/level3.lua +++ b/df_caverns/level3.lua @@ -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 diff --git a/df_caverns/shared.lua b/df_caverns/shared.lua index 640ce17..733e257 100644 --- a/df_caverns/shared.lua +++ b/df_caverns/shared.lua @@ -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 -------------------------------------------------- diff --git a/df_caverns/sunless_sea.lua b/df_caverns/sunless_sea.lua index 8a8e0b6..4625ccc 100644 --- a/df_caverns/sunless_sea.lua +++ b/df_caverns/sunless_sea.lua @@ -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 diff --git a/subterrane b/subterrane index 6439ca5..6cc2fe8 160000 --- a/subterrane +++ b/subterrane @@ -1 +1 @@ -Subproject commit 6439ca59bfe8e3e4c5ed0826f41d2c49b862fb75 +Subproject commit 6cc2fe8faea4026101dc9f462a7594edfc26ca7f