aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-05-28 19:05:25 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-06-08 04:13:47 +0300
commit7769de8c37ca43da2fed332effddbe284f601b32 (patch)
tree65dd3eaaf3576a4a79b6bcc5b0e6ee1b1a830800 /src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java
parent4bde27dc8c1e89d38f76477c5cd8d30a411c8bb6 (diff)
downloadSkyblocker-7769de8c37ca43da2fed332effddbe284f601b32.tar.gz
Skyblocker-7769de8c37ca43da2fed332effddbe284f601b32.tar.bz2
Skyblocker-7769de8c37ca43da2fed332effddbe284f601b32.zip
Tooltip manager initial commit
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java b/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java
new file mode 100644
index 00000000..1e628e99
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/utils/tooltip/TooltipAdder.java
@@ -0,0 +1,35 @@
+package de.hysky.skyblocker.utils.tooltip;
+
+import net.minecraft.screen.slot.Slot;
+import net.minecraft.text.Text;
+
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * Extend this class and add it to {@link TooltipManager#adders} to add additional text to tooltips.
+ */
+public abstract class TooltipAdder {
+ public final Pattern titlePattern;
+ //Lower priority means it will be applied first
+ public final int priority;
+
+ protected TooltipAdder(String titlePattern, int priority) {
+ this(Pattern.compile(titlePattern), priority);
+ }
+
+ protected TooltipAdder(Pattern titlePattern, int priority) {
+ this.titlePattern = titlePattern;
+ this.priority = priority;
+ }
+
+ /**
+ * Creates a TooltipAdder that will be applied to all screens.
+ */
+ protected TooltipAdder(int priority) {
+ this.titlePattern = null;
+ this.priority = priority;
+ }
+
+ public abstract void addToTooltip(List<Text> lore, Slot focusedSlot);
+}