Add on_rightclick(pos, node, clicker) callback for nodes
This commit is contained in:
parent
f264cf9833
commit
42e67c79c1
|
@ -231,9 +231,19 @@ function minetest.item_place_object(itemstack, placer, pointed_thing)
|
|||
end
|
||||
|
||||
function minetest.item_place(itemstack, placer, pointed_thing)
|
||||
-- Call on_rightclick if the pointed node defines it
|
||||
if pointed_thing.type == "node" then
|
||||
local n = minetest.env:get_node(pointed_thing.under)
|
||||
local nn = n.name
|
||||
if minetest.registered_nodes[nn] and minetest.registered_nodes[nn].on_rightclick then
|
||||
minetest.registered_nodes[nn].on_rightclick(pointed_thing.under, n, placer)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
if itemstack:get_definition().type == "node" then
|
||||
return minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||
else
|
||||
elseif itemstack:get_definition().type ~= "none" then
|
||||
return minetest.item_place_object(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end
|
||||
|
@ -375,6 +385,7 @@ minetest.nodedef_default = {
|
|||
can_dig = nil,
|
||||
|
||||
on_punch = redef_wrapper(minetest, 'node_punch'), -- minetest.node_punch
|
||||
on_rightclick = nil,
|
||||
on_dig = redef_wrapper(minetest, 'node_dig'), -- minetest.node_dig
|
||||
|
||||
on_receive_fields = nil,
|
||||
|
@ -464,7 +475,7 @@ minetest.noneitemdef_default = { -- This is used for the hand and unknown items
|
|||
tool_capabilities = nil,
|
||||
|
||||
-- Interaction callbacks
|
||||
on_place = nil,
|
||||
on_place = redef_wrapper(minetest, 'item_place'),
|
||||
on_drop = nil,
|
||||
on_use = nil,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue