]> git.lizzy.rs Git - xdecor.git/commitdiff
Don't crash on nil-player in can_dig and check the right players for attachment in...
authorTim <t4im@users.noreply.github.com>
Fri, 5 Aug 2016 20:17:15 +0000 (22:17 +0200)
committerTim <t4im@users.noreply.github.com>
Fri, 5 Aug 2016 22:06:51 +0000 (00:06 +0200)
handlers/animations.lua
itemframe.lua
mailbox.lua

index ea6c83cd932df39950a01d3cdeb5b2820e99ee8e..831ec8bf1d5f58c2dffa9689f2218500523a0ef7 100644 (file)
@@ -40,13 +40,9 @@ function xdecor.sit(pos, node, clicker, pointed_thing)
        end
 end
 
-function xdecor.sit_dig(pos, player)
-       local pname = player:get_player_name()
-       local objs = minetest.get_objects_inside_radius(pos, 0.1)
-
-       for _, p in pairs(objs) do
-               if not player or not player:is_player() or p:get_player_name() or
-                               default.player_attached[pname] then
+function xdecor.sit_dig(pos, digger)
+       for _, player in pairs(minetest.get_objects_inside_radius(pos, 0.1)) do
+               if player:is_player() and default.player_attached[player:get_player_name()] then
                        return false
                end
        end
index 39d400a813617e9b90fb67d5dad35b1e42d393c8..02d83d6fe7992a4bf104ce933f4bf5ec6871939b 100644 (file)
@@ -94,10 +94,10 @@ end
 
 function itemframe.dig(pos, player)
        local meta = minetest.get_meta(pos)
-       local pname = player:get_player_name()
+       local pname = player and player:get_player_name()
        local owner = meta:get_string("owner")
 
-       return player and pname == owner
+       return pname == owner
 end
 
 xdecor.register("itemframe", {
index ec1d874862a8aa257f1993d4b3c8bbc67dcef58e..cd9a03c4845abce370fb999775974a250b799502 100644 (file)
@@ -78,10 +78,10 @@ end
 function mailbox.dig(pos, player)
        local meta = minetest.get_meta(pos)
        local owner = meta:get_string("owner")
-       local player_name = player:get_player_name()
+       local player_name = player and player:get_player_name()
        local inv = meta:get_inventory()
 
-       return inv:is_empty("mailbox") and player and player_name == owner
+       return inv:is_empty("mailbox") and player_name == owner
 end
 
 function mailbox.after_place_node(pos, placer)