SPIGOT-7876: Can't kick player or disconnect player in PlayerLoginEvent when checking for cookies

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2024-08-24 07:51:55 +10:00
parent 84f1d558c3
commit 0916d51f5d
3 changed files with 36 additions and 26 deletions

View File

@@ -274,6 +274,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
EnumProtocol getProtocol();
void sendPacket(Packet<?> packet);
void kickPlayer(IChatBaseComponent reason);
}
public record CookieFuture(MinecraftKey key, CompletableFuture<byte[]> future) {
@@ -477,9 +479,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void kickPlayer(String message) {
if (getHandle().connection == null) return;
getHandle().connection.disconnect(CraftChatMessage.fromStringOrEmpty(message, true));
getHandle().transferCookieConnection.kickPlayer(CraftChatMessage.fromStringOrEmpty(message, true));
}
@Override