Set param2 to 1 if player places leaves

This commit is contained in:
PilzAdam 2014-12-06 11:08:41 +01:00
parent 2c2edfad04
commit 9ec33f34f1
3 changed files with 13 additions and 0 deletions

@ -206,5 +206,9 @@ the node can be without decaying.
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.
The function default.after_place_leaves can be set as after_place_node of a node
to set param2 to 1 if the player places the node (should not be used for nodes
that use param2 otherwise (e.g. facedir)).
If the node is in the leafdecay_drop group then it will always be dropped as an If the node is in the leafdecay_drop group then it will always be dropped as an
item. item.

@ -244,6 +244,12 @@ minetest.register_globalstep(function(dtime)
math.floor(dtime * finds_per_second) math.floor(dtime * finds_per_second)
end) end)
default.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
local node = minetest.get_node(pos)
node.param2 = 1
minetest.set_node(pos, node)
end
minetest.register_abm({ minetest.register_abm({
nodenames = {"group:leafdecay"}, nodenames = {"group:leafdecay"},
neighbors = {"air", "group:liquid"}, neighbors = {"air", "group:liquid"},

@ -277,6 +277,7 @@ minetest.register_node("default:jungleleaves", {
} }
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
}) })
minetest.register_node("default:junglesapling", { minetest.register_node("default:junglesapling", {
@ -341,6 +342,7 @@ minetest.register_node("default:leaves", {
} }
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
}) })
minetest.register_node("default:cactus", { minetest.register_node("default:cactus", {
@ -1505,6 +1507,7 @@ minetest.register_node("default:pine_needles",{
} }
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
}) })
minetest.register_node("default:pine_sapling", { minetest.register_node("default:pine_sapling", {