From 39a9e9874ee739aea91acf36c6f81fc38bce7363 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Mon, 30 May 2016 15:07:09 -0700 Subject: Builtin/game/item: Add `place_param2` nodedef field This allows a nodedef to specify a fixed value for param2 to be used for all normal placements. There are several uses for this: - nodes that require param2 to be set to a non-zero value for internal mod use. E.g. leafdecay could use this to detect that leaves are played by players. - force wallmounted or facedir value at placement at placement This overrides any player look direction or other on-the-fly param2 setting during placement. --- builtin/game/item.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'builtin') diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 36c2c1a68..26ff8225c 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -250,7 +250,9 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2) local newnode = {name = def.name, param1 = 0, param2 = param2} -- Calculate direction for wall mounted stuff like torches and signs - if def.paramtype2 == 'wallmounted' and not param2 then + if def.place_param2 ~= nil then + newnode.param2 = def.place_param2 + elseif def.paramtype2 == 'wallmounted' and not param2 then local dir = { x = under.x - above.x, y = under.y - above.y, -- cgit v1.2.3