Создание нового окна LWJGL

Статус
В этой теме нельзя размещать новые ответы.
Версия Minecraft
1.7.10
Всем привет. Задался сегодня вопросом: как при запуске Майнкрафта открывать еще одно окно lwjgl.
Собственно создал класс создания окна(дефолт):

Код:
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.*;

public class DisplayManager {
    private static final int WIDTH = 650;
    private static final int HEIGHT = 1020;
    private static final int FPS_CAP = 60;
    private static final String WINDOW_TITLE = "Test window";

    public static void createDisplay() {
        ContextAttribs attribs = new ContextAttribs(3, 2).withForwardCompatible(true).withProfileCore(true);
        try {
            Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT));
            Display.create(new PixelFormat(), attribs);
            Display.setTitle(WINDOW_TITLE);
        } catch (LWJGLException e) {
            e.printStackTrace();
        }
        GL11.glViewport(0, 0, WIDTH, HEIGHT);
    }

    public static void updateDisplay() {
        Display.sync(FPS_CAP);
        Display.update();
    }

    public static void closeDisplay() {
        Display.destroy();
    }
}
И вызвал создание дисплея:

Java:
@Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event){
        DisplayManager.createDisplay();
    }
Проблема заключается в том что при создании данного окна оно заменяет окно Майна и крашит его. Как можно решить данную проблему?
 
Решение
В Opis тоже открывается отдельное окошко при вводе команды в чат.
Java:
public void showUI()
  {
    EventQueue.invokeLater(new Runnable()
    {
      public void run()
      {
        try
        {
          SwingUI.instance().setVisible(true);
        }
        catch (Exception e)
        {
          e.printStackTrace();
        }
      }
    });
  }
Срув в инете нашёл, пробовал?
Код:
            if (!(callingClass.startsWith("cpw.mods.fml.") ||
                 ("net.minecraft.client.Minecraft".equals(callingClass) && "net.minecraft.client.Minecraft".equals(callingParent)) ||
                 ("net.minecraft.server.dedicated.DedicatedServer".equals(callingClass) && "net.minecraft.server.MinecraftServer".equals(callingParent)))
               )
            {
                throw new ExitTrappedException();
            }
        }
 
Посмотри в Pay2Spawn, там есть конфиг по команде.
Он открывается в отдельном окне.
 
В Opis тоже открывается отдельное окошко при вводе команды в чат.
Java:
public void showUI()
  {
    EventQueue.invokeLater(new Runnable()
    {
      public void run()
      {
        try
        {
          SwingUI.instance().setVisible(true);
        }
        catch (Exception e)
        {
          e.printStackTrace();
        }
      }
    });
  }
 
отдельном свинговском потоке
Где-то минут 30 пытался хуками убрать ексепшены а оказалось все настолько просто что нужно было создать это окно в отдельном мать его потоке. Всем спасибо за возможные варианты ответов, @Agravaine особенное.
Если кому-то нужно, могу в слив закинуть фулл исходы, отпишитесь =/
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху