Skip to content

Commit

Permalink
Let apples fall when the tree is decaying
Browse files Browse the repository at this point in the history
  • Loading branch information
PilzAdam committed May 21, 2013
1 parent c1cd24c commit 0dd813b
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
6 changes: 5 additions & 1 deletion mods/default/functions.lua
Expand Up @@ -216,6 +216,9 @@ minetest.register_abm({
--
-- If param2 of the node is ~= 0, the node will always be preserved. Thus, if
-- the player places a node of that kind, you will want to set param2=1 or so.
--
-- If the node is in the leafdecay_drop group then the it will always be dropped
-- as an item

default.leafdecay_trunk_cache = {}
default.leafdecay_enable_cache = true
Expand Down Expand Up @@ -284,7 +287,8 @@ minetest.register_abm({
-- Drop stuff other than the node itself
itemstacks = minetest.get_node_drops(n0.name)
for _, itemname in ipairs(itemstacks) do
if itemname ~= n0.name then
if minetest.get_item_group(n0.name, "leafdecay_drop") ~= 0 or
itemname ~= n0.name then
local p_drop = {
x = p0.x - 0.5 + math.random(),
y = p0.y - 0.5 + math.random(),
Expand Down
7 changes: 6 additions & 1 deletion mods/default/nodes.lua
Expand Up @@ -1124,9 +1124,14 @@ minetest.register_node("default:apple", {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
},
groups = {fleshy=3,dig_immediate=3,flammable=2},
groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=1,leafdecay_drop=1},
on_use = minetest.item_eat(4),
sounds = default.node_sound_defaults(),
after_place_node = function(pos, placer, itemstack)
if placer:is_player() then
minetest.env:set_node(pos, {name="default:apple", param2=1})
end
end,
})

minetest.register_node("default:dry_shrub", {
Expand Down

0 comments on commit 0dd813b

Please sign in to comment.