Implement doVinesSpread

This commit is contained in:
teknomunk 2024-06-09 21:41:11 -05:00
parent f819b31613
commit 58d7ac65c7
2 changed files with 19 additions and 2 deletions

View file

@ -1,4 +1,11 @@
local modpath = minetest.get_modpath(minetest.get_current_modname()) --
-- Lava vs water interactions
--
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
local S = minetest.get_translator(modname)
local mg_name = minetest.get_mapgen_setting("mg_name") local mg_name = minetest.get_mapgen_setting("mg_name")
local random = math.random local random = math.random
@ -1192,6 +1199,13 @@ local function vine_spread_horizontal(origin, dir, node)
end end
end end
---------------------
-- Vine generating --
---------------------
local do_vines_spread = vl_tuning.setting("gamerule:doVinesSpread", "bool", {
description = S("Whether vines can spread to other blocks. Cave vines, weeping vines, and twisting vines are not affected."),
default = true,
})
minetest.register_abm({ minetest.register_abm({
label = "Vine growth", label = "Vine growth",
nodenames = {"mcl_core:vine"}, nodenames = {"mcl_core:vine"},
@ -1199,6 +1213,9 @@ minetest.register_abm({
chance = 4, chance = 4,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
-- First of all, check if we are even supported, otherwise, decay. -- First of all, check if we are even supported, otherwise, decay.
if not do_vines_spread[1] then return end
-- First of all, check if we are even supported, otherwise, let's die!
if not mcl_core.check_vines_supported(pos, node) then if not mcl_core.check_vines_supported(pos, node) then
minetest.remove_node(pos) minetest.remove_node(pos)
vinedecay_particles(pos, node) vinedecay_particles(pos, node)

View file

@ -1,4 +1,4 @@
name = mcl_core name = mcl_core
description = Core items of MineClone 2: Basic biome blocks (dirt, sand, stones, etc.), derived items, glass, sugar cane, cactus, barrier, mining tools, hand, craftitems, and misc. items which don't really fit anywhere else. description = Core items of MineClone 2: Basic biome blocks (dirt, sand, stones, etc.), derived items, glass, sugar cane, cactus, barrier, mining tools, hand, craftitems, and misc. items which don't really fit anywhere else.
depends = mcl_autogroup, mcl_init, mcl_sounds, mcl_particles, mcl_util, mcl_worlds, doc_items, mcl_enchanting, mcl_colors, mcl_stonecutter depends = mcl_autogroup, mcl_init, mcl_sounds, mcl_particles, mcl_util, mcl_worlds, doc_items, mcl_enchanting, mcl_colors, mcl_stonecutter, vl_tuning
optional_depends = doc optional_depends = doc