diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-06-27 16:47:45 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-06-27 16:47:45 +0800 |
| commit | 4cbdc5d77a1406ef6d8b350ddedce987cbed3647 (patch) | |
| tree | b5f4b70c351423dbbae3b6f9f161094ab4f1bbf0 /runtime/src/main/java | |
| parent | c0c2bd8d259b9ccc55d2111d806220753b9d89bd (diff) | |
| download | RoughlyEnoughItems-4cbdc5d77a1406ef6d8b350ddedce987cbed3647.tar.gz RoughlyEnoughItems-4cbdc5d77a1406ef6d8b350ddedce987cbed3647.tar.bz2 RoughlyEnoughItems-4cbdc5d77a1406ef6d8b350ddedce987cbed3647.zip | |
Close #561
Diffstat (limited to 'runtime/src/main/java')
3 files changed, 26 insertions, 6 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java index cd99039c4..089819553 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java @@ -267,6 +267,11 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData { } @Override + public ModifierKeyCode getPreviousScreenKeybind() { + return basics.keyBindings.previousScreenKeybind == null ? ModifierKeyCode.unknown() : basics.keyBindings.previousScreenKeybind; + } + + @Override public double getEntrySize() { return advanced.accessibility.entrySize; } @@ -419,15 +424,16 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData { } public static class KeyBindings { - private ModifierKeyCode recipeKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(82), Modifier.none()); - private ModifierKeyCode usageKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(85), Modifier.none()); - private ModifierKeyCode hideKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(79), Modifier.of(false, true, false)); + private ModifierKeyCode recipeKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_R), Modifier.none()); + private ModifierKeyCode usageKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_U), Modifier.none()); + private ModifierKeyCode hideKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_O), Modifier.of(false, true, false)); private ModifierKeyCode previousPageKeybind = ModifierKeyCode.unknown(); private ModifierKeyCode nextPageKeybind = ModifierKeyCode.unknown(); private ModifierKeyCode focusSearchFieldKeybind = ModifierKeyCode.unknown(); private ModifierKeyCode copyRecipeIdentifierKeybind = ModifierKeyCode.unknown(); - private ModifierKeyCode favoriteKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(65), Modifier.none()); + private ModifierKeyCode favoriteKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_A), Modifier.none()); private ModifierKeyCode exportImageKeybind = ModifierKeyCode.unknown(); + private ModifierKeyCode previousScreenKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_BACKSPACE), Modifier.none()); } public static class Appearance { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java index 42d451a9e..b2b86fb47 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java @@ -236,6 +236,13 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen selectedRecipeIndex = categoryMap.get(categories.get(selectedCategoryIndex)).size() - 1; init(); return true; + } else if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesMouse(button)) { + if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { + minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + } else { + minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); + } + return true; } for (GuiEventListener entry : children()) if (entry.mouseClicked(mouseX, mouseY, button)) { @@ -408,7 +415,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen Minecraft.getInstance().setScreen(REIRuntime.getInstance().getPreviousScreen()); return true; } - if (keyCode == 259) { + if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); } else { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java index 7239762ec..08fa19f81 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java @@ -138,7 +138,7 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { Minecraft.getInstance().setScreen(REIRuntime.getInstance().getPreviousScreen()); return true; } - if (keyCode == 259) { + if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); } else { @@ -487,6 +487,13 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { if (recipeBack.isEnabled()) recipeBack.onClick(); return recipeBack.isEnabled(); + } else if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesMouse(button)) { + if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { + minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + } else { + minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); + } + return true; } return super.mouseClicked(mouseX, mouseY, button); } |
