From 06f07d2b2ca2b281fc6536d3c0a46e9f6c5b1342 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 7 Feb 2024 19:07:34 +0100 Subject: [PATCH] 24w06a --- .../Protocol1_20_3To1_20_5.java | 8 ++++++ .../BlockItemPacketRewriter1_20_5.java | 9 +++---- .../rewriter/EntityPacketRewriter1_20_5.java | 23 +++++++++++++++--- .../data/mappings-1.20.5to1.20.3.nbt | Bin 113545 -> 113467 bytes gradle.properties | 2 +- gradle/libs.versions.toml | 2 +- 6 files changed, 34 insertions(+), 10 deletions(-) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/Protocol1_20_3To1_20_5.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/Protocol1_20_3To1_20_5.java index 5bda98e2..91e257be 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/Protocol1_20_3To1_20_5.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/Protocol1_20_3To1_20_5.java @@ -125,6 +125,14 @@ public final class Protocol1_20_3To1_20_5 extends BackwardsProtocol { + wrapper.cancel(); + + final PacketWrapper response = wrapper.create(ServerboundConfigurationPackets1_20_5.SELECT_KNOWN_PACKS); + response.write(Type.VAR_INT, 0); // Empty, we don't know anything + response.sendToServer(Protocol1_20_3To1_20_5.class); + }); + cancelClientbound(ClientboundPackets1_20_5.DEBUG_SAMPLE); } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/rewriter/BlockItemPacketRewriter1_20_5.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/rewriter/BlockItemPacketRewriter1_20_5.java index abed6d2e..1fa547d3 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/rewriter/BlockItemPacketRewriter1_20_5.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_20_3to1_20_5/rewriter/BlockItemPacketRewriter1_20_5.java @@ -23,6 +23,7 @@ import com.viaversion.viaversion.api.minecraft.Particle; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.api.type.types.chunk.ChunkType1_20_2; import com.viaversion.viaversion.api.type.types.version.Types1_20_3; +import com.viaversion.viaversion.api.type.types.version.Types1_20_5; import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ServerboundPacket1_20_3; import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.packet.ServerboundPackets1_20_3; import com.viaversion.viaversion.protocols.protocol1_20_3to1_20_2.rewriter.RecipeRewriter1_20_3; @@ -69,7 +70,7 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter argument : particle.getArguments()) { @@ -93,10 +94,8 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter { - wrapper.passthrough(Type.VAR_INT); // Entity ID + final int entityId = wrapper.passthrough(Type.VAR_INT); + final TrackedEntity entity = tracker(wrapper.user()).entity(entityId); + if (entity == null || !entity.entityType().isOrHasParent(EntityTypes1_20_5.LIVINGENTITY)) { + // Cannot add attributes to base entities in old version + wrapper.cancel(); + return; + } final int size = wrapper.passthrough(Type.VAR_INT); int newSize = size; for (int i = 0; i < size; i++) { // From a registry int ID to a string - final int id = protocol.getMappingData().getAttributeMappings().getNewId(wrapper.read(Type.VAR_INT)); + int id = protocol.getMappingData().getAttributeMappings().getNewId(wrapper.read(Type.VAR_INT)); + final String attribute = AttributeMappings.attribute(id); + if ("horse.jump_strength".equals(attribute)) { + // Jump strength only applies to horses in old versions + id = -1; + } + if (id == -1) { // Remove new attributes from the list newSize--; @@ -195,7 +213,6 @@ public final class EntityPacketRewriter1_20_5 extends EntityRewriter7_d=h*)*N%u)>v00FL~`&6wJ9#5Vq<< zUaF5#ow`S!>R8Xn4nz(7n3@0cJpY+t&cFQKPk*CDo6WtYAn|AxAtXSEcNRoJ419nd zAxau-65@-)Xq8>#42lOZAfOCle*eb6dY$*0bY)0*`%M$P-lnOAZNzrKE@*=eaKHn2 z1W#9M;nesuPI&>Z@}va6zoYSx=q(3-LnR<~h~4rrn=bQtn+}X3SCl5KyUvzPN9bxp z-b8`l1H2#vhUFnbm;fHPX^>kjx~NhwQ7U?!LCMP=B8!)k9AGjpiql-}&?F6CrYEEF z5^{#@1AejR7dDM3{nbr}UelzLbm+cv79exXuypHG)y!ipr7_qD6xNv8?IQIiN6hyi0jCjjMbT1(~VpvTQw_vF}C5V{qkW!GmrjSWd66q LDwyROUPgWZsl&7~ delta 271 zcmdn}jji)LTf-K{jT`M%xEYudOBfg!*ccd?rGZ!mh-HEJJrI9jU|>}SDk#Z^Dv)Ae zU`YT<02Q)u0_nHYHZkgRDZtE7nr^v?(OA|CsM;HdeSml~5N`qEtw6jFi1$y{5wqZg znW;4W(I!R}7N9lvrVDKbvl!M-cihZq$o~KTf1q&o_NL8@{EW)=Fe{jVW`Hm=%m@%i z7$i9T$QDMRW4Rfa%Mx>d0;wAv`WdH7Y-KcN6q@KDGCg4{Bgb_9g^UW*XKZDh!f3i( LcN=3M3s5@%5EM2g diff --git a/gradle.properties b/gradle.properties index e1c7b3f3..631513d6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -projectVersion=4.10.0-24w05b-SNAPSHOT +projectVersion=4.10.0-24w06a-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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 37ea0805..137b8651 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ metadata.format.version = "1.1" [versions] # ViaVersion -viaver = "4.10.0-24w05a-SNAPSHOT" +viaver = "4.10.0-24w06a-SNAPSHOT" # Common provided netty = "4.0.20.Final"