diff --git a/src/main/java/me/chayapak1/chomens_bot/Bot.java b/src/main/java/me/chayapak1/chomens_bot/Bot.java index a6a20d4a..423215a5 100644 --- a/src/main/java/me/chayapak1/chomens_bot/Bot.java +++ b/src/main/java/me/chayapak1/chomens_bot/Bot.java @@ -6,10 +6,11 @@ import me.chayapak1.chomens_bot.util.RandomStringUtilities; import net.kyori.adventure.key.Key; import org.geysermc.mcprotocollib.auth.GameProfile; import org.geysermc.mcprotocollib.network.BuiltinFlags; +import org.geysermc.mcprotocollib.network.ClientSession; import org.geysermc.mcprotocollib.network.Session; import org.geysermc.mcprotocollib.network.event.session.*; +import org.geysermc.mcprotocollib.network.factory.ClientNetworkSessionFactory; import org.geysermc.mcprotocollib.network.packet.Packet; -import org.geysermc.mcprotocollib.network.tcp.TcpClientSession; import org.geysermc.mcprotocollib.protocol.MinecraftProtocol; import org.geysermc.mcprotocollib.protocol.data.game.entity.player.HandPreference; import org.geysermc.mcprotocollib.protocol.data.game.setting.ChatVisibility; @@ -42,7 +43,7 @@ public class Bot { public GameProfile profile; - public Session session; + public ClientSession session; public boolean printDisconnectedCause = false; @@ -167,7 +168,10 @@ public class Bot { if (_username == null) username = RandomStringUtilities.generate(8); else username = _username; - Session session = new TcpClientSession(host, port, new MinecraftProtocol(username), null); + final ClientSession session = ClientNetworkSessionFactory.factory() + .setAddress(host, port) + .setProtocol(new MinecraftProtocol(username)) + .create(); this.session = session; diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/VoiceChatPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/VoiceChatPlugin.java index 4da23b94..6d3cd755 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/VoiceChatPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/VoiceChatPlugin.java @@ -69,17 +69,11 @@ public class VoiceChatPlugin extends Bot.Listener { if (_packet.getChannel().equals(Key.key("voicechat:secret"))) { // fard final byte[] bytes = _packet.getData(); final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes)); - final SecretPacket secretPacket = new SecretPacket().fromBytes(buf); + initializationData = new InitializationData(secretPacket); - initializationData = new InitializationData(bot.session.getHost(), secretPacket); - - try { - final InetAddress address = InetAddress.getByName(bot.session.getHost()); - socketAddress = new InetSocketAddress(address, initializationData.serverPort); - } catch (UnknownHostException e) { - throw new RuntimeException(e); - } + final InetSocketAddress mcAddress = (InetSocketAddress) bot.session.getRemoteAddress(); + socketAddress = new InetSocketAddress(mcAddress.getAddress(), initializationData.serverPort); socket = new ClientVoiceChatSocket(); try { diff --git a/src/main/java/me/chayapak1/chomens_bot/voiceChat/InitializationData.java b/src/main/java/me/chayapak1/chomens_bot/voiceChat/InitializationData.java index 36b97c50..96a7bb3d 100644 --- a/src/main/java/me/chayapak1/chomens_bot/voiceChat/InitializationData.java +++ b/src/main/java/me/chayapak1/chomens_bot/voiceChat/InitializationData.java @@ -6,7 +6,6 @@ import me.chayapak1.chomens_bot.voiceChat.customPayload.SecretPacket; import java.util.UUID; public class InitializationData { - public final String serverIP; public final int serverPort; public final UUID playerUUID; public final UUID secret; @@ -17,8 +16,7 @@ public class InitializationData { public final boolean groupsEnabled; public final boolean allowRecording; - public InitializationData(String serverIP, SecretPacket secretPacket) { - this.serverIP = serverIP; + public InitializationData(SecretPacket secretPacket) { this.serverPort = secretPacket.serverPort; this.playerUUID = secretPacket.playerUUID; this.secret = secretPacket.secret;