diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/BungeeLoginSource.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/BungeeLoginSource.java index af081d52..bcde7752 100644 --- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/BungeeLoginSource.java +++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/BungeeLoginSource.java @@ -6,13 +6,16 @@ import java.net.InetSocketAddress; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.PendingConnection; +import net.md_5.bungee.api.event.PreLoginEvent; public class BungeeLoginSource implements LoginSource { private final PendingConnection connection; + private final PreLoginEvent preLoginEvent; - public BungeeLoginSource(PendingConnection connection) { + public BungeeLoginSource(PendingConnection connection, PreLoginEvent preLoginEvent) { this.connection = connection; + this.preLoginEvent = preLoginEvent; } @Override @@ -22,7 +25,10 @@ public class BungeeLoginSource implements LoginSource { @Override public void kick(String message) { - connection.disconnect(TextComponent.fromLegacyText(message)); + preLoginEvent.setCancelled(true); + + if (message != null) + preLoginEvent.setCancelReason(TextComponent.fromLegacyText(message)); } @Override diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java index bc2664a5..85ccd7e5 100644 --- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java +++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java @@ -6,23 +6,23 @@ import com.github.games647.fastlogin.bungee.FastLoginBungee; import com.github.games647.fastlogin.bungee.event.BungeeFastLoginPreLoginEvent; import com.github.games647.fastlogin.core.StoredProfile; import com.github.games647.fastlogin.core.shared.JoinManagement; - import com.github.games647.fastlogin.core.shared.event.FastLoginPreLoginEvent; + import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.connection.PendingConnection; import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.event.AsyncEvent; +import net.md_5.bungee.api.event.PreLoginEvent; import net.md_5.bungee.connection.InitialHandler; public class AsyncPremiumCheck extends JoinManagement implements Runnable { private final FastLoginBungee plugin; - private final AsyncEvent preLoginEvent; + private final PreLoginEvent preLoginEvent; private final PendingConnection connection; - public AsyncPremiumCheck(FastLoginBungee plugin, AsyncEvent preLoginEvent, PendingConnection connection) { + public AsyncPremiumCheck(FastLoginBungee plugin, PreLoginEvent preLoginEvent, PendingConnection connection) { super(plugin.getCore(), plugin.getCore().getAuthPluginHook()); this.plugin = plugin; @@ -37,7 +37,7 @@ public class AsyncPremiumCheck extends JoinManagement {