aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils/render/gui
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-04-21 16:10:15 -0400
committerGitHub <noreply@github.com>2024-04-21 16:10:15 -0400
commit01b4ff489368182d164e2d38560c7a06183018b8 (patch)
tree92f88214b70e824aa87bf2dc9eb899696134bd7d /src/main/java/de/hysky/skyblocker/utils/render/gui
parent95fa171cd0f981f77a9a64aa77d9d69b81503253 (diff)
parentc43370daf17ea547f80908cf9391fac1d7756b45 (diff)
downloadSkyblocker-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.java37
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