diff options
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); /** |