2019-01-05 23:11:38 -05:00

20 lines
635 B
Lua

-- LUALOCALS < ---------------------------------------------------------
local ipairs, minetest, nodecore
= ipairs, minetest, nodecore
-- LUALOCALS > ---------------------------------------------------------
nodecore.register_leaf_drops, nodecore.registered_leaf_drops
= nodecore.mkreg()
function nodecore.leaf_decay(pos, node)
node = node or minetest.get_node(pos)
local t = {}
for i, v in ipairs(nodecore.registered_leaf_drops) do
t = v(pos, node, t) or t
end
local p = nodecore.pickrand(t, function(x) return x.prob end)
if not p then return end
minetest.set_node(pos, p)
return minetest.check_for_falling(pos)
end