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/main/java/de/hysky') 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 From d2446c75756393c576e3a3c10babd75602234b15 Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Sun, 21 Jul 2024 22:59:50 +0100 Subject: cleaner fix --- .../skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/main/java/de/hysky') 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 2024bf96..cd1a8e23 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,16 +54,16 @@ public class ItemLoader { } Identifier itemId = identifierFromOldId(containerContent.getCompound(i).getInt("id"), containerContent.getCompound(i).getInt("Damage")); - ItemStack stack; + ItemStack stack; if (itemId.toString().equals("minecraft:air")) { ItemStack itemStack = getItemStack(internalName); - stack = itemStack != null ? itemStack.copy() : null; + stack = itemStack != null ? itemStack.copy() : ItemStack.EMPTY; } else { stack = new ItemStack(Registries.ITEM.get(itemId)); } - if (stack == null || stack.isEmpty() || stack.getItem().equals(Ico.BARRIER.getItem())) { + if (stack.isEmpty() || stack.getItem().equals(Ico.BARRIER.getItem())) { // Last ditch effort to find item in NEU REPO Map items = NEURepoManager.NEU_REPO.getItems().getItems(); stack = items.values().stream() -- cgit From ec74273562ccecd6a759ae8ea1b31ea636fd4ff1 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Mon, 22 Jul 2024 04:11:25 -0400 Subject: Respect tooltip setting --- .../hysky/skyblocker/skyblock/profileviewer/inventory/Inventory.java | 5 +++-- .../skyblocker/skyblock/profileviewer/inventory/PlayerInventory.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src/main/java/de/hysky') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/Inventory.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/Inventory.java index 126c55ec..93f669a0 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/Inventory.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/Inventory.java @@ -24,7 +24,8 @@ import java.util.List; public class Inventory implements ProfileViewerPage { private static final Identifier TEXTURE = Identifier.of("textures/gui/container/generic_54.png"); - private static final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; + private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); + private static final TextRenderer textRenderer = CLIENT.textRenderer; private final IntIntPair dimensions; private final int itemsPerPage; private final List containerList; @@ -86,7 +87,7 @@ public class Inventory implements ProfileViewerPage { context.drawItemInSlot(textRenderer, containerList.get(startIndex + i), x, y); if (mouseX > x -1 && mouseX < x + 16 && mouseY > y - 1 && mouseY < y + 16) { - tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, MinecraftClient.getInstance().player, TooltipType.BASIC); + tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, CLIENT.player, CLIENT.options.advancedItemTooltips ? TooltipType.ADVANCED : TooltipType.BASIC); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/PlayerInventory.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/PlayerInventory.java index e210ca9a..715a2b36 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/PlayerInventory.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/PlayerInventory.java @@ -22,7 +22,8 @@ import java.util.List; public class PlayerInventory implements ProfileViewerPage { private static final Identifier TEXTURE = Identifier.of("textures/gui/container/generic_54.png"); - private static final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; + private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); + private static final TextRenderer textRenderer = CLIENT.textRenderer; private final List containerList; private List tooltip = Collections.emptyList(); @@ -75,7 +76,7 @@ public class PlayerInventory implements ProfileViewerPage { context.drawItemInSlot(textRenderer, containerList.get(startIndex + i), x, y); if (mouseX > x -1 && mouseX < x + 16 && mouseY > y - 1 && mouseY < y + 16) { - tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, MinecraftClient.getInstance().player, TooltipType.BASIC); + tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, CLIENT.player, CLIENT.options.advancedItemTooltips ? TooltipType.ADVANCED : TooltipType.BASIC); } } } -- cgit