diff options
author | TenPlus1 <kinsellaja@yahoo.com> | 2018-03-09 13:17:06 +0000 |
---|---|---|
committer | TenPlus1 <kinsellaja@yahoo.com> | 2018-03-09 13:17:06 +0000 |
commit | bb208f8d5b9c4926a2651d2734fac85a0e7902e8 (patch) | |
tree | b740f0a8df81f25da9de93e9c641c932abb8365d /beanpole.lua | |
parent | 0f8c1dd4c9b82801ad04323d703736364462a93c (diff) |
trellis and beanpole can be used in itemframes
Diffstat (limited to 'beanpole.lua')
-rw-r--r-- | beanpole.lua | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/beanpole.lua b/beanpole.lua index 5bd0448..7b01af5 100644 --- a/beanpole.lua +++ b/beanpole.lua @@ -97,11 +97,32 @@ minetest.register_node("farming:beanpole", { on_place = function(itemstack, placer, pointed_thing) - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then + local pt = pointed_thing + + -- check if pointing at a node + if not pt or pt.type ~= "node" then + return + end + + local under = minetest.get_node(pt.under) + + -- return if any of the nodes are not registered + if not minetest.registered_nodes[under.name] then + return + end + + -- am I right-clicking on something that has a custom on_place set? + -- thanks to Krock for helping with this issue :) + local def = minetest.registered_nodes[under.name] + if def and def.on_rightclick then + return def.on_rightclick(pt.under, under, placer, itemstack) + end + + if minetest.is_protected(pt.under, placer:get_player_name()) then return end - local nodename = minetest.get_node(pointed_thing.under).name + local nodename = under.name if minetest.get_item_group(nodename, "soil") < 2 then return |