forked from minetest/minetest_game
Let apples fall when the tree is decaying
This commit is contained in:
parent
c1cd24c378
commit
0dd813b5f8
@ -216,6 +216,9 @@ minetest.register_abm({
|
|||||||
--
|
--
|
||||||
-- If param2 of the node is ~= 0, the node will always be preserved. Thus, if
|
-- 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.
|
-- 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_trunk_cache = {}
|
||||||
default.leafdecay_enable_cache = true
|
default.leafdecay_enable_cache = true
|
||||||
@ -284,7 +287,8 @@ minetest.register_abm({
|
|||||||
-- Drop stuff other than the node itself
|
-- Drop stuff other than the node itself
|
||||||
itemstacks = minetest.get_node_drops(n0.name)
|
itemstacks = minetest.get_node_drops(n0.name)
|
||||||
for _, itemname in ipairs(itemstacks) do
|
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 = {
|
local p_drop = {
|
||||||
x = p0.x - 0.5 + math.random(),
|
x = p0.x - 0.5 + math.random(),
|
||||||
y = p0.y - 0.5 + math.random(),
|
y = p0.y - 0.5 + math.random(),
|
||||||
|
@ -1124,9 +1124,14 @@ minetest.register_node("default:apple", {
|
|||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
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),
|
on_use = minetest.item_eat(4),
|
||||||
sounds = default.node_sound_defaults(),
|
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", {
|
minetest.register_node("default:dry_shrub", {
|
||||||
|
Loading…
Reference in New Issue
Block a user