Краш DiscordRPC

Версия Minecraft
1.12.2
API
Forge
краш.PNG
DiscordRPC:
public class DiscordRPC extends Module
{
    public static final DiscordRPC INSTANCE;

    public DiscordRPC() {
        super("DiscordRPC", "DiscordRPC", Category.HUD);
    }

    @Override
    public void onEnable() {
        super.onEnable();
        RPC.startRPC();
        MinecraftForge.EVENT_BUS.register((Object)this);
    }


    @Override
    public void onDisable() {
        super.onDisable();
        RPC.stopRPC();
        MinecraftForge.EVENT_BUS.unregister((Object)this);
    }

    static {
        INSTANCE = new DiscordRPC();
    }
}
RPC:
public class RPC
{
    private static final DiscordRichPresence discordRichPresence;
    private static final DiscordRPC discordRPC;

    public static void startRPC() {
        final DiscordEventHandlers eventHandlers = new DiscordEventHandlers();
        eventHandlers.disconnected = ((var1, var2) -> System.out.println("Discord RPC disconnected, var1: " + var1 + ", var2: " + var2));
        final String discordID = "991304841659961414";
        RPC.discordRPC.Discord_Initialize(discordID, eventHandlers, true, (String)null);
        RPC.discordRichPresence.startTimestamp = System.currentTimeMillis() / 1000L;
        RPC.discordRichPresence.details = "MoonLight Beta";
        RPC.discordRichPresence.largeImageKey = "large";
        RPC.discordRichPresence.largeImageText = "MoonLight Beta";
        RPC.discordRPC.Discord_UpdatePresence(RPC.discordRichPresence);
        final AtomicInteger[] use = {new AtomicInteger()};
        final AtomicInteger[] max = {new AtomicInteger()};
        final Iterator<Module> iterator;
        final Module[] module = new Module[1];
        new Thread(() -> {
            while (true) {
                RPC.discordRichPresence.state = "Status: Beta ";
                RPC.discordRPC.Discord_UpdatePresence(RPC.discordRichPresence);
                if (Minecraft.getMinecraft().world != null) {
                    if (Minecraft.getMinecraft().isSingleplayer()) {
                        RPC.discordRichPresence.details = "Singleplayer";
                    }
                    else {
                        RPC.discordRichPresence.details = "Server: " + Minecraft.getMinecraft().getCurrentServerData().serverIP;
                    }
                }
                else {
                    RPC.discordRichPresence.details = "MainMenu";
                }
                RPC.discordRPC.Discord_RunCallbacks();
                try {
                    Thread.sleep(5000L);
                }
                catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

    public static void stopRPC() {
        RPC.discordRPC.Discord_Shutdown();
        RPC.discordRPC.Discord_ClearPresence();
    }

    static {
        discordRichPresence = new DiscordRichPresence();
        discordRPC = DiscordRPC.INSTANCE;
    }
}
 

Вложения

  • краш.txt
    202 KB · Просмотры: 5
343
24
94
Мне просто, заменить на скрине выше, на то что находится в этом гитхабе?
Зачем? Подключай как библиотеку через Gradle и используй классы из либы, потом при сборке просто зашейди (fatJar) её
 

dxAugust

Живёт в подвале
135
2
8
Добавь build.gradle, сборку с .jar файлом либы которую приложил тебе человек выше

Ну или тыкнув пальцем, то получается просто прописать это в файлик build.gradle:

Gradle:
dependencies {
    compile 'club.minnced:java-discord-rpc:%VERSION%'
}
Закидываешь либу в папку deps
 

will0376

Токсичная личность
2,072
55
584
Я в этом недавно и нихрена не понял
Ну так разбирайся. Приходя сюда подразумевается, что ты знаешь как ЯП так и сборщики, используемые для сборки модов в jar.
 
343
24
94
Я в этом недавно и нихрена не понял что ты щас написал
Зачем тогда полез в это? Раз ты не знаешь то, как подключать библиотеки, очень сомневаюсь, что сам смог сделать нативки. Гугли подключение gradle библиотек и создание fatJar`а, изучай документацию того, что я выше тебе скинул.
Возможно ты используешь Discord'ную библиотеку, попробуй закинуть либу в папку с модификациями и проверить работает или нет.
Из папки с модификациями не грузятся библиотеки.
Закидываешь либу в папку deps
Для этого ещё нужно дополнительные строки в build.gradle, откуда сборщику знать, что именно там лежат библиотеки?
 

will0376

Токсичная личность
2,072
55
584
Из папки с модификациями не грузятся библиотеки.
Ну как сказать. forge подсасывает все .jar/.zip грузя их в класслоадер. Но есть некие ограничения, которые я понять не могу:
Например, Если пытаться подгрузить discord API (org.javacord) - Отваливается одна из библиотек(fasterxml.jackson.databind), которая находится внутри(Помогает shadow с relocate).
Я с этим мучался тут: https://gitlab.com/windcheckgroup/wcdiscord
 
Сверху