diff --git a/pom.xml b/pom.xml
index 41ee5af..8f7da0b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,6 +51,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) {
+ }
}
}