Jump to content

Filip4223

Members
  • Posts

    3
  • Joined

  • Last visited

Filip4223's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. OK, it works.Tthanks. I wonder is there better way for doing it instead of creating new thread? System.out.println("Turning off"); Thread thread = new Thread(new CloseGui()); thread.start(); //CloseGui class public void run() { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("closing"); Minecraft.getMinecraft().player.closeScreen(); }
  2. I did it, but I think it's only clientside prevention. I gotta send real packet "close gui" to trigger serverside InventoryCloseEvent (or something like that).
  3. I am trying to write an Minecraft Forge (1.12.2) mod. It should work like that: OnGuiOpen: If GUI title is equals to constant string value then close GUI (like ESC). That must be known by the server exactly like closing a GUI by clicking E/ESC. My code (doesn't work - I'm seeing 'Turning off' in console but gui is still turned on) public class ModEventHandler { @SubscribeEvent public void onGuiOpen(GuiOpenEvent event) { if(event.getGui() instanceof GuiContainer) { checkGui((GuiContainer) event.getGui()); } } private void checkGui(GuiContainer gui) { if(gui.inventorySlots instanceof ContainerChest) { ContainerChest _gui = (ContainerChest)gui.inventorySlots; String text = _gui.getLowerChestInventory().getDisplayName().getUnformattedText().toString(); if(text.contains(" ")) { System.out.println("Turning off"); Minecraft.getMinecraft().player.closeScreen(); Minecraft.getMinecraft().displayGuiScreen(null); KeyBinding.onTick(Keyboard.KEY_ESCAPE); } } } } Thank u in advance for help
  4. I am trying to write an Minecraft Forge (1.8.8) mod. It should work like that: OnGuiOpen: If GUI title is equals to constant string value then close GUI (like ESC). Close event must be respected by server. My code (doesnt work): public class ModEventHandler { @SubscribeEvent public void onGuiOpen(GuiOpenEvent event) { if(event.gui instanceof GuiContainer) { checkGui((GuiContainer) event.gui); } } private void checkGui(GuiContainer gui) { if(gui.inventorySlots instanceof ContainerChest) { ContainerChest _gui = (ContainerChest)gui.inventorySlots; IChatComponent component = _gui.getLowerChestInventory().getDisplayName(); String text = component.getUnformattedText(); if(text.contains("Kopanie")) { System.out.println("Turning off"); Minecraft.getMinecraft().thePlayer.closeScreen(); Minecraft.getMinecraft().displayGuiScreen(null); KeyBinding.onTick(Keyboard.KEY_ESCAPE); } } } }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.