diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java index f0f5f7ed8..9a57ea7f1 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/version/ProtocolVersion.java @@ -83,7 +83,7 @@ public class ProtocolVersion implements Comparable { public static final ProtocolVersion v1_20 = register(763, "1.20/1.20.1", new SubVersionRange("1.20", 0, 1)); public static final ProtocolVersion v1_20_2 = register(764, "1.20.2"); public static final ProtocolVersion v1_20_3 = register(765, "1.20.3/1.20.4", new SubVersionRange("1.20", 3, 4)); - public static final ProtocolVersion v1_20_5 = register(766, 188, "1.20.5"); + public static final ProtocolVersion v1_20_5 = register(766, 189, "1.20.5"); public static final ProtocolVersion unknown = new ProtocolVersion(VersionType.SPECIAL, -1, -1, "UNKNOWN", null); public static ProtocolVersion register(int version, String name) { diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/Protocol1_20_5To1_20_3.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/Protocol1_20_5To1_20_3.java index 2e0b189f7..53b338c12 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/Protocol1_20_5To1_20_3.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/Protocol1_20_5To1_20_3.java @@ -62,6 +62,9 @@ import static com.viaversion.viaversion.util.ProtocolUtil.packetTypeMap; public final class Protocol1_20_5To1_20_3 extends AbstractProtocol { public static final MappingData MAPPINGS = new MappingData(); + // Mojang will remove this in the next release, so if we were to set this to false, + // people would miss the changes and not fix their plugins before forcefully running into the errors then + public static boolean strictErrorHandling = System.getProperty("viaversion.strict-error-handling1_20_5", "true").equalsIgnoreCase("true"); private final EntityPacketRewriter1_20_5 entityRewriter = new EntityPacketRewriter1_20_5(this); private final BlockItemPacketRewriter1_20_5 itemRewriter = new BlockItemPacketRewriter1_20_5(this); private final TagRewriter tagRewriter = new TagRewriter<>(this); @@ -204,6 +207,20 @@ public final class Protocol1_20_5To1_20_3 extends AbstractProtocol(this).registerDeclareCommands1_19(ClientboundPackets1_20_3.DECLARE_COMMANDS); + registerClientbound(State.LOGIN, ClientboundLoginPackets.GAME_PROFILE, wrapper -> { + wrapper.passthrough(Type.UUID); // UUID + wrapper.passthrough(Type.STRING); // Name + + final int properties = wrapper.passthrough(Type.VAR_INT); + for (int i = 0; i < properties; i++) { + wrapper.passthrough(Type.STRING); // Name + wrapper.passthrough(Type.STRING); // Value + wrapper.passthrough(Type.OPTIONAL_STRING); // Signature + } + + wrapper.write(Type.BOOLEAN, strictErrorHandling); + }); + cancelServerbound(State.LOGIN, ServerboundLoginPackets.COOKIE_RESPONSE.getId()); cancelServerbound(ServerboundConfigurationPackets1_20_5.COOKIE_RESPONSE); cancelServerbound(ServerboundConfigurationPackets1_20_5.SELECT_KNOWN_PACKS); diff --git a/gradle.properties b/gradle.properties index 453180ea8..b0fd887d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Project properties - we put these here so they can be modified without causing a recompile of the build scripts -projectVersion=4.10.0-1.20.5-pre4-SNAPSHOT +projectVersion=4.10.0-1.20.5-rc1-SNAPSHOT # Smile emoji mcVersions=1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17.1, 1.17, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.16, 1.15.2, 1.15.1, 1.15, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14, 1.13.2, 1.13.1, 1.13, 1.12.2, 1.12.1, 1.12, 1.11.2, 1.11.1, 1.11, 1.10.2, 1.10.1, 1.10, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9, 1.8.9