From cc00f65e7217eddc79f89cd9d4a888c060732f73 Mon Sep 17 00:00:00 2001 From: Business Goose Date: Tue, 29 Mar 2022 23:59:58 +0100 Subject: [PATCH] Hopefully fix discord being killed incorrectly --- pom.xml | 1 + .../TotalFreedomMod/discord/bridge/DiscordBridge.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/pom.xml b/pom.xml index 636460a..808d0dd 100644 --- a/pom.xml +++ b/pom.xml @@ -43,6 +43,7 @@ org.bukkit craftbukkit 1.8.8-R0.1-SNAPSHOT + provided diff --git a/src/main/java/me/StevenLawson/TotalFreedomMod/discord/bridge/DiscordBridge.java b/src/main/java/me/StevenLawson/TotalFreedomMod/discord/bridge/DiscordBridge.java index fc36477..ae9153b 100644 --- a/src/main/java/me/StevenLawson/TotalFreedomMod/discord/bridge/DiscordBridge.java +++ b/src/main/java/me/StevenLawson/TotalFreedomMod/discord/bridge/DiscordBridge.java @@ -24,6 +24,8 @@ import org.javacord.api.event.message.MessageCreateEvent; import org.javacord.api.event.message.MessageEvent; import java.util.Optional; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; public class DiscordBridge { @@ -189,7 +191,15 @@ public class DiscordBridge { CHANNEL.sendMessage(sanitizeMessage(message)).get(); } catch (Exception ignored) { } + CountDownLatch shutdownWaiter = new CountDownLatch(1); + + DISCORD_API.addLostConnectionListener(lostConnectionEvent -> shutdownWaiter.countDown()); DISCORD_API.disconnect(); + + try { + shutdownWaiter.await(30, TimeUnit.SECONDS); + } catch (InterruptedException ignored) { + } } }