aboutsummaryrefslogtreecommitdiff
path: root/src/client/java/dev/isxander/yacl/api
diff options
context:
space:
mode:
authorisXander <xandersmith2008@gmail.com>2022-12-20 16:29:17 +0000
committerisXander <xandersmith2008@gmail.com>2022-12-20 16:29:17 +0000
commit16e781c4bee6c68c0c3e2d485b57daa0f589101e (patch)
tree4b8234d083f6368b58847895579f33343fc462d2 /src/client/java/dev/isxander/yacl/api
parent33deb85b9b425cef83dadd63954b7d0d0fb8a841 (diff)
downloadYetAnotherConfigLib-16e781c4bee6c68c0c3e2d485b57daa0f589101e.tar.gz
YetAnotherConfigLib-16e781c4bee6c68c0c3e2d485b57daa0f589101e.tar.bz2
YetAnotherConfigLib-16e781c4bee6c68c0c3e2d485b57daa0f589101e.zip
minor fixes/improvements
new LabelOption to create labels easier add 'List is empty' entry to lists that are empty fix option list widget background not being wide enough
Diffstat (limited to 'src/client/java/dev/isxander/yacl/api')
-rw-r--r--src/client/java/dev/isxander/yacl/api/LabelOption.java20
-rw-r--r--src/client/java/dev/isxander/yacl/api/Option.java1
2 files changed, 21 insertions, 0 deletions
diff --git a/src/client/java/dev/isxander/yacl/api/LabelOption.java b/src/client/java/dev/isxander/yacl/api/LabelOption.java
new file mode 100644
index 0000000..a1bbe28
--- /dev/null
+++ b/src/client/java/dev/isxander/yacl/api/LabelOption.java
@@ -0,0 +1,20 @@
+package dev.isxander.yacl.api;
+
+import dev.isxander.yacl.impl.LabelOptionImpl;
+import net.minecraft.text.Text;
+
+/**
+ * A label option is an easier way of creating a label with a {@link dev.isxander.yacl.gui.controllers.LabelController}.
+ * This option is immutable and cannot be disabled. Tooltips are supported through
+ * {@link Text} styling.
+ */
+public interface LabelOption extends Option<Text> {
+ Text label();
+
+ /**
+ * Creates a new label option with the given label.
+ */
+ static LabelOption create(Text label) {
+ return new LabelOptionImpl(label);
+ }
+}
diff --git a/src/client/java/dev/isxander/yacl/api/Option.java b/src/client/java/dev/isxander/yacl/api/Option.java
index 406931f..9b4ff7b 100644
--- a/src/client/java/dev/isxander/yacl/api/Option.java
+++ b/src/client/java/dev/isxander/yacl/api/Option.java
@@ -136,6 +136,7 @@ public interface Option<T> {
*
* @param tooltipGetter function to get tooltip depending on value {@link Builder#build()}.
*/
+ @SuppressWarnings("unchecked")
Builder<T> tooltip(@NotNull Function<T, Text>... tooltipGetter);
/**