diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-07-08 09:03:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-08 14:03:17 +0800 |
commit | 7b02937debe49aa130e30a9f688e041fe12bcd9d (patch) | |
tree | 667b6cdd7bd2f7826166212850021884b4e47f4e /src/main/java/de/hysky/skyblocker/skyblock/item | |
parent | f9c81292d7d6087eac2dba760a9ae3576fde4d3a (diff) | |
download | Skyblocker-7b02937debe49aa130e30a9f688e041fe12bcd9d.tar.gz Skyblocker-7b02937debe49aa130e30a9f688e041fe12bcd9d.tar.bz2 Skyblocker-7b02937debe49aa130e30a9f688e041fe12bcd9d.zip |
Multiply npc price tooltip by the amount of items in the sack (#782)
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/item')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java index 672201d5..d556c9b2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java @@ -7,6 +7,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; import net.minecraft.text.Text; import net.minecraft.util.Formatting; +import org.apache.commons.lang3.math.NumberUtils; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -20,9 +21,18 @@ public class NpcPriceTooltip extends TooltipAdder { public void addToTooltip(@Nullable Slot focusedSlot, ItemStack stack, List<Text> lines) { final String internalID = stack.getSkyblockId(); if (internalID != null && TooltipInfoType.NPC.isTooltipEnabledAndHasOrNullWarning(internalID)) { + int amount; + if (lines.get(1).getString().endsWith("Sack")) { + //The amount is in the 2nd sibling of the 3rd line of the lore. here V + //Example line: empty[style={color=dark_purple,!italic}, siblings=[literal{Stored: }[style={color=gray}], literal{0}[style={color=dark_gray}], literal{/20k}[style={color=gray}]] + String line = lines.get(3).getSiblings().get(1).getString().replace(",", ""); + amount = NumberUtils.isParsable(line) && !line.equals("0") ? Integer.parseInt(line) : stack.getCount(); + } else { + amount = stack.getCount(); + } lines.add(Text.literal(String.format("%-21s", "NPC Sell Price:")) .formatted(Formatting.YELLOW) - .append(ItemTooltip.getCoinsMessage(TooltipInfoType.NPC.getData().get(internalID).getAsDouble(), stack.getCount()))); + .append(ItemTooltip.getCoinsMessage(TooltipInfoType.NPC.getData().get(internalID).getAsDouble(), amount))); } } } |