diff --git a/src/main/java/noppes/npcs/NoppesUtilServer.java b/src/main/java/noppes/npcs/NoppesUtilServer.java index 55c97d0fd..4bd3f9361 100644 --- a/src/main/java/noppes/npcs/NoppesUtilServer.java +++ b/src/main/java/noppes/npcs/NoppesUtilServer.java @@ -501,15 +501,17 @@ public class NoppesUtilServer { if(file.exists()) file.delete(); if(pl != null){ + PlayerDataController.Instance.removePlayerDataCache(pl.getUniqueID().toString()); + + PlayerDataController.Instance.nameUUIDs.remove(name); + PlayerDataController.Instance.savePlayerDataMap(); + playerdata.setNBT(new NBTTagCompound()); sendPlayerData(type, player, name); playerdata.save(); + return; } - else { - PlayerDataController.Instance.nameUUIDs.remove(name); - PlayerDataController.Instance.savePlayerDataMap(); - } } if(type == EnumPlayerData.Quest){ PlayerQuestData data = playerdata.questData; diff --git a/src/main/java/noppes/npcs/controllers/PlayerDataController.java b/src/main/java/noppes/npcs/controllers/PlayerDataController.java index abce869f1..b43a33e91 100644 --- a/src/main/java/noppes/npcs/controllers/PlayerDataController.java +++ b/src/main/java/noppes/npcs/controllers/PlayerDataController.java @@ -260,6 +260,12 @@ public class PlayerDataController { } } + public void removePlayerDataCache(final String uuid) { + synchronized (playerDataCache) { + playerDataCache.remove(uuid); + } + } + public void clearCache() { synchronized (playerDataCache) { playerDataCache.clear();