aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java4
-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/LineSmoothener.java31
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipManager.java4
4 files changed, 36 insertions, 23 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java
index e04e632a..cd622934 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java
@@ -1,11 +1,11 @@
package de.hysky.skyblocker.skyblock.chocolatefactory;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.RegexUtils;
import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
+import de.hysky.skyblocker.utils.tooltip.LineSmoothener;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
@@ -182,7 +182,7 @@ public class ChocolateFactorySolver extends ContainerSolver {
}
//This is an ArrayList, so this operation is probably not very efficient, but logically it's pretty much the only way I can think of
- if (shouldAddLine) lines.add(lineIndex, ItemTooltip.createSmoothLine());
+ if (shouldAddLine) lines.add(lineIndex, LineSmoothener.createSmoothLine());
}
private static boolean addUpgradeTimerToLore(List<Text> lines, long cost) {
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 031817ac..505c4c8b 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
@@ -22,7 +22,6 @@ import net.minecraft.nbt.NbtElement;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
-
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,8 +38,6 @@ public class ItemTooltip {
public static void getTooltip(ItemStack stack, Item.TooltipContext tooltipContext, TooltipType tooltipType, List<Text> lines) {
if (!Utils.isOnSkyblock() || client.player == null) return;
- smoothenLines(lines);
-
String name = getInternalNameFromNBT(stack, false);
String internalID = getInternalNameFromNBT(stack, true);
String neuName = name;
@@ -394,23 +391,6 @@ public class ItemTooltip {
return message;
}
- //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);
-
- private static void smoothenLines(List<Text> lines) {
- for (int i = 0; i < lines.size(); i++) {
- List<Text> lineSiblings = lines.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)) {
- lines.set(i, createSmoothLine());
- }
- }
- }
-
- public static Text createSmoothLine() {
- return Text.literal(" ").formatted(Formatting.DARK_GRAY, Formatting.STRIKETHROUGH, Formatting.BOLD);
- }
-
// If these options is true beforehand, the client will get first data of these options while loading.
// After then, it will only fetch the data if it is on Skyblock.
public static int minute = 0;
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() {