From 2c5c9bb72791a63f1cd35a47e3886bf67ba43dac Mon Sep 17 00:00:00 2001 From: Waiting Idly <25394029+WaitingIdly@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:55:30 -0700 Subject: [PATCH 1/3] back keybind --- .../java/betterquesting/api2/client/gui/GuiScreenCanvas.java | 2 +- src/main/java/betterquesting/client/BQ_Keybindings.java | 3 +++ src/main/resources/assets/betterquesting/lang/en_us.lang | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java b/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java index 0dcc36ebc..a77478457 100644 --- a/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java +++ b/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java @@ -205,7 +205,7 @@ public void keyTyped(char c, int keyCode) { return; } - if (keyCode == 14) { // BACKSPACE + if (keyCode == BQ_Keybindings.backPage.getKeyCode()) { // BACKSPACE if (this.mc.currentScreen instanceof GuiScreenCanvas) { GuiScreenCanvas canvas = (GuiScreenCanvas) mc.currentScreen; boolean hasKeyAction = false; diff --git a/src/main/java/betterquesting/client/BQ_Keybindings.java b/src/main/java/betterquesting/client/BQ_Keybindings.java index bb3741854..ff88cabb1 100644 --- a/src/main/java/betterquesting/client/BQ_Keybindings.java +++ b/src/main/java/betterquesting/client/BQ_Keybindings.java @@ -7,10 +7,13 @@ public class BQ_Keybindings { public static KeyBinding openQuests; + public static KeyBinding backPage; public static void RegisterKeys() { openQuests = new KeyBinding("key.betterquesting.quests", Keyboard.KEY_GRAVE, ModReference.NAME); + backPage = new KeyBinding("key.betterquesting.back", Keyboard.KEY_BACK, ModReference.NAME); ClientRegistry.registerKeyBinding(openQuests); + ClientRegistry.registerKeyBinding(backPage); } } diff --git a/src/main/resources/assets/betterquesting/lang/en_us.lang b/src/main/resources/assets/betterquesting/lang/en_us.lang index 1eeddcafb..a15e6e619 100644 --- a/src/main/resources/assets/betterquesting/lang/en_us.lang +++ b/src/main/resources/assets/betterquesting/lang/en_us.lang @@ -129,6 +129,7 @@ betterquesting.msg.copy_quest_copied=§eCopied to clipboard: §b%s betterquesting.msg.copy_quest_failed=§cCould not copy §b%s§r§c to clipboard! key.betterquesting.quests=Open Quests +key.betterquesting.back=Page Back key.betterquesting.party=Party Manager key.betterquesting.themes=Change Theme From 4788e35168c965f4ed79b24816e9f844004b7340 Mon Sep 17 00:00:00 2001 From: Waiting Idly <25394029+WaitingIdly@users.noreply.github.com> Date: Fri, 5 Jul 2024 23:16:37 -0700 Subject: [PATCH 2/3] extract duplicate escape logic to its own function --- .../api2/client/gui/GuiContainerCanvas.java | 25 ++++++++---------- .../api2/client/gui/GuiScreenCanvas.java | 26 ++++++++----------- 2 files changed, 22 insertions(+), 29 deletions(-) diff --git a/src/main/java/betterquesting/api2/client/gui/GuiContainerCanvas.java b/src/main/java/betterquesting/api2/client/gui/GuiContainerCanvas.java index 64f311a0d..6d6e5a673 100644 --- a/src/main/java/betterquesting/api2/client/gui/GuiContainerCanvas.java +++ b/src/main/java/betterquesting/api2/client/gui/GuiContainerCanvas.java @@ -193,14 +193,8 @@ public void handleMouseInput() throws IOException { @Override public void keyTyped(char c, int keyCode) { - if (keyCode == 1) { - if (this.isVolatile || this instanceof IVolatileScreen) { - openPopup(new PopChoice(QuestTranslation.translate("betterquesting.gui.closing_warning") + "\n\n" + QuestTranslation.translate("betterquesting.gui.closing_confirm"), PresetIcon.ICON_NOTICE.getTexture(), this::confirmClose, QuestTranslation.translate("gui.yes"), QuestTranslation.translate("gui.no"))); - } else { - this.mc.displayGuiScreen(null); - if (this.mc.currentScreen == null) this.mc.setIngameFocus(); - } - + if (keyCode == Keyboard.KEY_ESCAPE) { + confirmVolatileClose(); return; } @@ -314,17 +308,20 @@ public boolean onKeyTyped(char c, int keycode) { } if (!used && (BQ_Keybindings.openQuests.getKeyCode() == keycode || mc.gameSettings.keyBindInventory.getKeyCode() == keycode)) { - if (this.isVolatile || this instanceof IVolatileScreen) { - openPopup(new PopChoice(QuestTranslation.translate("betterquesting.gui.closing_warning") + "\n\n" + QuestTranslation.translate("betterquesting.gui.closing_confirm"), PresetIcon.ICON_NOTICE.getTexture(), this::confirmClose, QuestTranslation.translate("gui.yes"), QuestTranslation.translate("gui.no"))); - } else { - this.mc.displayGuiScreen(null); - if (this.mc.currentScreen == null) this.mc.setIngameFocus(); - } + confirmVolatileClose(); } return used; } + private void confirmVolatileClose() { + if (this.isVolatile || this instanceof IVolatileScreen) { + openPopup(new PopChoice(QuestTranslation.translate("betterquesting.gui.closing_warning") + "\n\n" + QuestTranslation.translate("betterquesting.gui.closing_confirm"), PresetIcon.ICON_NOTICE.getTexture(), this::confirmClose, QuestTranslation.translate("gui.yes"), QuestTranslation.translate("gui.no"))); + } else { + confirmClose(0); + } + } + @Override public List getTooltip(int mx, int my) { ListIterator pnIter = guiPanels.listIterator(guiPanels.size()); diff --git a/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java b/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java index a77478457..e1ae3d6fd 100644 --- a/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java +++ b/src/main/java/betterquesting/api2/client/gui/GuiScreenCanvas.java @@ -194,15 +194,8 @@ public void handleMouseInput() throws IOException { @Override public void keyTyped(char c, int keyCode) { - if (keyCode == 1) // ESCAPE - { - if (this.isVolatile || this instanceof IVolatileScreen) { - openPopup(new PopChoice(QuestTranslation.translate("betterquesting.gui.closing_warning") + "\n\n" + QuestTranslation.translate("betterquesting.gui.closing_confirm"), PresetIcon.ICON_NOTICE.getTexture(), this::confirmClose, QuestTranslation.translate("gui.yes"), QuestTranslation.translate("gui.no"))); - } else { - this.mc.displayGuiScreen(null); - if (this.mc.currentScreen == null) this.mc.setIngameFocus(); - } - + if (keyCode == Keyboard.KEY_ESCAPE) { + confirmVolatileClose(); return; } if (keyCode == BQ_Keybindings.backPage.getKeyCode()) { // BACKSPACE @@ -330,17 +323,20 @@ public boolean onKeyTyped(char c, int keycode) { } if (!used && (BQ_Keybindings.openQuests.getKeyCode() == keycode || mc.gameSettings.keyBindInventory.getKeyCode() == keycode)) { - if (this.isVolatile || this instanceof IVolatileScreen) { - openPopup(new PopChoice(QuestTranslation.translate("betterquesting.gui.closing_warning") + "\n\n" + QuestTranslation.translate("betterquesting.gui.closing_confirm"), PresetIcon.ICON_NOTICE.getTexture(), this::confirmClose, QuestTranslation.translate("gui.yes"), QuestTranslation.translate("gui.no"))); - } else { - this.mc.displayGuiScreen(null); - if (this.mc.currentScreen == null) this.mc.setIngameFocus(); - } + confirmVolatileClose(); } return used; } + private void confirmVolatileClose() { + if (this.isVolatile || this instanceof IVolatileScreen) { + openPopup(new PopChoice(QuestTranslation.translate("betterquesting.gui.closing_warning") + "\n\n" + QuestTranslation.translate("betterquesting.gui.closing_confirm"), PresetIcon.ICON_NOTICE.getTexture(), this::confirmClose, QuestTranslation.translate("gui.yes"), QuestTranslation.translate("gui.no"))); + } else { + confirmClose(0); + } + } + @Override public List getTooltip(int mx, int my) { ListIterator pnIter = guiPanels.listIterator(guiPanels.size()); From 105955afc53c7736b325b88c39d65ccf0ec750ad Mon Sep 17 00:00:00 2001 From: Waiting Idly <25394029+WaitingIdly@users.noreply.github.com> Date: Thu, 10 Oct 2024 05:07:48 -0700 Subject: [PATCH 3/3] change key name to be more descriptive --- src/main/resources/assets/betterquesting/lang/en_us.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/betterquesting/lang/en_us.lang b/src/main/resources/assets/betterquesting/lang/en_us.lang index a15e6e619..3be63a5f8 100644 --- a/src/main/resources/assets/betterquesting/lang/en_us.lang +++ b/src/main/resources/assets/betterquesting/lang/en_us.lang @@ -129,7 +129,7 @@ betterquesting.msg.copy_quest_copied=§eCopied to clipboard: §b%s betterquesting.msg.copy_quest_failed=§cCould not copy §b%s§r§c to clipboard! key.betterquesting.quests=Open Quests -key.betterquesting.back=Page Back +key.betterquesting.back=Return to Previous Page key.betterquesting.party=Party Manager key.betterquesting.themes=Change Theme