diff --git a/Bridge/pom.xml b/Bridge/pom.xml index 696448e..74c1a1c 100644 --- a/Bridge/pom.xml +++ b/Bridge/pom.xml @@ -16,7 +16,7 @@ asys bridge - 0.12 + 0.13 jar diff --git a/Bridge/src/main/java/asys/bridge/Bridge.java b/Bridge/src/main/java/asys/bridge/Bridge.java index ce21f5e..8a6cef9 100644 --- a/Bridge/src/main/java/asys/bridge/Bridge.java +++ b/Bridge/src/main/java/asys/bridge/Bridge.java @@ -13,6 +13,7 @@ import java.net.ConnectException; public class Bridge extends Plugin { private Client netty; private BungeeServerAPI serverAPI; + private Thread nettyClientThread; @Override public void onEnable() { @@ -23,13 +24,16 @@ public class Bridge extends Plugin { return; } - new Thread(new WatchConnect(), "ASys Client").start(); + nettyClientThread = new Thread(new WatchConnect(), "ASys Client"); + nettyClientThread.start(); } @Override public void onDisable() { - if (netty != null) + if (netty != null && netty.isConnected()) { netty.disconnect(); + } + nettyClientThread.interrupt(); } public BungeeServerAPI getServerAPI() { diff --git a/Bridge/src/main/java/asys/bridge/netty/Client.java b/Bridge/src/main/java/asys/bridge/netty/Client.java index 39763fc..31d3cae 100644 --- a/Bridge/src/main/java/asys/bridge/netty/Client.java +++ b/Bridge/src/main/java/asys/bridge/netty/Client.java @@ -67,6 +67,6 @@ public class Client { } public boolean isConnected() { - return channel.isOpen(); + return channel != null && channel.isOpen(); } }