From 1b9d4061af000e8348bee04ec2acac10a3346ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Fri, 7 Jan 2022 08:12:21 +0100 Subject: [PATCH] Horrible hack to avoid Forge stealing keyboard input in terminal screens. --- .../client/gui/AbstractMachineTerminalScreen.java | 11 +++++++++++ .../cil/oc2/client/gui/ComputerTerminalScreen.java | 12 ++++++++++++ .../li/cil/oc2/client/gui/RobotTerminalScreen.java | 12 ++++++++++++ 3 files changed, 35 insertions(+) diff --git a/src/main/java/li/cil/oc2/client/gui/AbstractMachineTerminalScreen.java b/src/main/java/li/cil/oc2/client/gui/AbstractMachineTerminalScreen.java index e35a707c..e2d1448e 100644 --- a/src/main/java/li/cil/oc2/client/gui/AbstractMachineTerminalScreen.java +++ b/src/main/java/li/cil/oc2/client/gui/AbstractMachineTerminalScreen.java @@ -9,9 +9,11 @@ import li.cil.oc2.common.Constants; import li.cil.oc2.common.container.AbstractMachineTerminalContainer; import li.cil.oc2.common.util.TooltipUtils; import net.minecraft.ChatFormatting; +import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; +import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraftforge.api.distmarker.Dist; @@ -103,6 +105,10 @@ public abstract class AbstractMachineTerminalScreen { + @SuppressWarnings("all") private EditBox focusIndicatorEditBox; + + /////////////////////////////////////////////////////////////////// + public ComputerTerminalScreen(final ComputerTerminalContainer container, final Inventory playerInventory, final Component title) { super(container, playerInventory, title); } + + /////////////////////////////////////////////////////////////////// + + @Override + protected void setFocusIndicatorEditBox(final EditBox editBox) { + focusIndicatorEditBox = editBox; + } } diff --git a/src/main/java/li/cil/oc2/client/gui/RobotTerminalScreen.java b/src/main/java/li/cil/oc2/client/gui/RobotTerminalScreen.java index 45c32636..551a6fc6 100644 --- a/src/main/java/li/cil/oc2/client/gui/RobotTerminalScreen.java +++ b/src/main/java/li/cil/oc2/client/gui/RobotTerminalScreen.java @@ -3,6 +3,7 @@ package li.cil.oc2.client.gui; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import li.cil.oc2.common.container.RobotTerminalContainer; +import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; @@ -16,6 +17,10 @@ public final class RobotTerminalScreen extends AbstractMachineTerminalScreen