From a293ad0f6bfeae7fcdfbddcc995f5d23d0193d0e Mon Sep 17 00:00:00 2001 From: Tim203 Date: Fri, 17 Sep 2021 13:09:16 +0200 Subject: [PATCH] Use the cause of a CompletionException. Fixes GeyserMC/Floodgate#204 --- .../floodgate/player/FloodgateHandshakeHandler.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java b/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java index 4edc537b..f13b6271 100644 --- a/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java +++ b/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java @@ -39,6 +39,7 @@ import it.unimi.dsi.fastutil.objects.ObjectObjectImmutablePair; import java.net.InetSocketAddress; import java.util.UUID; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; import java.util.concurrent.TimeUnit; import lombok.AccessLevel; import lombok.AllArgsConstructor; @@ -199,6 +200,13 @@ public final class FloodgateHandshakeHandler { return handlePart2(channel, hostname, result.left(), result.right()); } + if (error instanceof CompletionException) { + if (error.getCause() == null) { + error.printStackTrace(); + } + error = error.getCause(); + } + if (error instanceof HandshakeResult) { return (HandshakeResult) error; }