Merge pull request #646 from Dewy2b/feature/master

Discord RPC Disconnect
This commit is contained in:
Dominika 2020-04-03 19:29:05 +00:00 committed by GitHub
commit cf906a06fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 6 deletions

View File

@ -11,10 +11,11 @@ import static me.zeroeightsix.kami.KamiMod.MODULE_MANAGER;
/**
* @author S-B99
* Updated by S-B99 on 13/01/20
* Updated (slightly) by Dewy on 3rd April 2020
*/
public class DiscordPresence {
public static DiscordRichPresence presence;
private static boolean hasStarted;
private static boolean connected;
private static final DiscordRPC rpc;
private static String details;
private static String state;
@ -22,11 +23,11 @@ public class DiscordPresence {
public static void start() {
KamiMod.log.info("Starting Discord RPC");
if (DiscordPresence.hasStarted) return;
DiscordPresence.hasStarted = true;
if (DiscordPresence.connected) return;
DiscordPresence.connected = true;
final DiscordEventHandlers handlers = new DiscordEventHandlers();
handlers.disconnected = ((var1, var2) -> KamiMod.log.info("Discord RPC disconnected, var1: " + var1 + ", var2: " + var2));
// handlers.disconnected = ((var1, var2) -> KamiMod.log.info("Discord RPC disconnected, var1: " + var1 + ", var2: " + var2));
DiscordPresence.rpc.Discord_Initialize(APP_ID, handlers, true, "");
DiscordPresence.presence.startTimestamp = System.currentTimeMillis() / 1000L;
@ -38,6 +39,14 @@ public class DiscordPresence {
KamiMod.log.info("Discord RPC initialised successfully");
}
public static void end() {
KamiMod.log.info("Shutting down Discord RPC...");
DiscordPresence.connected = false;
DiscordPresence.rpc.Discord_Shutdown();
}
private static void setRpcFromSettingsNonInt() {
while (!Thread.currentThread().isInterrupted()) {
try {
@ -69,7 +78,7 @@ public class DiscordPresence {
static {
rpc = DiscordRPC.INSTANCE;
DiscordPresence.presence = new DiscordRichPresence();
DiscordPresence.hasStarted = false;
DiscordPresence.connected = false;
}
/* I have no idea how to disconnect rpc properly atm */

View File

@ -12,10 +12,11 @@ import static me.zeroeightsix.kami.util.InfoCalculator.playerDimension;
/**
* @author S-B99
* Updated by S-B99 on 13/01/20
* Updated (slightly) by Dewy on 3rd April 2020
*/
@Module.Info(name = "DiscordSettings", category = Module.Category.MISC, description = "Discord Rich Presence")
public class DiscordSettings extends Module {
public Setting<Boolean> coordsConfirm = register(Settings.b("Coords Confirm", false));
private Setting<Boolean> coordsConfirm = register(Settings.b("Coords Confirm", false));
public Setting<LineInfo> line1Setting = register(Settings.e("Line 1 Left", LineInfo.VERSION)); // details left
public Setting<LineInfo> line3Setting = register(Settings.e("Line 1 Right", LineInfo.USERNAME)); // details right
public Setting<LineInfo> line2Setting = register(Settings.e("Line 2 Left", LineInfo.SERVER_IP)); // state left
@ -69,4 +70,9 @@ public class DiscordSettings extends Module {
startTime = System.currentTimeMillis();
}
}
@Override
protected void onDisable() {
DiscordPresence.end();
}
}