diff --git a/trunks/nodes.lua b/trunks/nodes.lua index a5c0243..105f35b 100644 --- a/trunks/nodes.lua +++ b/trunks/nodes.lua @@ -44,14 +44,19 @@ for i in pairs(NoDe) do liquids_pointable = true, on_place = function(itemstack, placer, pointed_thing) local pt = pointed_thing - if not minetest.is_protected(pt.above, placer:get_player_name()) then - local direction = minetest.dir_to_facedir(placer:get_look_dir()) - if minetest.get_node(pt.above).name=="air" then - minetest.swap_node(pt.above, {name="trunks:twig_"..random(1,4), param2=direction}) - if not minetest.setting_getbool("creative_mode") then - itemstack:take_item() - end - return itemstack + + if not placer then return end + local playername = placer:get_player_name() + if minetest.is_protected(pt.above, playername) then + minetest.record_protection_violation(pt.above, playername) + return + end + + local direction = minetest.dir_to_facedir(placer:get_look_dir()) + if minetest.get_node(pt.above).name=="air" then + minetest.swap_node(pt.above, {name="trunks:twig_"..math.random(1,4), param2=direction}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() end end end,