Jump to content

Filip4223

Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by Filip4223

  1. 11 minutes ago, diesieben07 said:

    Then you must first let the GUI open (GuiOpenEvent fires before its open!) and then call:

    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 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 ;)

  3. 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.