From 01dd765bd261983e9e0705e3f32634b0448627bc Mon Sep 17 00:00:00 2001 From: LOOHP Date: Thu, 12 Dec 2024 20:11:43 +0000 Subject: [PATCH] Fire ConnectionEstablishedEvent before reading handshake --- .../limbo/events/connection/ConnectionEstablishedEvent.java | 2 +- src/main/java/com/loohp/limbo/network/ClientConnection.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/loohp/limbo/events/connection/ConnectionEstablishedEvent.java b/src/main/java/com/loohp/limbo/events/connection/ConnectionEstablishedEvent.java index 89e706f..1ac93ae 100644 --- a/src/main/java/com/loohp/limbo/events/connection/ConnectionEstablishedEvent.java +++ b/src/main/java/com/loohp/limbo/events/connection/ConnectionEstablishedEvent.java @@ -24,7 +24,7 @@ import com.loohp.limbo.network.ClientConnection; public class ConnectionEstablishedEvent extends Event { - private ClientConnection connection; + private final ClientConnection connection; public ConnectionEstablishedEvent(ClientConnection connection) { this.connection = connection; diff --git a/src/main/java/com/loohp/limbo/network/ClientConnection.java b/src/main/java/com/loohp/limbo/network/ClientConnection.java index ee4dcde..784e52c 100644 --- a/src/main/java/com/loohp/limbo/network/ClientConnection.java +++ b/src/main/java/com/loohp/limbo/network/ClientConnection.java @@ -320,6 +320,9 @@ public class ClientConnection extends Thread { try { clientSocket.setKeepAlive(true); setChannel(new DataInputStream(clientSocket.getInputStream()), new DataOutputStream(clientSocket.getOutputStream())); + + Limbo.getInstance().getEventsManager().callEvent(new ConnectionEstablishedEvent(this)); + int handShakeSize = DataTypeIO.readVarInt(channel.input); //legacy ping @@ -342,8 +345,6 @@ public class ClientConnection extends Thread { state = ClientState.DISCONNECTED; } - Limbo.getInstance().getEventsManager().callEvent(new ConnectionEstablishedEvent(this)); - PacketHandshakingIn handshake = (PacketHandshakingIn) channel.readPacket(handShakeSize); boolean isBungeecord = Limbo.getInstance().getServerProperties().isBungeecord();