aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java20
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/tooltip/NpcPriceTooltip.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java5
3 files changed, 36 insertions, 16 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
index 04764a79..776e301d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
@@ -56,17 +56,10 @@ public class ItemTooltip {
}
int count = stack.getCount();
- boolean bazaarOpened = lines.stream().anyMatch(each -> each.getString().contains("Buy price:") || each.getString().contains("Sell price:"));
-
- if (TooltipInfoType.NPC.isTooltipEnabledAndHasOrNullWarning(internalID)) {
- lines.add(Text.literal(String.format("%-21s", "NPC Sell Price:"))
- .formatted(Formatting.YELLOW)
- .append(getCoinsMessage(TooltipInfoType.NPC.getData().get(internalID).getAsDouble(), count)));
- }
boolean bazaarExist = false;
- if (TooltipInfoType.BAZAAR.isTooltipEnabledAndHasOrNullWarning(name) && !bazaarOpened) {
+ if (TooltipInfoType.BAZAAR.isTooltipEnabledAndHasOrNullWarning(name)) {
JsonObject getItem = TooltipInfoType.BAZAAR.getData().getAsJsonObject(name);
lines.add(Text.literal(String.format("%-18s", "Bazaar buy Price:"))
.formatted(Formatting.GOLD)
@@ -83,7 +76,7 @@ public class ItemTooltip {
// bazaarOpened & bazaarExist check for lbin, because Skytils keeps some bazaar item data in lbin api
boolean lbinExist = false;
- if (TooltipInfoType.LOWEST_BINS.isTooltipEnabledAndHasOrNullWarning(name) && !bazaarOpened && !bazaarExist) {
+ if (TooltipInfoType.LOWEST_BINS.isTooltipEnabledAndHasOrNullWarning(name) && !bazaarExist) {
lines.add(Text.literal(String.format("%-19s", "Lowest BIN Price:"))
.formatted(Formatting.GOLD)
.append(getCoinsMessage(TooltipInfoType.LOWEST_BINS.getData().get(name).getAsDouble(), count)));
@@ -129,7 +122,7 @@ public class ItemTooltip {
}
- if (TooltipInfoType.MUSEUM.isTooltipEnabledAndHasOrNullWarning(internalID) && !bazaarOpened) {
+ if (TooltipInfoType.MUSEUM.isTooltipEnabledAndHasOrNullWarning(internalID)) {
String itemCategory = TooltipInfoType.MUSEUM.getData().get(internalID).getAsString();
String format = switch (itemCategory) {
case "Weapons" -> "%-18s";
@@ -307,7 +300,7 @@ public class ItemTooltip {
return internalName;
}
- private static Text getCoinsMessage(double price, int count) {
+ public static Text getCoinsMessage(double price, int count) {
// Format the price string once
String priceString = String.format(Locale.ENGLISH, "%1$,.1f", price);
@@ -318,10 +311,9 @@ public class ItemTooltip {
// If count is greater than 1, include the "each" information
String priceStringTotal = String.format(Locale.ENGLISH, "%1$,.1f", price * count);
- MutableText message = Text.literal(priceStringTotal + " Coins ").formatted(Formatting.DARK_AQUA);
- message.append(Text.literal("(" + priceString + " each)").formatted(Formatting.GRAY));
- return message;
+ return Text.literal(priceStringTotal + " Coins ").formatted(Formatting.DARK_AQUA)
+ .append(Text.literal("(" + priceString + " each)").formatted(Formatting.GRAY));
}
// If these options is true beforehand, the client will get first data of these options while loading.
diff --git a/src/main/java/de/hysky/skyblocker/utils/tooltip/NpcPriceTooltip.java b/src/main/java/de/hysky/skyblocker/utils/tooltip/NpcPriceTooltip.java
new file mode 100644
index 00000000..0e8d4bf7
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/NpcPriceTooltip.java
@@ -0,0 +1,27 @@
+package de.hysky.skyblocker.utils.tooltip;
+
+import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
+import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType;
+import net.minecraft.item.ItemStack;
+import net.minecraft.screen.slot.Slot;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+
+import java.util.List;
+
+public class NpcPriceTooltip extends TooltipAdder {
+ protected NpcPriceTooltip(int priority) {
+ super(priority);
+ }
+
+ @Override
+ public void addToTooltip(List<Text> lore, Slot focusedSlot) {
+ final ItemStack stack = focusedSlot.getStack();
+ final String internalID = ItemTooltip.getInternalNameFromNBT(stack, true);
+ if (internalID != null && TooltipInfoType.NPC.isTooltipEnabledAndHasOrNullWarning(internalID)) {
+ lore.add(Text.literal(String.format("%-21s", "NPC Sell Price:"))
+ .formatted(Formatting.YELLOW)
+ .append(ItemTooltip.getCoinsMessage(TooltipInfoType.NPC.getData().get(internalID).getAsDouble(), stack.getCount())));
+ }
+ }
+}
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 4def0a04..05f16487 100644
--- a/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java
+++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java
@@ -14,8 +14,9 @@ public class TooltipManager {
private static final TooltipAdder[] adders = new TooltipAdder[]{
new LineSmoothener(),
new DungeonQualityTooltip(0),
- new ObtainedTooltip(1),
- new MotesTooltip(0)
+ new ObtainedTooltip(3),
+ new MotesTooltip(0),
+ new NpcPriceTooltip(1)
};
private static final ArrayList<TooltipAdder> currentScreenAdders = new ArrayList<>();