diff options
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/tooltip/LineSmoothener.java | 31 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java | 4 |
2 files changed, 34 insertions, 1 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/tooltip/LineSmoothener.java b/src/main/java/de/hysky/skyblocker/utils/tooltip/LineSmoothener.java new file mode 100644 index 00000000..1096f7b0 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/LineSmoothener.java @@ -0,0 +1,31 @@ +package de.hysky.skyblocker.utils.tooltip; + +import net.minecraft.screen.slot.Slot; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + +import java.util.List; + +public class LineSmoothener extends TooltipAdder { + //This is static to not create a new text object for each line in every item + private static final Text BUMPY_LINE = Text.literal("-----------------").formatted(Formatting.DARK_GRAY, Formatting.STRIKETHROUGH); + + public static Text createSmoothLine() { + return Text.literal(" ").formatted(Formatting.DARK_GRAY, Formatting.STRIKETHROUGH, Formatting.BOLD); + } + + protected LineSmoothener() { + super(Integer.MIN_VALUE); + } + + @Override + public void addToTooltip(List<Text> lore, Slot focusedSlot) { + for (int i = 0; i < lore.size(); i++) { + List<Text> lineSiblings = lore.get(i).getSiblings(); + //Compare the first sibling rather than the whole object as the style of the root object can change while visually staying the same + if (lineSiblings.size() == 1 && lineSiblings.getFirst().equals(BUMPY_LINE)) { + lore.set(i, createSmoothLine()); + } + } + } +} 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 6a744283..7d32e3cd 100644 --- a/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java @@ -11,7 +11,9 @@ import java.util.Comparator; import java.util.List; public class TooltipManager { - private static final TooltipAdder[] adders = new TooltipAdder[]{}; + private static final TooltipAdder[] adders = new TooltipAdder[]{ + new LineSmoothener() + }; private static final ArrayList<TooltipAdder> currentScreenAdders = new ArrayList<>(); private TooltipManager() { |