From dd24e4f8e84ed02913196c8ad6093275acc92219 Mon Sep 17 00:00:00 2001 From: xander Date: Fri, 2 Sep 2022 11:16:48 +0100 Subject: button options now consume YACLScreen --- .../dev/isxander/yacl/impl/ButtonOptionImpl.java | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src/main/java/dev/isxander/yacl/impl') diff --git a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java index 4104ff0..748dd0c 100644 --- a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java @@ -3,26 +3,28 @@ package dev.isxander.yacl.impl; import dev.isxander.yacl.api.Binding; import dev.isxander.yacl.api.ButtonOption; import dev.isxander.yacl.api.Controller; +import dev.isxander.yacl.gui.YACLScreen; import net.minecraft.text.Text; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.function.Consumer; import java.util.function.Function; @ApiStatus.Internal public class ButtonOptionImpl implements ButtonOption { private final Text name; private final Text tooltip; - private final Runnable action; - private final Controller controller; - private final Binding binding; + private final Consumer action; + private final Controller> controller; + private final Binding> binding; public ButtonOptionImpl( @NotNull Text name, @Nullable Text tooltip, - @NotNull Runnable action, - @NotNull Function> controlGetter + @NotNull Consumer action, + @NotNull Function>> controlGetter ) { this.name = name; this.tooltip = tooltip; @@ -42,17 +44,17 @@ public class ButtonOptionImpl implements ButtonOption { } @Override - public Runnable action() { + public Consumer action() { return action; } @Override - public @NotNull Controller controller() { + public @NotNull Controller> controller() { return controller; } @Override - public @NotNull Binding binding() { + public @NotNull Binding> binding() { return binding; } @@ -62,12 +64,12 @@ public class ButtonOptionImpl implements ButtonOption { } @Override - public @NotNull Runnable pendingValue() { + public @NotNull Consumer pendingValue() { throw new UnsupportedOperationException(); } @Override - public void requestSet(Runnable value) { + public void requestSet(Consumer value) { throw new UnsupportedOperationException(); } @@ -86,19 +88,19 @@ public class ButtonOptionImpl implements ButtonOption { } - private static class EmptyBinderImpl implements Binding { + private static class EmptyBinderImpl implements Binding> { @Override - public void setValue(Runnable value) { + public void setValue(Consumer value) { } @Override - public Runnable getValue() { + public Consumer getValue() { throw new UnsupportedOperationException(); } @Override - public Runnable defaultValue() { + public Consumer defaultValue() { throw new UnsupportedOperationException(); } } -- cgit