diff options
Diffstat (limited to 'src/main/java/de')
3 files changed, 16 insertions, 6 deletions
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<ItemStack> 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<ItemStack> containerList; private List<Text> 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); } } } 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..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,9 +54,16 @@ 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)); - if (stack == null || stack.isEmpty() || stack.getItem().equals(Ico.BARRIER.getItem())) { + ItemStack stack; + if (itemId.toString().equals("minecraft:air")) { + ItemStack itemStack = getItemStack(internalName); + stack = itemStack != null ? itemStack.copy() : ItemStack.EMPTY; + } else { + stack = new ItemStack(Registries.ITEM.get(itemId)); + } + + if (stack.isEmpty() || stack.getItem().equals(Ico.BARRIER.getItem())) { // Last ditch effort to find item in NEU REPO Map<String, NEUItem> items = NEURepoManager.NEU_REPO.getItems().getItems(); stack = items.values().stream() @@ -64,6 +71,7 @@ public class ItemLoader { .findFirst() .map(NEUItem::getSkyblockItemId) .map(ItemRepository::getItemStack) + .map(ItemStack::copy) .orElse(Ico.BARRIER.copy()); |