From db0e7da8348f0034c2cb64a23c209cb2d5f4cb3e Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Sat, 20 Dec 2025 11:55:40 +0200 Subject: [PATCH] Calculated closeOnEsc logic first thing in method (to fix closeOnEsc closing searchBar & entire gui in the same click) --- .../npcs/client/gui/util/GuiNPCInterface.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/util/GuiNPCInterface.java b/src/main/java/noppes/npcs/client/gui/util/GuiNPCInterface.java index 204bece7e..37dce6f79 100644 --- a/src/main/java/noppes/npcs/client/gui/util/GuiNPCInterface.java +++ b/src/main/java/noppes/npcs/client/gui/util/GuiNPCInterface.java @@ -243,16 +243,7 @@ public abstract class GuiNPCInterface extends GuiScreen { @Override public void keyTyped(char c, int i) { - if (subgui != null) - subgui.keyTyped(c, i); - for (GuiNpcTextField tf : textfields.values()) - tf.textboxKeyTyped(c, i); - - for (GuiScrollWindow guiScrollableComponent : scrollWindows.values()) { - guiScrollableComponent.keyTyped(c, i); - } - - /* + /* Fixes closing sub with escape closes all of its parents. The outermost GUI (root of all subs) closes the deepest open sub on ESC. */ @@ -273,6 +264,17 @@ public abstract class GuiNPCInterface extends GuiScreen { else close(); } + + + if (subgui != null) + subgui.keyTyped(c, i); + for (GuiNpcTextField tf : textfields.values()) + tf.textboxKeyTyped(c, i); + + for (GuiScrollWindow guiScrollableComponent : scrollWindows.values()) { + guiScrollableComponent.keyTyped(c, i); + } + } public void onGuiClosed() {