diff options
author | isXander <xandersmith2008@gmail.com> | 2022-12-20 16:29:17 +0000 |
---|---|---|
committer | isXander <xandersmith2008@gmail.com> | 2022-12-20 16:29:17 +0000 |
commit | 16e781c4bee6c68c0c3e2d485b57daa0f589101e (patch) | |
tree | 4b8234d083f6368b58847895579f33343fc462d2 /src/client/java/dev/isxander/yacl/api | |
parent | 33deb85b9b425cef83dadd63954b7d0d0fb8a841 (diff) | |
download | YetAnotherConfigLib-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.java | 20 | ||||
-rw-r--r-- | src/client/java/dev/isxander/yacl/api/Option.java | 1 |
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); /** |