mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-25 20:11:06 +01:00
Implement doVinesSpread
This commit is contained in:
parent
f819b31613
commit
58d7ac65c7
2 changed files with 19 additions and 2 deletions
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue