From 09fb6bf3ba94571ccf655e6a1da71c1eeaa26712 Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+Camotoy@users.noreply.github.com> Date: Sun, 5 Jun 2022 18:38:29 -0400 Subject: [PATCH] Fix direct connection and ensure connecting doesn't block --- .../java/org/geysermc/geyser/network/netty/LocalSession.java | 2 +- .../main/java/org/geysermc/geyser/session/GeyserSession.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/network/netty/LocalSession.java b/core/src/main/java/org/geysermc/geyser/network/netty/LocalSession.java index 84838afc7..0781a04b2 100644 --- a/core/src/main/java/org/geysermc/geyser/network/netty/LocalSession.java +++ b/core/src/main/java/org/geysermc/geyser/network/netty/LocalSession.java @@ -58,7 +58,7 @@ public final class LocalSession extends TcpSession { } @Override - public void connect() { + public void connect(boolean wait) { if (this.disconnected) { throw new IllegalStateException("Connection has already been disconnected."); } diff --git a/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java b/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java index ff15dafc1..9f0efa3c3 100644 --- a/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java +++ b/core/src/main/java/org/geysermc/geyser/session/GeyserSession.java @@ -845,7 +845,7 @@ public class GeyserSession implements GeyserConnection, CommandSender { // We're going to connect through the JVM and not through TCP downstream = new LocalSession(this.remoteAddress, this.remotePort, geyser.getBootstrap().getSocketAddress(), upstream.getAddress().getAddress().getHostAddress(), - this.protocol, this.downstream.getCodecHelper()); + this.protocol, this.protocol.createHelper()); } else { downstream = new TcpClientSession(this.remoteAddress, this.remotePort, this.protocol); disableSrvResolving(); @@ -1017,7 +1017,7 @@ public class GeyserSession implements GeyserConnection, CommandSender { setDaylightCycle(true); } - downstream.connect(); + downstream.connect(false); } public void disconnect(String reason) {