From 6659e438db5a10e41a14fe2ad7e24bbfb8c82b05 Mon Sep 17 00:00:00 2001 From: nbcss Date: Wed, 10 Jun 2026 18:36:29 +1000 Subject: [PATCH 1/3] Fix the issue https://github.com/Creators-of-Create/Create/issues/9987 --- .../logistics/packager/PackagerBlockEntity.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlockEntity.java index fe44ffd9b3..a779db3896 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlockEntity.java @@ -208,7 +208,12 @@ public InventorySummary getAvailableItems() { InventorySummary availableItems = new InventorySummary(); IItemHandler targetInv = targetInventory.getInventory(); - if (targetInv == null || targetInv instanceof PackagerItemHandler) { + if (targetInv == null) { + if (this.availableItems == null) + this.availableItems = availableItems; + return this.availableItems; + } + if (targetInv instanceof PackagerItemHandler) { this.availableItems = availableItems; return availableItems; } @@ -224,7 +229,8 @@ public InventorySummary getAvailableItems() { } invVersionTracker.awaitNewVersion(targetInventory.getInventory()); - submitNewArrivals(this.availableItems, availableItems); + if (!level.isClientSide) + submitNewArrivals(this.availableItems, availableItems); this.availableItems = availableItems; return availableItems; } From 538e7c24651216d70b71be2ca3a93803f531db31 Mon Sep 17 00:00:00 2001 From: nbcss Date: Wed, 10 Jun 2026 18:47:33 +1000 Subject: [PATCH 2/3] Fix the zero potential network reading issue https://github.com/Creators-of-Create/Create/issues/10486 --- .../content/logistics/packager/InventorySummary.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java b/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java index 25440e5b18..15da2a1969 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java +++ b/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java @@ -92,8 +92,11 @@ public void add(ItemStack stack, int count) { } } - if (stack.getCount() > stack.getMaxStackSize()) - stack = stack.copyWithCount(1); + // Always store a defensive copy, never the caller's reference: an inventory slot's ItemStack is + // mutated in place when items are extracted (split/shrink → count 0, item AIR), which would + // corrupt this entry and make getCountOf report 0 until the summary is rebuilt. The real count + // lives in BigItemStack.count, so normalising the stored stack to 1 is sufficient. + stack = stack.copyWithCount(1); BigItemStack newEntry = new BigItemStack(stack, count); stacks.add(newEntry); From d8f623461deee07f0074a613f7bef1a5c1a3ceb5 Mon Sep 17 00:00:00 2001 From: nbcss Date: Wed, 10 Jun 2026 18:49:30 +1000 Subject: [PATCH 3/3] Simply the implementation --- .../content/logistics/packager/InventorySummary.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java b/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java index 15da2a1969..b5b61b02cd 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java +++ b/src/main/java/com/simibubi/create/content/logistics/packager/InventorySummary.java @@ -92,13 +92,7 @@ public void add(ItemStack stack, int count) { } } - // Always store a defensive copy, never the caller's reference: an inventory slot's ItemStack is - // mutated in place when items are extracted (split/shrink → count 0, item AIR), which would - // corrupt this entry and make getCountOf report 0 until the summary is rebuilt. The real count - // lives in BigItemStack.count, so normalising the stored stack to 1 is sufficient. - stack = stack.copyWithCount(1); - - BigItemStack newEntry = new BigItemStack(stack, count); + BigItemStack newEntry = new BigItemStack(stack.copyWithCount(1), count); stacks.add(newEntry); }