Posted October 12, 20159 yr I am trying to close my custom inventory when I press a key but the the entire KeyInputEvent method doesn't seem to be called at all when I am inside my GUI. I can open my GUI just fine using the same method but once the GUI is open the method is called. public class KeyHandler { @SubscribeEvent public void onKeyInput(KeyInputEvent event) { if(!FMLClientHandler.instance().isGUIOpen(GuiChat.class)) { if(KeyBindings.openInventory.isPressed()) { References.network.sendToServer(new OpenPlayerInventory()); References.network.sendToServer(new ClosePlayerInventory()); } } } }
October 13, 20159 yr It is possible, just not with the KeyInputEvent - make a public static reference to your KeyBinding somewhere, and then override the #keyTyped method in your GUI class: @Override protected void keyTyped(char c, int keyCode) { super.keyTyped(c, keyCode); if (keyCode == KeyBindings.yourKey.getKeyCode()) { mc.thePlayer.closeScreen(); } } http://i.imgur.com/NdrFdld.png[/img]
October 13, 20159 yr That only works for your own Gui though. Yes, but that's what the OP said he was trying to do: I am trying to close my custom inventory when I press a key http://i.imgur.com/NdrFdld.png[/img]
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.