From 191745eb70de072a486ca799da177490616622d0 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 21 Oct 2022 16:28:34 +0800 Subject: Fix #1081 --- .../gui/screen/AbstractDisplayViewingScreen.java | 19 ++++++++++++++++++- .../gui/screen/CompositeDisplayViewingScreen.java | 10 +--------- .../gui/screen/DefaultDisplayViewingScreen.java | 10 +--------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java index b7a6493db..4c18502d2 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java @@ -31,6 +31,7 @@ import com.mojang.math.Matrix4f; import dev.architectury.fluid.FluidStack; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.REIRuntime; +import me.shedaniel.rei.api.client.config.ConfigObject; import me.shedaniel.rei.api.client.gui.screen.DisplayScreen; import me.shedaniel.rei.api.client.gui.widgets.Slot; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; @@ -48,10 +49,12 @@ import me.shedaniel.rei.api.common.entry.type.EntryType; import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.impl.client.ClientHelperImpl; +import me.shedaniel.rei.impl.client.REIRuntimeImpl; import me.shedaniel.rei.impl.client.gui.widget.EntryWidget; import me.shedaniel.rei.impl.client.gui.widget.entrylist.EntryListWidget; import me.shedaniel.rei.impl.display.DisplaySpec; import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.chat.NarratorChatListener; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -372,7 +375,21 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - return super.keyPressed(keyCode, scanCode, modifiers) || (getOverlay().keyPressed(keyCode, scanCode, modifiers) && handleFocuses()); + if (super.keyPressed(keyCode, scanCode, modifiers) || (getOverlay().keyPressed(keyCode, scanCode, modifiers) && handleFocuses())) + return true; + if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { + if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { + minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + } else { + minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); + } + return true; + } + if (this.minecraft.options.keyInventory.matches(keyCode, scanCode)) { + Minecraft.getInstance().setScreen(REIRuntime.getInstance().getPreviousScreen()); + return true; + } + return false; } @Override 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 d035b5430..205cc9a23 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 @@ -451,18 +451,10 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen for (GuiEventListener element : children()) if (element.keyPressed(keyCode, scanCode, modifiers)) return true; - if (keyCode == 256 || this.minecraft.options.keyInventory.matches(keyCode, scanCode)) { + if (keyCode == 256) { Minecraft.getInstance().setScreen(REIRuntime.getInstance().getPreviousScreen()); return true; } - if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { - if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { - minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); - } else { - minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); - } - return true; - } return super.keyPressed(keyCode, scanCode, modifiers); } } 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 c84292c04..969716706 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 @@ -125,18 +125,10 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { for (GuiEventListener element : children()) if (element.keyPressed(keyCode, scanCode, modifiers)) return true; - if (keyCode == 256 || this.minecraft.options.keyInventory.matches(keyCode, scanCode)) { + if (keyCode == 256) { Minecraft.getInstance().setScreen(REIRuntime.getInstance().getPreviousScreen()); return true; } - if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { - if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { - minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); - } else { - minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); - } - return true; - } return super.keyPressed(keyCode, scanCode, modifiers); } -- cgit