From cca951e0e6bf77289befc94cef6198b48bc6c9d6 Mon Sep 17 00:00:00 2001 From: kilbith Date: Thu, 24 Sep 2015 23:01:16 +0200 Subject: [PATCH] Fix some rare cases where the player is null and dig the itemframe or mailbox --- itemframe.lua | 5 ++++- mailbox.lua | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/itemframe.lua b/itemframe.lua index bb3b4b9..c9c275b 100644 --- a/itemframe.lua +++ b/itemframe.lua @@ -119,7 +119,10 @@ xdecor.register("frame", { end, can_dig = function(pos, player) local meta = minetest.get_meta(pos) - return player:get_player_name() == meta:get_string("owner") + local owner = meta:get_string("owner") + + if not player or player:get_player_name() ~= owner then return false end + return true end, on_destruct = function(pos) local meta = minetest.get_meta(pos) diff --git a/mailbox.lua b/mailbox.lua index 84384c3..b437585 100644 --- a/mailbox.lua +++ b/mailbox.lua @@ -36,8 +36,9 @@ xdecor.register("mailbox", { local owner = meta:get_string("owner") local inv = meta:get_inventory() - if not inv:is_empty("main") then return false end - return player:get_player_name() == owner + if not inv:is_empty("main") or not player or + player:get_player_name() ~= owner then return false end + return true end, on_metadata_inventory_put = function(pos, listname, _, stack, _) local inv = minetest.get_meta(pos):get_inventory()