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());