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) { + } } }