From 85165070e03a53fffc184fdf5ed5752ed30c5faa Mon Sep 17 00:00:00 2001 From: Kam Date: Mon, 17 Feb 2025 14:06:26 -0500 Subject: [PATCH] Linked Item Building --- .../request/linked/LinkedItemBuildPacket.java | 6 ++---- .../noppes/npcs/scripted/item/ScriptLinkedItem.java | 12 +++++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/kamkeel/npcs/network/packets/request/linked/LinkedItemBuildPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/linked/LinkedItemBuildPacket.java index d4ac8bb44..7211a03bb 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/linked/LinkedItemBuildPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/linked/LinkedItemBuildPacket.java @@ -70,10 +70,8 @@ public final class LinkedItemBuildPacket extends AbstractPacket { LinkedItem copy = original.clone(); EntityPlayerMP playerMP = (EntityPlayerMP) player; - ScriptLinkedItem scriptLinkedItem = (ScriptLinkedItem) NpcAPI.Instance().createItem("customnpcs:linked_item", 0, 1); - scriptLinkedItem.setDefaults(); - scriptLinkedItem.linkedVersion = copy.version; - scriptLinkedItem.saveItemData(); + ItemStack stack = new ItemStack(CustomItems.linked_item, 1); + ScriptLinkedItem scriptLinkedItem = new ScriptLinkedItem(stack, copy); playerMP.inventory.addItemStackToInventory(scriptLinkedItem.item); } } diff --git a/src/main/java/noppes/npcs/scripted/item/ScriptLinkedItem.java b/src/main/java/noppes/npcs/scripted/item/ScriptLinkedItem.java index 3e0b19ab4..547a488f5 100644 --- a/src/main/java/noppes/npcs/scripted/item/ScriptLinkedItem.java +++ b/src/main/java/noppes/npcs/scripted/item/ScriptLinkedItem.java @@ -13,9 +13,19 @@ public class ScriptLinkedItem extends ScriptCustomizableItem implements IItemLin public int linkedVersion = 1; public ScriptLinkedItem(ItemStack item) { super(item); + setDefaults(); loadItemData(); } + // For Building new Linked Item + public ScriptLinkedItem(ItemStack item, LinkedItem linkedItem) { + super(item); + this.linkedItem = linkedItem.clone(); + this.linkedVersion = this.linkedItem.version; + setDefaults(); + saveItemData(); + } + public void setDefaults(){ this.itemDisplay.texture = null; this.itemDisplay.translateX = null; @@ -194,7 +204,7 @@ public class ScriptLinkedItem extends ScriptCustomizableItem implements IItemLin public void setItemNBT(NBTTagCompound compound) { this.itemDisplay.readFromNBT(compound); - this.linkedItem.readFromNBT(compound, false); + this.linkedItem.readFromNBT(compound.getCompoundTag(LinkedItem.LINKED_DATA_NBT_TAG), false); this.linkedVersion = compound.getInteger(LinkedItem.LINKED_VERSION_VERSION_TAG); } }