summaryrefslogtreecommitdiff
path: root/beanpole.lua
diff options
context:
space:
mode:
authorTenPlus1 <kinsellaja@yahoo.com>2018-03-09 13:17:06 +0000
committerTenPlus1 <kinsellaja@yahoo.com>2018-03-09 13:17:06 +0000
commitbb208f8d5b9c4926a2651d2734fac85a0e7902e8 (patch)
treeb740f0a8df81f25da9de93e9c641c932abb8365d /beanpole.lua
parent0f8c1dd4c9b82801ad04323d703736364462a93c (diff)
trellis and beanpole can be used in itemframes
Diffstat (limited to 'beanpole.lua')
-rw-r--r--beanpole.lua25
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