From 3b50cece25be2f5bfec478dbae19ac7217eb821f Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Thu, 4 Jul 2024 09:06:40 +0100 Subject: fix z stacking issues with rarity and tooltip --- .../skyblocker/skyblock/profileviewer/inventory/Inventory.java | 7 +++++-- .../skyblock/profileviewer/inventory/PlayerInventory.java | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src') 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 a114f4d6..c4dc6fff 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 @@ -18,6 +18,7 @@ import net.minecraft.util.Identifier; import java.awt.*; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class Inventory implements ProfileViewerPage { @@ -67,6 +68,7 @@ public class Inventory implements ProfileViewerPage { int startIndex = activePage * itemsPerPage; int endIndex = Math.min(startIndex + itemsPerPage, containerList.size()); + List tooltip = Collections.emptyList(); for (int i = 0; i < endIndex - startIndex; i++) { if (containerList.get(startIndex + i) == ItemStack.EMPTY) continue; int column = i % dimensions.rightInt(); @@ -83,10 +85,11 @@ public class Inventory implements ProfileViewerPage { context.drawItemInSlot(textRenderer, containerList.get(startIndex + i), x, y); if (mouseX > x && mouseX < x + 16 && mouseY > y && mouseY < y + 16) { - List tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, MinecraftClient.getInstance().player, TooltipType.BASIC); - context.drawTooltip(textRenderer, tooltip, mouseX, mouseY); + tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, MinecraftClient.getInstance().player, TooltipType.BASIC); } } + + if (!tooltip.isEmpty()) context.drawTooltip(textRenderer, tooltip, mouseX, mouseY); } public void nextPage() { 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 969960d8..0412c32e 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 @@ -16,12 +16,14 @@ import net.minecraft.text.Text; import net.minecraft.util.Identifier; import java.awt.*; +import java.util.Collections; 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 final List containerList; + private List tooltip = Collections.emptyList(); public PlayerInventory(JsonObject inventory) { this.containerList = new InventoryItemLoader().loadItems(inventory); @@ -33,9 +35,11 @@ public class PlayerInventory implements ProfileViewerPage { drawContainerTextures(context, "Inventory", rootX, rootY + 2, IntIntPair.of(4, 9)); drawContainerTextures(context, "Equipment", rootX + 90, rootY + 108, IntIntPair.of(1, 4)); + tooltip.clear(); drawContainerItems(context, rootX, rootY + 108, IntIntPair.of(1, 4), 36, 40, mouseX, mouseY); drawContainerItems(context, rootX, rootY + 2, IntIntPair.of(4, 9), 0, 36, mouseX, mouseY); drawContainerItems(context, rootX + 90, rootY + 108, IntIntPair.of(1, 4), 40, containerList.size(), mouseX, mouseY); + if (!tooltip.isEmpty()) context.drawTooltip(textRenderer, tooltip, mouseX, mouseY); } private void drawContainerTextures(DrawContext context, String containerName, int rootX, int rootY, IntIntPair dimensions) { @@ -71,8 +75,7 @@ public class PlayerInventory implements ProfileViewerPage { context.drawItemInSlot(textRenderer, containerList.get(startIndex + i), x, y); if (mouseX > x && mouseX < x + 16 && mouseY > y && mouseY < y + 16) { - List tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, MinecraftClient.getInstance().player, TooltipType.BASIC); - context.drawTooltip(textRenderer, tooltip, mouseX, mouseY); + tooltip = containerList.get(startIndex + i).getTooltip(Item.TooltipContext.DEFAULT, MinecraftClient.getInstance().player, TooltipType.BASIC); } } } -- cgit