Set param2 to 1 if player places leaves

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

View File

@ -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
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
item.

View File

@ -244,6 +244,12 @@ minetest.register_globalstep(function(dtime)
math.floor(dtime * finds_per_second)
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({
nodenames = {"group:leafdecay"},
neighbors = {"air", "group:liquid"},

View File

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