From 58d7ac65c7ca8093f3c75d8c0d24461b82e52964 Mon Sep 17 00:00:00 2001 From: teknomunk Date: Sun, 9 Jun 2024 21:41:11 -0500 Subject: [PATCH] Implement doVinesSpread --- mods/ITEMS/mcl_core/functions.lua | 19 ++++++++++++++++++- mods/ITEMS/mcl_core/mod.conf | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_core/functions.lua b/mods/ITEMS/mcl_core/functions.lua index 49395b588..441ccb3b6 100644 --- a/mods/ITEMS/mcl_core/functions.lua +++ b/mods/ITEMS/mcl_core/functions.lua @@ -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 random = math.random @@ -1192,6 +1199,13 @@ local function vine_spread_horizontal(origin, dir, node) 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({ label = "Vine growth", nodenames = {"mcl_core:vine"}, @@ -1199,6 +1213,9 @@ minetest.register_abm({ chance = 4, action = function(pos, node, active_object_count, active_object_count_wider) -- 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 minetest.remove_node(pos) vinedecay_particles(pos, node) diff --git a/mods/ITEMS/mcl_core/mod.conf b/mods/ITEMS/mcl_core/mod.conf index d96f159b5..872eaa816 100644 --- a/mods/ITEMS/mcl_core/mod.conf +++ b/mods/ITEMS/mcl_core/mod.conf @@ -1,4 +1,4 @@ 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. -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