Additional checks for tool drop
authorTenPlus1 <kinsellaja@yahoo.com>
Wed, 23 Dec 2015 21:31:51 +0000 (21:31 +0000)
committerTenPlus1 <kinsellaja@yahoo.com>
Wed, 23 Dec 2015 21:31:51 +0000 (21:31 +0000)
init.lua

index 42257d7..8a4f46f 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -214,14 +214,16 @@ function minetest.is_protected(pos, digger)
 
                local player = minetest.get_player_by_name(digger)
 
-               if protector.hurt > 0 then
+               if protector.hurt > 0
+               and player then
                        player:set_hp(player:get_hp() - protector.hurt)
                end
 
-               if protector.drop == true then
+               if protector.drop == true
+               and player then
                        -- drop tool/item if protection violated
                        local tool = player:get_wielded_item()
-                       local wear = tool:get_wear()
+                       --local wear = tool:get_wear()
                        local num = player:get_wield_index()
                        local player_inv = player:get_inventory()
                        local inv = player_inv:get_stack("main", num)
@@ -231,7 +233,7 @@ function minetest.is_protected(pos, digger)
                        if obj then
                                obj:setvelocity({x = 0, y = 5, z = 0})
                                player:set_wielded_item(nil)
-                               minetest.after(0.1, function()
+                               minetest.after(0.2, function()
                                        player_inv:set_stack("main", num, nil)
                                end)
                        end