aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/discordipc/ConnectionMixin.java20
1 files changed, 20 insertions, 0 deletions
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);
+ }
+}