make sure the pointed thing is a node before checking protection

This commit is contained in:
Vanessa Ezekowitz 2017-03-18 14:34:18 -04:00
parent 726bb75e1d
commit cf186f5f9c

@ -561,13 +561,14 @@ function unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
end end
function unifieddyes.on_use(itemstack, player, pointed_thing) function unifieddyes.on_use(itemstack, player, pointed_thing)
local playername = player:get_player_name() local playername = player:get_player_name()
if minetest.is_protected(unifieddyes.select_node(pointed_thing), playername) if pointed_thing and pointed_thing.type == "node" then
and not minetest.check_player_privs(playername, "protection_bypass") then if minetest.is_protected(unifieddyes.select_node(pointed_thing), playername)
minetest.chat_send_player(playername, "Sorry, someone else owns that spot.") and not minetest.check_player_privs(playername, "protection_bypass") then
return minetest.chat_send_player(playername, "Sorry, someone else owns that spot.")
return
end
end end
if pointed_thing and pointed_thing.type == "object" then if pointed_thing and pointed_thing.type == "object" then
@ -575,7 +576,7 @@ function unifieddyes.on_use(itemstack, player, pointed_thing)
return player:get_wielded_item() -- punch may modified the wielded item, load the new and return it return player:get_wielded_item() -- punch may modified the wielded item, load the new and return it
end end
if not (pointed_thing and pointed_thing.type == "node") then return end -- if "using" the dye not on a node if not (pointed_thing and pointed_thing.type == "node") then return end -- if "using" the dye on nothing at all (e.g. air)
local pos = minetest.get_pointed_thing_position(pointed_thing) local pos = minetest.get_pointed_thing_position(pointed_thing)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)