From 16e781c4bee6c68c0c3e2d485b57daa0f589101e Mon Sep 17 00:00:00 2001 From: isXander Date: Tue, 20 Dec 2022 16:29:17 +0000 Subject: 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 --- .../java/dev/isxander/yacl/api/LabelOption.java | 20 ++++++++++++++++++++ src/client/java/dev/isxander/yacl/api/Option.java | 1 + 2 files changed, 21 insertions(+) create mode 100644 src/client/java/dev/isxander/yacl/api/LabelOption.java (limited to 'src/client/java/dev/isxander/yacl/api') 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 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 { * * @param tooltipGetter function to get tooltip depending on value {@link Builder#build()}. */ + @SuppressWarnings("unchecked") Builder tooltip(@NotNull Function... tooltipGetter); /** -- cgit