- 15
- 1
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;
}
}