aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/TextRepresentable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/TextRepresentable.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/TextRepresentable.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/TextRepresentable.java b/src/main/java/me/shedaniel/rei/api/TextRepresentable.java
new file mode 100644
index 000000000..fd058b0cc
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/api/TextRepresentable.java
@@ -0,0 +1,25 @@
+package me.shedaniel.rei.api;
+
+import me.shedaniel.math.impl.PointHelper;
+import me.shedaniel.rei.api.widgets.Tooltip;
+import net.minecraft.text.LiteralText;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+import org.jetbrains.annotations.NotNull;
+
+public interface TextRepresentable {
+ @NotNull
+ default Text asFormattedText() {
+ if (this instanceof EntryStack) {
+ Tooltip tooltip = ((EntryStack) this).getTooltip(PointHelper.ofMouse());
+ if (tooltip != null && !tooltip.getText().isEmpty())
+ return tooltip.getText().get(0);
+ }
+ return new LiteralText("");
+ }
+
+ @NotNull
+ default Text asFormatStrippedText() {
+ return new LiteralText(Formatting.strip(asFormattedText().getString()));
+ }
+}