aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authornmccullagh <narhanael64@gmail.com>2024-07-21 22:51:47 +0100
committernmccullagh <narhanael64@gmail.com>2024-07-21 22:51:47 +0100
commit275c82b5957aec8890ccf4399e2ac50a58957758 (patch)
tree925afcf9bcf8532220dd65357abd07ae5360a1b2 /src/main/java
parent6541bb6aa43a7141ac259ee34a597891d6a45689 (diff)
downloadSkyblocker-275c82b5957aec8890ccf4399e2ac50a58957758.tar.gz
Skyblocker-275c82b5957aec8890ccf4399e2ac50a58957758.tar.bz2
Skyblocker-275c82b5957aec8890ccf4399e2ac50a58957758.zip
don't mutate itemstack map
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java10
1 files changed, 9 insertions, 1 deletions
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());