aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2023-11-25 18:00:35 -0800
committerGitHub <noreply@github.com>2023-11-25 21:00:35 -0500
commitc8630ba14e7036ed09990f725ec6f927f0b1afc9 (patch)
treecc91058c81e596bc0a8c48cd65f99722524c42f3 /src/main/java/de/hysky
parent16d9d1b68c33c9b99c046d7b6c53bc8bbafc7a86 (diff)
downloadSkyblocker-c8630ba14e7036ed09990f725ec6f927f0b1afc9.tar.gz
Skyblocker-c8630ba14e7036ed09990f725ec6f927f0b1afc9.tar.bz2
Skyblocker-c8630ba14e7036ed09990f725ec6f927f0b1afc9.zip
Update DiscordRPCManager (#426)
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/discordipc/ConnectionMixin.java20
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java10
3 files changed, 27 insertions, 5 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index ac19542a..f9bcbe0d 100644
--- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -121,7 +121,7 @@ public class SkyblockerMod implements ClientModInitializer {
containerSolverManager.init();
statusBarTracker.init();
Scheduler.INSTANCE.scheduleCyclic(Utils::update, 20);
- Scheduler.INSTANCE.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 100);
+ Scheduler.INSTANCE.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 200);
Scheduler.INSTANCE.scheduleCyclic(TicTacToe::tick, 4);
Scheduler.INSTANCE.scheduleCyclic(LividColor::update, 10);
Scheduler.INSTANCE.scheduleCyclic(BackpackPreview::tick, 50);
diff --git a/src/main/java/de/hysky/skyblocker/mixin/discordipc/ConnectionMixin.java b/src/main/java/de/hysky/skyblocker/mixin/discordipc/ConnectionMixin.java
new file mode 100644
index 00000000..47f1cadc
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/discordipc/ConnectionMixin.java
@@ -0,0 +1,20 @@
+package de.hysky.skyblocker.mixin.discordipc;
+
+import de.hysky.skyblocker.utils.discord.DiscordRPCManager;
+import meteordevelopment.discordipc.DiscordIPC;
+import meteordevelopment.discordipc.connection.UnixConnection;
+import meteordevelopment.discordipc.connection.WinConnection;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Redirect;
+
+import java.io.IOException;
+
+@Mixin(value = {UnixConnection.class, WinConnection.class}, remap = false)
+public class ConnectionMixin {
+ @Redirect(method = "write", at = @At(value = "INVOKE", target = "Ljava/io/IOException;printStackTrace()V"))
+ private void write(IOException e) {
+ DiscordIPC.stop();
+ DiscordRPCManager.LOGGER.warn("[Skyblocker] Discord RPC failed to update activity, connection lost", e);
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
index df10a44d..b2104fdc 100644
--- a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
+++ b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
@@ -75,18 +75,20 @@ public class DiscordRPCManager {
if (SkyblockerConfigManager.get().richPresence.enableRichPresence && Utils.isOnSkyblock()) {
if (!DiscordIPC.isConnected()) {
if (DiscordIPC.start(934607927837356052L, null)) {
- LOGGER.info("Discord RPC started successfully");
+ LOGGER.info("[Skyblocker] Discord RPC connected successfully");
} else {
- LOGGER.error("Discord RPC failed to start");
+ if (initialization) {
+ LOGGER.error("[Skyblocker] Discord RPC failed to connect");
+ }
return;
}
}
DiscordIPC.setActivity(buildPresence());
} else if (DiscordIPC.isConnected()) {
DiscordIPC.stop();
- LOGGER.info("Discord RPC stopped");
+ LOGGER.info("[Skyblocker] Discord RPC disconnected");
} else if (initialization) {
- LOGGER.info("Discord RPC is currently disabled");
+ LOGGER.info("[Skyblocker] Discord RPC is currently disabled, will not connect");
}
});
}