diff --git a/src/main/java/noppes/npcs/client/ClientCacheHandler.java b/src/main/java/noppes/npcs/client/ClientCacheHandler.java index dd55f7b5b..4ac631ecc 100644 --- a/src/main/java/noppes/npcs/client/ClientCacheHandler.java +++ b/src/main/java/noppes/npcs/client/ClientCacheHandler.java @@ -5,10 +5,7 @@ import noppes.npcs.client.gui.OverlayQuestTracking; import noppes.npcs.client.gui.customoverlay.OverlayCustom; import noppes.npcs.client.renderer.ImageData; import noppes.npcs.config.ConfigClient; -import noppes.npcs.controllers.data.Animation; -import noppes.npcs.controllers.data.AnimationData; -import noppes.npcs.controllers.data.Party; -import noppes.npcs.controllers.data.SkinOverlay; +import noppes.npcs.controllers.data.*; import noppes.npcs.util.CacheHashMap; import java.util.HashMap; @@ -17,7 +14,7 @@ import java.util.UUID; public class ClientCacheHandler { private static final CacheHashMap> imageDataCache = new CacheHashMap<>((long) ConfigClient.CacheLife * 60 * 1000); public static final HashMap animationCache = new HashMap<>(); - + public static PlayerData playerData = new PlayerData(); public static OverlayQuestTracking questTrackingOverlay = null; public static HashMap customOverlays = new HashMap<>(); public static HashMap> skinOverlays = new HashMap<>(); @@ -56,6 +53,7 @@ public class ClientCacheHandler { ClientCacheHandler.customOverlays.clear(); ClientCacheHandler.skinOverlays.clear(); ClientCacheHandler.playerAnimations.clear(); + ClientCacheHandler.playerData.animationData.clearCache(); party = null; } } diff --git a/src/main/java/noppes/npcs/client/ClientProxy.java b/src/main/java/noppes/npcs/client/ClientProxy.java index 2d60a98f2..85a044a88 100644 --- a/src/main/java/noppes/npcs/client/ClientProxy.java +++ b/src/main/java/noppes/npcs/client/ClientProxy.java @@ -192,18 +192,19 @@ public class ClientProxy extends CommonProxy { ((IReloadableResourceManager)Minecraft.getMinecraft().getResourceManager()).registerReloadListener(new CustomNpcResourceListener()); } - public static PlayerData playerData = new PlayerData(); + @Override public PlayerData getPlayerData(EntityPlayer player) { if (player.getUniqueID() == Minecraft.getMinecraft().thePlayer.getUniqueID()) { - if (playerData.player != player) { - playerData.player = player; - } + if(ClientCacheHandler.playerData != null){ + if (ClientCacheHandler.playerData.player != player) { + ClientCacheHandler.playerData.player = player; + } - return playerData; - } else { - return null; + return ClientCacheHandler.playerData; + } } + return null; } @Override diff --git a/src/main/java/noppes/npcs/client/PacketHandlerClient.java b/src/main/java/noppes/npcs/client/PacketHandlerClient.java index 90958ff11..a9e18ba53 100644 --- a/src/main/java/noppes/npcs/client/PacketHandlerClient.java +++ b/src/main/java/noppes/npcs/client/PacketHandlerClient.java @@ -116,7 +116,7 @@ public class PacketHandlerClient extends PacketHandlerServer{ SyncController.clientSync(synctype, compound, type == EnumPacketClient.SYNC_END); if(synctype == SyncType.PLAYER_DATA){ - ClientProxy.playerData.setNBT(compound); + ClientCacheHandler.playerData.setNBT(compound); } } else if(type == EnumPacketClient.SYNC_UPDATE){ diff --git a/src/main/java/noppes/npcs/controllers/data/PlayerData.java b/src/main/java/noppes/npcs/controllers/data/PlayerData.java index 8a2a36f22..f370375bc 100644 --- a/src/main/java/noppes/npcs/controllers/data/PlayerData.java +++ b/src/main/java/noppes/npcs/controllers/data/PlayerData.java @@ -68,7 +68,7 @@ public class PlayerData implements IExtendedEntityProperties, IPlayerData { public ScreenSize screenSize = new ScreenSize(-1,-1); public void onLogin() { - + this.animationData.clearCache(); } public void onLogout() {