diff --git a/src/main/java/fr/xephi/authme/cache/backup/FileCache.java b/src/main/java/fr/xephi/authme/cache/backup/FileCache.java index 07221e10..1fea1df3 100644 --- a/src/main/java/fr/xephi/authme/cache/backup/FileCache.java +++ b/src/main/java/fr/xephi/authme/cache/backup/FileCache.java @@ -38,6 +38,8 @@ public class FileCache { public void createCache(Player player, DataFileCache playerData, String group, boolean operator, boolean flying) { String path = ""; + if (player == null) + return; try { path = player.getUniqueId().toString(); } catch (Exception e) { diff --git a/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java b/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java index 0c9bb2d6..01c7d5ff 100644 --- a/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java +++ b/src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java @@ -48,9 +48,14 @@ public class LimboCache { inv = null; arm = null; } - playerGroup = playerData.readCache(player).getGroup(); - operator = playerData.readCache(player).getOperator(); - flying = playerData.readCache(player).isFlying(); + try { + playerGroup = playerData.readCache(player).getGroup(); + operator = playerData.readCache(player).getOperator(); + flying = playerData.readCache(player).isFlying(); + } catch (Exception e) + { + ConsoleLogger.showError("Some error on reading cache of " + name); + } } else { StoreInventoryEvent event = new StoreInventoryEvent(player); Bukkit.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/fr/xephi/authme/events/StoreInventoryEvent.java b/src/main/java/fr/xephi/authme/events/StoreInventoryEvent.java index 16c076d8..78507524 100644 --- a/src/main/java/fr/xephi/authme/events/StoreInventoryEvent.java +++ b/src/main/java/fr/xephi/authme/events/StoreInventoryEvent.java @@ -25,8 +25,14 @@ public class StoreInventoryEvent extends CustomEvent { public StoreInventoryEvent(Player player, FileCache fileCache) { this.player = player; - this.inventory = fileCache.readCache(player).getInventory(); - this.armor = fileCache.readCache(player).getArmour(); + try { + this.inventory = fileCache.readCache(player).getInventory(); + this.armor = fileCache.readCache(player).getArmour(); + } catch (Exception e) + { + this.inventory = player.getInventory().getContents(); + this.armor = player.getInventory().getArmorContents(); + } } public ItemStack[] getInventory() { diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index f25b0b92..4c5ae7c0 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -11,7 +11,6 @@ import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.OfflinePlayer; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler;