Rope: prevent placing in non-owned protected areas

This commit is contained in:
Jean-Patrick Guerrero 2016-03-25 14:43:47 +01:00
parent e04c2bab3b
commit fda9237654

View File

@ -7,13 +7,14 @@ minetest.register_on_punchnode(function(pos, oldnode, digger)
end end
end) end)
function rope.place(itemstack, _, pointed_thing) function rope.place(itemstack, placer, pointed_thing)
if pointed_thing.type == "node" then if pointed_thing.type == "node" then
local under = pointed_thing.under local under = pointed_thing.under
local above = pointed_thing.above local above = pointed_thing.above
local pos = above local pos = above
local oldnode = minetest.get_node(pos) local oldnode = minetest.get_node(pos)
local stackname = itemstack:get_name() local stackname = itemstack:get_name()
if minetest.is_protected(pos, placer:get_player_name()) then return end
while oldnode.name == "air" and not itemstack:is_empty() do while oldnode.name == "air" and not itemstack:is_empty() do
local newnode = {name = stackname, param1 = 0} local newnode = {name = stackname, param1 = 0}