diff options
author | xander <xander@isxander.dev> | 2022-09-15 19:22:40 +0100 |
---|---|---|
committer | xander <xander@isxander.dev> | 2022-09-15 19:22:40 +0100 |
commit | b9ce9513c8e55ed53321d78b6fbbd07aacd5e987 (patch) | |
tree | 445836336f061c0be2cf601ecc294022f0cace33 /src/main/java/dev/isxander/yacl/impl | |
parent | e8b6e383b368706c992425f7de7023f24d376d7c (diff) | |
download | YetAnotherConfigLib-b9ce9513c8e55ed53321d78b6fbbd07aacd5e987.tar.gz YetAnotherConfigLib-b9ce9513c8e55ed53321d78b6fbbd07aacd5e987.tar.bz2 YetAnotherConfigLib-b9ce9513c8e55ed53321d78b6fbbd07aacd5e987.zip |
available property + fix category tooltips not showing
Diffstat (limited to 'src/main/java/dev/isxander/yacl/impl')
-rw-r--r-- | src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java | 8 | ||||
-rw-r--r-- | src/main/java/dev/isxander/yacl/impl/OptionImpl.java | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java index 2cdc8a6..a600bc3 100644 --- a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java @@ -19,6 +19,7 @@ public class ButtonOptionImpl implements ButtonOption { private final Text name; private final Text tooltip; private final Consumer<YACLScreen> action; + private final boolean available; private final Controller<Consumer<YACLScreen>> controller; private final Binding<Consumer<YACLScreen>> binding; @@ -26,11 +27,13 @@ public class ButtonOptionImpl implements ButtonOption { @NotNull Text name, @Nullable Text tooltip, @NotNull Consumer<YACLScreen> action, + boolean available, @NotNull Function<ButtonOption, Controller<Consumer<YACLScreen>>> controlGetter ) { this.name = name; this.tooltip = tooltip; this.action = action; + this.available = available; this.controller = controlGetter.apply(this); this.binding = new EmptyBinderImpl(); } @@ -51,6 +54,11 @@ public class ButtonOptionImpl implements ButtonOption { } @Override + public boolean available() { + return available; + } + + @Override public @NotNull Controller<Consumer<YACLScreen>> controller() { return controller; } diff --git a/src/main/java/dev/isxander/yacl/impl/OptionImpl.java b/src/main/java/dev/isxander/yacl/impl/OptionImpl.java index 445420e..5a31a70 100644 --- a/src/main/java/dev/isxander/yacl/impl/OptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/OptionImpl.java @@ -18,6 +18,7 @@ public class OptionImpl<T> implements Option<T> { private final Text tooltip; private final Controller<T> controller; private final Binding<T> binding; + private final boolean available; private final ImmutableSet<OptionFlag> flags; @@ -30,6 +31,7 @@ public class OptionImpl<T> implements Option<T> { @Nullable Text tooltip, @NotNull Function<Option<T>, Controller<T>> controlGetter, @NotNull Binding<T> binding, + boolean available, ImmutableSet<OptionFlag> flags, @NotNull Class<T> typeClass ) { @@ -37,6 +39,7 @@ public class OptionImpl<T> implements Option<T> { this.tooltip = tooltip; this.controller = controlGetter.apply(this); this.binding = binding; + this.available = available; this.flags = flags; this.typeClass = typeClass; this.pendingValue = binding().getValue(); @@ -63,6 +66,11 @@ public class OptionImpl<T> implements Option<T> { } @Override + public boolean available() { + return available; + } + + @Override public @NotNull Class<T> typeClass() { return typeClass; } |