diff --git a/src/main/java/noppes/npcs/PacketHandlerServer.java b/src/main/java/noppes/npcs/PacketHandlerServer.java index 069091f56..917dfc390 100644 --- a/src/main/java/noppes/npcs/PacketHandlerServer.java +++ b/src/main/java/noppes/npcs/PacketHandlerServer.java @@ -306,9 +306,8 @@ public class PacketHandlerServer{ NBTTagCompound compound = Server.readNBT(buffer); ScriptCustomItem wrapper = (ScriptCustomItem) NpcAPI.Instance().getIItemStack(player.getHeldItem()); wrapper.setMCNbt(compound); - wrapper.loadScriptData(); - wrapper.loaded = false; wrapper.saveScriptData(); + wrapper.loaded = false; player.sendContainerToPlayer(player.inventoryContainer); } } diff --git a/src/main/java/noppes/npcs/mixin/MixinModelRenderer.java b/src/main/java/noppes/npcs/mixin/MixinModelRenderer.java index 1d731a98c..6c462c638 100644 --- a/src/main/java/noppes/npcs/mixin/MixinModelRenderer.java +++ b/src/main/java/noppes/npcs/mixin/MixinModelRenderer.java @@ -112,12 +112,18 @@ public abstract class MixinModelRenderer { } if (ClientEventHandler.renderingPlayer != null && Client.playerAnimations.containsKey(ClientEventHandler.renderingPlayer.getUniqueID())) { animData = Client.playerAnimations.get(ClientEventHandler.renderingPlayer.getUniqueID()); - EnumAnimationPart mainPartType = this.getPlayerPartType((ModelRenderer) (Object) this); - EnumAnimationPart pivotEqualPart = null; - if (mainPartType == null) { - pivotEqualPart = this.pivotEqualPart((ModelRenderer) (Object) this); + + EnumAnimationPart mainPartType = null; + try{ + EnumAnimationPart pivotEqualPart = null; + mainPartType = this.getPlayerPartType((ModelRenderer) (Object) this); + if (mainPartType == null) { + pivotEqualPart = this.pivotEqualPart((ModelRenderer) (Object) this); + } + partType = mainPartType != null ? mainPartType : pivotEqualPart; } - partType = mainPartType != null ? mainPartType : pivotEqualPart; + catch (Exception ignored){} + if (partType != null && animData != null) { if (!ClientEventHandler.originalValues.containsKey((ModelRenderer) (Object) this)) { FramePart part = new FramePart(); diff --git a/src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java b/src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java index 3ef35244f..54edba07e 100644 --- a/src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java +++ b/src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java @@ -439,7 +439,7 @@ public class ScriptCustomItem extends ScriptItemStack implements IItemCustom, IS public void loadItemData() { NBTTagCompound c = this.item.getTagCompound(); - if (c != null){ + if (c != null && !c.getCompoundTag("ItemData").hasNoTags()){ this.setItemNBT(c.getCompoundTag("ItemData")); } }