From 1e5ab9d82576b35eca9fd4a0afa4d73b2cd00b48 Mon Sep 17 00:00:00 2001 From: AkmalFairuz Date: Wed, 10 Jul 2024 00:54:28 +0700 Subject: [PATCH] update 1.21.2 --- .../connection/codec/query/QueryHandler.java | 5 +++-- .../network/protocol/ProtocolVersion.java | 4 +++- .../handler/upstream/LoginUpstreamHandler.java | 13 +++++++++++-- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/waterdog/waterdogpe/network/connection/codec/query/QueryHandler.java b/src/main/java/dev/waterdog/waterdogpe/network/connection/codec/query/QueryHandler.java index b5e3c487..d2495977 100644 --- a/src/main/java/dev/waterdog/waterdogpe/network/connection/codec/query/QueryHandler.java +++ b/src/main/java/dev/waterdog/waterdogpe/network/connection/codec/query/QueryHandler.java @@ -148,7 +148,7 @@ private void writeData(InetSocketAddress address, boolean simple, ByteBuf buf, I "", this.proxy.getPlayerManager().getPlayers().values(), config.getMaxPlayerCount(), - "WaterdogPE", + "Venity Proxy", // TODO: VN CHANGE THIS address ); this.proxy.getEventManager().callEvent(event); @@ -173,7 +173,8 @@ private void writeData(InetSocketAddress address, boolean simple, ByteBuf buf, I map.put("hostport", Integer.toString(bindAddress.getPort())); map.put("hostip", bindAddress.getHostName()); map.put("game_id", GAME_ID); - map.put("version", event.getVersion()); + //map.put("version", event.getVersion()); + map.put("version", "1.21.2"); // TODO: VN CHANGE THIS map.put("plugins", ""); // Do not list plugins map.put("whitelist", event.hasWhitelist() ? "on" : "off"); diff --git a/src/main/java/dev/waterdog/waterdogpe/network/protocol/ProtocolVersion.java b/src/main/java/dev/waterdog/waterdogpe/network/protocol/ProtocolVersion.java index 0dcbfabd..18b4be25 100644 --- a/src/main/java/dev/waterdog/waterdogpe/network/protocol/ProtocolVersion.java +++ b/src/main/java/dev/waterdog/waterdogpe/network/protocol/ProtocolVersion.java @@ -59,6 +59,7 @@ import org.cloudburstmc.protocol.bedrock.codec.v649.Bedrock_v649; import org.cloudburstmc.protocol.bedrock.codec.v662.Bedrock_v662; import org.cloudburstmc.protocol.bedrock.codec.v671.Bedrock_v671; +import org.cloudburstmc.protocol.bedrock.codec.v685.Bedrock_v685; @ToString(exclude = {"defaultCodec", "bedrockCodec"}) public enum ProtocolVersion { @@ -103,7 +104,8 @@ public enum ProtocolVersion { MINECRAFT_PE_1_20_50(630, Bedrock_v630.CODEC), MINECRAFT_PE_1_20_60(649, Bedrock_v649.CODEC), MINECRAFT_PE_1_20_70(662, Bedrock_v662.CODEC), - MINECRAFT_PE_1_20_80(671, Bedrock_v671.CODEC); + MINECRAFT_PE_1_20_80(671, Bedrock_v671.CODEC), + MINECRAFT_PE_1_21_0(685, Bedrock_v685.CODEC); private static final ProtocolVersion[] VALUES = values(); private static final Int2ObjectMap VERSIONS = new Int2ObjectOpenHashMap<>(); diff --git a/src/main/java/dev/waterdog/waterdogpe/network/protocol/handler/upstream/LoginUpstreamHandler.java b/src/main/java/dev/waterdog/waterdogpe/network/protocol/handler/upstream/LoginUpstreamHandler.java index 77ec49de..62bb24f2 100644 --- a/src/main/java/dev/waterdog/waterdogpe/network/protocol/handler/upstream/LoginUpstreamHandler.java +++ b/src/main/java/dev/waterdog/waterdogpe/network/protocol/handler/upstream/LoginUpstreamHandler.java @@ -96,7 +96,7 @@ private ProtocolVersion checkVersion(int protocolVersion) { @Override public PacketSignal handle(RequestNetworkSettingsPacket packet) { ProtocolVersion protocol; - if (!this.attemptLogin() || (protocol = this.checkVersion(packet.getProtocolVersion())) == null) { + if (!this.attemptLogin() || (protocol = this.checkVersion(convertProtocol(packet.getProtocolVersion()))) == null) { return PacketSignal.HANDLED; } @@ -121,10 +121,19 @@ public PacketSignal handle(RequestNetworkSettingsPacket packet) { return PacketSignal.HANDLED; } + private int convertProtocol(int protocolVer){ + if(protocolVer == 686){ + // no protocol changes for 686, so use 685 instead + protocolVer = 685; + } + return protocolVer; + } + @Override public PacketSignal handle(LoginPacket packet) { ProtocolVersion protocol; - if (!this.attemptLogin() || (protocol = this.checkVersion(packet.getProtocolVersion())) == null) { + + if (!this.attemptLogin() || (protocol = this.checkVersion(convertProtocol(packet.getProtocolVersion()))) == null) { return PacketSignal.HANDLED; }