Set param2 to 1 if player places leaves 367/head
authorPilzAdam <pilzadam@minetest.net>
Sat, 6 Dec 2014 10:08:41 +0000 (11:08 +0100)
committerPilzAdam <pilzadam@minetest.net>
Sat, 6 Dec 2014 19:36:20 +0000 (20:36 +0100)
game_api.txt
mods/default/functions.lua
mods/default/nodes.lua

index 9052e2ae3ba142e291da98dac7a0388de407fc52..4424b20ba02ffb5da81a7e0354652b1068c0a914 100644 (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.
index 630cdbdb7ac56a9d8fc76f79284a35ff03c3accf..ecb7f61226a65fffa605411e0352bcba59c60584 100644 (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"},
index 7e7977c6b51a6d76618826d5f38c2e3a659bbcb6..a4fe2c37e55ac696ad8cb1c87e0e629db0dde15a 100644 (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", {