From e5023d35b4d03cefef4308f456bd5b47e7d606cc Mon Sep 17 00:00:00 2001 From: Juraj Vajda Date: Thu, 4 Jan 2024 18:48:19 -0500 Subject: [PATCH] Add extra check to prevent skinsdb ServerError: AsyncErr: Lua: Runtime error --- api.lua | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/api.lua b/api.lua index 9b86bb2..4071707 100644 --- a/api.lua +++ b/api.lua @@ -2426,8 +2426,12 @@ function XBowsQuiver.show_3d_quiver(self, player, props) end if self.skinsdb then - minetest.after(1, function() - local textures = player_api.get_textures(player) + minetest.after(1, function(v_player) + if not v_player then + return + end + + local textures = player_api.get_textures(v_player) ---cleanup for index, value in ipairs(textures) do @@ -2443,15 +2447,15 @@ function XBowsQuiver.show_3d_quiver(self, player, props) player_textures = textures if player_textures then - if _props.is_empty and not self.quiver_empty_state[player:get_player_name()] then - self.quiver_empty_state[player:get_player_name()] = true - player_api.set_textures(player, player_textures) - elseif not _props.is_empty and self.quiver_empty_state[player:get_player_name()] then - self.quiver_empty_state[player:get_player_name()] = false - player_api.set_textures(player, player_textures) + if _props.is_empty and not self.quiver_empty_state[v_player:get_player_name()] then + self.quiver_empty_state[v_player:get_player_name()] = true + player_api.set_textures(v_player, player_textures) + elseif not _props.is_empty and self.quiver_empty_state[v_player:get_player_name()] then + self.quiver_empty_state[v_player:get_player_name()] = false + player_api.set_textures(v_player, player_textures) end end - end) + end, player) return elseif self._3d_armor then