From d8b9822c1142eaafe55dd4cafef9ce55e83a750e Mon Sep 17 00:00:00 2001 From: Smart123s <28480228+Smart123s@users.noreply.github.com> Date: Mon, 22 Mar 2021 20:46:49 +0100 Subject: [PATCH] Fix "Asynchronous player kick" --- .../fastlogin/bukkit/task/FloodgateAuthTask.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java index b056b1f8..465c5d78 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java @@ -33,7 +33,14 @@ public class FloodgateAuthTask implements Runnable { plugin.getLog().info( "Bedrock Player {}'s name conflits an existing Java Premium Player's name", player.getName()); - player.kickPlayer("This name is allready in use by a Premium Java Player"); + + // kicking must be synchronous + // https://www.spigotmc.org/threads/asynchronous-player-kick-problem.168580/ + Bukkit.getScheduler().runTask(plugin, new Runnable() { + public void run() { + player.kickPlayer("This name is allready in use by a Premium Java Player"); + } + }); } if (!allowNameConflict.equalsIgnoreCase("true")