From 275c82b5957aec8890ccf4399e2ac50a58957758 Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Sun, 21 Jul 2024 22:51:47 +0100 Subject: don't mutate itemstack map --- .../profileviewer/inventory/itemLoaders/ItemLoader.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java index 11280af1..2024bf96 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java @@ -54,7 +54,14 @@ public class ItemLoader { } Identifier itemId = identifierFromOldId(containerContent.getCompound(i).getInt("id"), containerContent.getCompound(i).getInt("Damage")); - ItemStack stack = itemId.toString().equals("minecraft:air") ? getItemStack(internalName) : new ItemStack(Registries.ITEM.get(itemId)); + ItemStack stack; + + if (itemId.toString().equals("minecraft:air")) { + ItemStack itemStack = getItemStack(internalName); + stack = itemStack != null ? itemStack.copy() : null; + } else { + stack = new ItemStack(Registries.ITEM.get(itemId)); + } if (stack == null || stack.isEmpty() || stack.getItem().equals(Ico.BARRIER.getItem())) { // Last ditch effort to find item in NEU REPO @@ -64,6 +71,7 @@ public class ItemLoader { .findFirst() .map(NEUItem::getSkyblockItemId) .map(ItemRepository::getItemStack) + .map(ItemStack::copy) .orElse(Ico.BARRIER.copy()); -- cgit