summaryrefslogtreecommitdiff
path: root/farming/grapes.lua
diff options
context:
space:
mode:
Diffstat (limited to 'farming/grapes.lua')
-rw-r--r--farming/grapes.lua26
1 files changed, 24 insertions, 2 deletions
diff --git a/farming/grapes.lua b/farming/grapes.lua
index baedb4e..9a6ab9e 100644
--- a/farming/grapes.lua
+++ b/farming/grapes.lua
@@ -60,6 +60,7 @@ minetest.register_craftitem("farming:grapes", {
description = S("Grapes"),
inventory_image = "farming_grapes.png",
on_use = minetest.item_eat(2),
+ groups = {food_grapes = 1, flammable = 3},
on_place = function(itemstack, placer, pointed_thing)
return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1")
@@ -92,11 +93,32 @@ minetest.register_node("farming:trellis", {
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