diff options
author | isXander <xandersmith2008@gmail.com> | 2023-01-19 22:06:13 +0000 |
---|---|---|
committer | isXander <xandersmith2008@gmail.com> | 2023-01-19 22:06:13 +0000 |
commit | f4a890749e07123b5b7db8200b53c943a93ede01 (patch) | |
tree | 9d8a7b3b905c5b5b96f8048a59acbf757a12c406 /src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java | |
parent | ee53b51a1e8d88085c75f227f4710b68c03b19c8 (diff) | |
download | YetAnotherConfigLib-f4a890749e07123b5b7db8200b53c943a93ede01.tar.gz YetAnotherConfigLib-f4a890749e07123b5b7db8200b53c943a93ede01.tar.bz2 YetAnotherConfigLib-f4a890749e07123b5b7db8200b53c943a93ede01.zip |
22w03a - now with better navigation!
Diffstat (limited to 'src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java')
-rw-r--r-- | src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java b/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java index 90c0e20..22c469d 100644 --- a/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java +++ b/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java @@ -7,11 +7,14 @@ import dev.isxander.yacl.gui.AbstractWidget; import dev.isxander.yacl.gui.YACLScreen; import dev.isxander.yacl.gui.utils.GuiUtils; import net.minecraft.ChatFormatting; +import net.minecraft.client.gui.ComponentPath; import net.minecraft.client.gui.GuiComponent; import net.minecraft.client.gui.components.MultiLineLabel; import net.minecraft.client.gui.narration.NarratedElementType; import net.minecraft.client.gui.narration.NarrationElementOutput; +import net.minecraft.client.gui.navigation.FocusNavigationEvent; import net.minecraft.network.chat.Component; +import org.jetbrains.annotations.Nullable; public abstract class ControllerWidget<T extends Controller<?>> extends AbstractWidget { protected final T control; @@ -126,13 +129,22 @@ public abstract class ControllerWidget<T extends Controller<?>> extends Abstract return getDimension().y() + getDimension().height() / 2f - textRenderer.lineHeight / 2f; } + @Nullable @Override - public boolean changeFocus(boolean lookForwards) { - if (!isAvailable()) - return false; + public ComponentPath nextFocusPath(FocusNavigationEvent focusNavigationEvent) { + if (!this.isAvailable()) + return null; + return !this.isFocused() ? ComponentPath.leaf(this) : null; + } - this.focused = !this.focused; - return this.focused; + @Override + public boolean isFocused() { + return focused; + } + + @Override + public void setFocused(boolean focused) { + this.focused = focused; } @Override |