From b42644da30168189a21260eb67dde29f45ade510 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Wed, 29 May 2024 09:40:35 +0300 Subject: Move AccessoryTooltip and MuseumTooltip --- .../skyblock/item/tooltip/AccessoriesHelper.java | 4 +- .../skyblock/item/tooltip/AccessoryTooltip.java | 41 ------------------ .../skyblock/item/tooltip/MuseumTooltip.java | 48 --------------------- .../skyblocker/utils/tooltip/AccessoryTooltip.java | 43 +++++++++++++++++++ .../skyblocker/utils/tooltip/MuseumTooltip.java | 49 ++++++++++++++++++++++ .../skyblocker/utils/tooltip/TooltipManager.java | 2 - 6 files changed, 94 insertions(+), 93 deletions(-) delete mode 100644 src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoryTooltip.java delete mode 100644 src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/MuseumTooltip.java create mode 100644 src/main/java/de/hysky/skyblocker/utils/tooltip/AccessoryTooltip.java create mode 100644 src/main/java/de/hysky/skyblocker/utils/tooltip/MuseumTooltip.java (limited to 'src/main/java/de/hysky') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoriesHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoriesHelper.java index 8798a139..992206ad 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoriesHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoriesHelper.java @@ -108,7 +108,7 @@ public class AccessoriesHelper { .put(page, new ObjectOpenHashSet<>(accessoryIds)); } - static Pair calculateReport4Accessory(String accessoryId) { + public static Pair calculateReport4Accessory(String accessoryId) { if (!ACCESSORY_DATA.containsKey(accessoryId) || Utils.getProfileId().isEmpty()) return Pair.of(AccessoryReport.INELIGIBLE, null); Accessory accessory = ACCESSORY_DATA.get(accessoryId); @@ -208,7 +208,7 @@ public class AccessoriesHelper { } } - enum AccessoryReport { + public enum AccessoryReport { HAS_HIGHEST_TIER, //You've collected the highest tier - Collected IS_GREATER_TIER, //This accessory is an upgrade from the one in the same family that you already have - Upgrade -- Shows you what tier this accessory is in its family HAS_GREATER_TIER, //This accessory has a higher tier upgrade - Upgradable -- Shows you the highest tier accessory you've collected in that family diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoryTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoryTooltip.java deleted file mode 100644 index a0a0559b..00000000 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/AccessoryTooltip.java +++ /dev/null @@ -1,41 +0,0 @@ -package de.hysky.skyblocker.skyblock.item.tooltip; - -import de.hysky.skyblocker.utils.tooltip.TooltipAdder; -import it.unimi.dsi.fastutil.Pair; -import net.minecraft.screen.slot.Slot; -import net.minecraft.text.MutableText; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -import java.util.List; - -public class AccessoryTooltip extends TooltipAdder { - public AccessoryTooltip(int priority) { - super(priority); - } - - @Override - public void addToTooltip(List lore, Slot focusedSlot) { - final String internalID = ItemTooltip.getInternalNameFromNBT(focusedSlot.getStack(), true); - if (TooltipInfoType.ACCESSORIES.isTooltipEnabledAndHasOrNullWarning(internalID)) { - Pair report = AccessoriesHelper.calculateReport4Accessory(internalID); - - if (report.left() != AccessoriesHelper.AccessoryReport.INELIGIBLE) { - MutableText title = Text.literal(String.format("%-19s", "Accessory: ")).withColor(0xf57542); - - Text stateText = switch (report.left()) { - case HAS_HIGHEST_TIER -> Text.literal("✔ Collected").formatted(Formatting.GREEN); - case IS_GREATER_TIER -> Text.literal("✦ Upgrade ").withColor(0x218bff).append(Text.literal(report.right()).withColor(0xf8f8ff)); - case HAS_GREATER_TIER -> Text.literal("↑ Upgradable ").withColor(0xf8d048).append(Text.literal(report.right()).withColor(0xf8f8ff)); - case OWNS_BETTER_TIER -> Text.literal("↓ Downgrade ").formatted(Formatting.GRAY).append(Text.literal(report.right()).withColor(0xf8f8ff)); - case MISSING -> Text.literal("✖ Missing ").formatted(Formatting.RED).append(Text.literal(report.right()).withColor(0xf8f8ff)); - - //Should never be the case - default -> Text.literal("? Unknown").formatted(Formatting.GRAY); - }; - - lore.add(title.append(stateText)); - } - } - } -} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/MuseumTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/MuseumTooltip.java deleted file mode 100644 index 727c83db..00000000 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/MuseumTooltip.java +++ /dev/null @@ -1,48 +0,0 @@ -package de.hysky.skyblocker.skyblock.item.tooltip; - -import de.hysky.skyblocker.skyblock.item.MuseumItemCache; -import de.hysky.skyblocker.utils.ItemUtils; -import de.hysky.skyblocker.utils.tooltip.TooltipAdder; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.screen.slot.Slot; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -import java.util.List; - -public class MuseumTooltip extends TooltipAdder { - public MuseumTooltip(int priority) { - super(priority); - } - - @Override - public void addToTooltip(List lore, Slot focusedSlot) { - final ItemStack itemStack = focusedSlot.getStack(); - final String internalID = ItemTooltip.getInternalNameFromNBT(itemStack, true); - if (TooltipInfoType.MUSEUM.isTooltipEnabledAndHasOrNullWarning(internalID)) { - String itemCategory = TooltipInfoType.MUSEUM.getData().get(internalID).getAsString(); - String format = switch (itemCategory) { - case "Weapons" -> "%-18s"; - case "Armor" -> "%-19s"; - default -> "%-20s"; - }; - - //Special case the special category so that it doesn't always display not donated - if (itemCategory.equals("Special")) { - lore.add(Text.literal(String.format(format, "Museum: (" + itemCategory + ")")) - .formatted(Formatting.LIGHT_PURPLE)); - } else { - NbtCompound customData = ItemUtils.getCustomData(itemStack); - boolean isInMuseum = (customData.contains("donated_museum") && customData.getBoolean("donated_museum")) || MuseumItemCache.hasItemInMuseum(internalID); - - Formatting donatedIndicatorFormatting = isInMuseum ? Formatting.GREEN : Formatting.RED; - - lore.add(Text.literal(String.format(format, "Museum (" + itemCategory + "):")) - .formatted(Formatting.LIGHT_PURPLE) - .append(Text.literal(isInMuseum ? "✔" : "✖").formatted(donatedIndicatorFormatting, Formatting.BOLD)) - .append(Text.literal(isInMuseum ? " Donated" : " Not Donated").formatted(donatedIndicatorFormatting))); - } - } - } -} diff --git a/src/main/java/de/hysky/skyblocker/utils/tooltip/AccessoryTooltip.java b/src/main/java/de/hysky/skyblocker/utils/tooltip/AccessoryTooltip.java new file mode 100644 index 00000000..6650adee --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/AccessoryTooltip.java @@ -0,0 +1,43 @@ +package de.hysky.skyblocker.utils.tooltip; + +import de.hysky.skyblocker.skyblock.item.tooltip.AccessoriesHelper; +import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; +import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; +import it.unimi.dsi.fastutil.Pair; +import net.minecraft.screen.slot.Slot; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + +import java.util.List; + +public class AccessoryTooltip extends TooltipAdder { + public AccessoryTooltip(int priority) { + super(priority); + } + + @Override + public void addToTooltip(List lore, Slot focusedSlot) { + final String internalID = ItemTooltip.getInternalNameFromNBT(focusedSlot.getStack(), true); + if (TooltipInfoType.ACCESSORIES.isTooltipEnabledAndHasOrNullWarning(internalID)) { + Pair report = AccessoriesHelper.calculateReport4Accessory(internalID); + + if (report.left() != AccessoriesHelper.AccessoryReport.INELIGIBLE) { + MutableText title = Text.literal(String.format("%-19s", "Accessory: ")).withColor(0xf57542); + + Text stateText = switch (report.left()) { + case HAS_HIGHEST_TIER -> Text.literal("✔ Collected").formatted(Formatting.GREEN); + case IS_GREATER_TIER -> Text.literal("✦ Upgrade ").withColor(0x218bff).append(Text.literal(report.right()).withColor(0xf8f8ff)); + case HAS_GREATER_TIER -> Text.literal("↑ Upgradable ").withColor(0xf8d048).append(Text.literal(report.right()).withColor(0xf8f8ff)); + case OWNS_BETTER_TIER -> Text.literal("↓ Downgrade ").formatted(Formatting.GRAY).append(Text.literal(report.right()).withColor(0xf8f8ff)); + case MISSING -> Text.literal("✖ Missing ").formatted(Formatting.RED).append(Text.literal(report.right()).withColor(0xf8f8ff)); + + //Should never be the case + default -> Text.literal("? Unknown").formatted(Formatting.GRAY); + }; + + lore.add(title.append(stateText)); + } + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/utils/tooltip/MuseumTooltip.java b/src/main/java/de/hysky/skyblocker/utils/tooltip/MuseumTooltip.java new file mode 100644 index 00000000..038cbbe8 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/MuseumTooltip.java @@ -0,0 +1,49 @@ +package de.hysky.skyblocker.utils.tooltip; + +import de.hysky.skyblocker.skyblock.item.MuseumItemCache; +import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; +import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; +import de.hysky.skyblocker.utils.ItemUtils; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NbtCompound; +import net.minecraft.screen.slot.Slot; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + +import java.util.List; + +public class MuseumTooltip extends TooltipAdder { + public MuseumTooltip(int priority) { + super(priority); + } + + @Override + public void addToTooltip(List lore, Slot focusedSlot) { + final ItemStack itemStack = focusedSlot.getStack(); + final String internalID = ItemTooltip.getInternalNameFromNBT(itemStack, true); + if (TooltipInfoType.MUSEUM.isTooltipEnabledAndHasOrNullWarning(internalID)) { + String itemCategory = TooltipInfoType.MUSEUM.getData().get(internalID).getAsString(); + String format = switch (itemCategory) { + case "Weapons" -> "%-18s"; + case "Armor" -> "%-19s"; + default -> "%-20s"; + }; + + //Special case the special category so that it doesn't always display not donated + if (itemCategory.equals("Special")) { + lore.add(Text.literal(String.format(format, "Museum: (" + itemCategory + ")")) + .formatted(Formatting.LIGHT_PURPLE)); + } else { + NbtCompound customData = ItemUtils.getCustomData(itemStack); + boolean isInMuseum = (customData.contains("donated_museum") && customData.getBoolean("donated_museum")) || MuseumItemCache.hasItemInMuseum(internalID); + + Formatting donatedIndicatorFormatting = isInMuseum ? Formatting.GREEN : Formatting.RED; + + lore.add(Text.literal(String.format(format, "Museum (" + itemCategory + "):")) + .formatted(Formatting.LIGHT_PURPLE) + .append(Text.literal(isInMuseum ? "✔" : "✖").formatted(donatedIndicatorFormatting, Formatting.BOLD)) + .append(Text.literal(isInMuseum ? " Donated" : " Not Donated").formatted(donatedIndicatorFormatting))); + } + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java b/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java index 8b9898a2..dca81389 100644 --- a/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java @@ -1,7 +1,5 @@ package de.hysky.skyblocker.utils.tooltip; -import de.hysky.skyblocker.skyblock.item.tooltip.AccessoryTooltip; -import de.hysky.skyblocker.skyblock.item.tooltip.MuseumTooltip; import de.hysky.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.screen.Screen; -- cgit