From c8630ba14e7036ed09990f725ec6f927f0b1afc9 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Sat, 25 Nov 2023 18:00:35 -0800 Subject: Update DiscordRPCManager (#426) --- .../skyblocker/mixin/discordipc/ConnectionMixin.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/mixin/discordipc/ConnectionMixin.java (limited to 'src/main/java/de/hysky/skyblocker/mixin') 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); + } +} -- cgit