diff options
| author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-04-21 16:10:15 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-21 16:10:15 -0400 |
| commit | 01b4ff489368182d164e2d38560c7a06183018b8 (patch) | |
| tree | 92f88214b70e824aa87bf2dc9eb899696134bd7d /src/main/java/de/hysky/skyblocker/utils/render/gui | |
| parent | 95fa171cd0f981f77a9a64aa77d9d69b81503253 (diff) | |
| parent | c43370daf17ea547f80908cf9391fac1d7756b45 (diff) | |
| download | Skyblocker-01b4ff489368182d164e2d38560c7a06183018b8.tar.gz Skyblocker-01b4ff489368182d164e2d38560c7a06183018b8.tar.bz2 Skyblocker-01b4ff489368182d164e2d38560c7a06183018b8.zip | |
Merge pull request #654 from viciscat/fancier-bars
Fancier bars
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils/render/gui')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractPopupScreen.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractPopupScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractPopupScreen.java index 2bd15955..e7a3e8b2 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractPopupScreen.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractPopupScreen.java @@ -3,10 +3,16 @@ package de.hysky.skyblocker.utils.render.gui; import com.mojang.blaze3d.platform.GlConst; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.text.Text; import net.minecraft.util.Identifier; +import org.jetbrains.annotations.Nullable; +import org.lwjgl.glfw.GLFW; + +import java.util.function.Consumer; /** * A more bare-bones version of Vanilla's Popup Screen. Meant to be extended. @@ -57,4 +63,35 @@ public class AbstractPopupScreen extends Screen { super.onDisplayed(); this.backgroundScreen.blur(); } + + public static class EnterConfirmTextFieldWidget extends TextFieldWidget { + + private final Runnable onEnter; + + public EnterConfirmTextFieldWidget(TextRenderer textRenderer, int width, int height, Text text, Runnable onEnter) { + this(textRenderer, 0, 0, width, height, text, onEnter); + } + + public EnterConfirmTextFieldWidget(TextRenderer textRenderer, int x, int y, int width, int height, Text text,Runnable onEnter) { + this(textRenderer, x, y, width, height, null, text, onEnter); + } + + public EnterConfirmTextFieldWidget(TextRenderer textRenderer, int x, int y, int width, int height, @Nullable TextFieldWidget copyFrom, Text text, Runnable onEnter) { + super(textRenderer, x, y, width, height, copyFrom, text); + this.onEnter = onEnter; + } + + + @Override + public boolean keyPressed(int keyCode, int scanCode, int modifiers) { + if (!super.keyPressed(keyCode, scanCode, modifiers)) { + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_KP_ENTER) { + onEnter.run(); + return true; + } + } else return true; + return false; + } + } + }
\ No newline at end of file |
