Показать сообщение отдельно
Непрочитано 09.04.2022, 08:49   #1
Пользователь

Автор темы (Топик Стартер) Как запустить клиент из-под своего лаунчера? Java

Пишу свой лаунчер для игры Minecraft на версии 1.7.10. Везде, где бы не читал пишут, что нужно вызывать класс MinacraftApplet для того, чтобы запустить игру через апплет. Порылся в файле 1.7.10, класса просто нет. Может, вы знаете в чём дело и как теперь запускать игру? Сразу предупрежу, что мне нужен FORGE 1.7.10. Буду благодарен за помощь. Ошибка, возникающая при попытке запустить игру:
Код:
java.lang.ClassNotFoundException: net.minecraft.client.main.MinecraftApplet
    at java.net.URLClassLoader.findClass(URLClassLoader.java:591)
    at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:954)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:899)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:882)
    at reincarnciya.MCLauncher.init(MCLauncher.java:46)
    at reincarnciya.MCLauncher.init(MCLauncher.java:34)
    at reincarnciya.McStart.MCStart(McStart.java:82)
    at reincarnciya.Main.lambda$GetUpdate$2(main.java:225)
    at <unknown class>.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:826)
Библиотеки, которые я загружаю для запуска игры:
Код:
URL[] urls = new URL[4];
            urls[0] = new File(bin, "Forge 1.7.10.jar").toURI().toURL();
            urls[1] = new File(bin, "lwjgl.jar").toURI().toURL();
            urls[2] = new File(bin, "jinput.jar").toURI().toURL();
            urls[3] = new File(bin, "lwjgl_util.jar").toURI().toURL();

Инициализация applet-a:
Код:
public void init(int i) {
        URLClassLoader cl = new URLClassLoader(urls);
        System.setProperty("org.lwjgl.librarypath", bin + "natives");
        System.setProperty("net.java.games.input.librarypath", bin + "natives");
        System.setProperty("fml.ignoreInvalidMinecraftCertificates", "true");
        System.setProperty("fml.ignorePatchDiscrepancies", "true");
        System.setProperty("java.library.path", bin + "natives");

        try{
            Class <?> Mine = cl.loadClass("net.minecraft.client.main.MinecraftApplet");
            Applet applet = (Applet)Mine.newInstance();
            mcApplet = applet;
            applet.setStub(this);
            applet.setSize(getWidth(), getHeight());
            setLayout(new BorderLayout());
            add(applet, "Center");
            applet.init();
            active = true;
            validate();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
Так же пробовал запускать главный класс "net.minecraft.client.main.Main". Выводит ошибку:
Код:
java.lang.ClassCastException: net.minecraft.client.main.Main incompatible with java.applet.Applet
    at reincarnciya.MCLauncher.init(MCLauncher.java:47)
    at reincarnciya.MCLauncher.init(MCLauncher.java:34)
    at reincarnciya.McStart.MCStart(McStart.java:82)
    at reincarnciya.Main.lambda$GetUpdate$2(main.java:225)
    at <unknown class>.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:826)
Reincarnaciya___ вне форума Ответить с цитированием