Fixed old clients crashing because of empty metadata

This commit is contained in:
RaphiMC 2023-02-24 14:19:43 +01:00
parent 05faffcae4
commit 1dfe685354
3 changed files with 5 additions and 5 deletions

View File

@ -24,7 +24,7 @@ repositories {
}
dependencies {
compileOnly "com.viaversion:viaversion:4.6.0-23w07a-SNAPSHOT"
compileOnly "com.viaversion:viaversion:4.6.0-1.19.4-pre1-SNAPSHOT"
compileOnly "org.yaml:snakeyaml:1.33"
compileOnly "com.google.guava:guava:31.1-jre"
compileOnly "io.netty:netty-handler:4.1.89.Final"

View File

@ -41,8 +41,6 @@ import net.raphimc.vialegacy.protocols.release.protocol1_4_2to1_3_1_2.types.Type
import net.raphimc.vialegacy.protocols.release.protocol1_4_4_5to1_4_2.types.Types1_4_2;
import net.raphimc.vialegacy.protocols.release.protocol1_8to1_7_6_10.types.Types1_7_6;
import java.util.ArrayList;
public class Protocolb1_2_0_2tob1_1_2 extends AbstractProtocol<ClientboundPacketsb1_1, ClientboundPacketsb1_2, ServerboundPacketsb1_1, ServerboundPacketsb1_2> {
private final BlockDataRewriter BLOCK_DATA_REWRITER = new BlockDataRewriter();
@ -132,7 +130,7 @@ public class Protocolb1_2_0_2tob1_1_2 extends AbstractProtocol<ClientboundPacket
map(Type.INT); // z
map(Type.BYTE); // yaw
map(Type.BYTE); // pitch
create(Typesb1_2.METADATA_LIST, new ArrayList<>()); // metadata
handler(wrapper -> wrapper.write(Typesb1_2.METADATA_LIST, Lists.newArrayList(new Metadata(0, MetaTypeb1_2.Byte, (byte) 0)))); // metadata
}
});
this.registerClientbound(ClientboundPacketsb1_1.CHUNK_DATA, new PacketHandlers() {

View File

@ -17,6 +17,7 @@
*/
package net.raphimc.vialegacy.protocols.release.protocol1_3_1_2to1_2_4_5;
import com.google.common.collect.Lists;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.ProtocolInfo;
import com.viaversion.viaversion.api.connection.UserConnection;
@ -59,6 +60,7 @@ import net.raphimc.vialegacy.protocols.release.protocol1_3_1_2to1_2_4_5.types.Ch
import net.raphimc.vialegacy.protocols.release.protocol1_3_1_2to1_2_4_5.types.Types1_2_4;
import net.raphimc.vialegacy.protocols.release.protocol1_4_2to1_3_1_2.ClientboundPackets1_3_1;
import net.raphimc.vialegacy.protocols.release.protocol1_4_2to1_3_1_2.ServerboundPackets1_3_1;
import net.raphimc.vialegacy.protocols.release.protocol1_4_2to1_3_1_2.types.MetaType1_3_1;
import net.raphimc.vialegacy.protocols.release.protocol1_4_2to1_3_1_2.types.Types1_3_1;
import net.raphimc.vialegacy.protocols.release.protocol1_6_1to1_5_2.metadata.MetaIndex1_6_1to1_5_2;
import net.raphimc.vialegacy.protocols.release.protocol1_7_2_5to1_6_4.storage.ChunkTracker;
@ -171,7 +173,7 @@ public class Protocol1_3_1_2to1_2_4_5 extends AbstractProtocol<ClientboundPacket
map(Type.BYTE); // yaw
map(Type.BYTE); // pitch
map(Type.UNSIGNED_SHORT); // item
create(Types1_3_1.METADATA_LIST, new ArrayList<>()); // metadata
handler(wrapper -> wrapper.write(Types1_3_1.METADATA_LIST, Lists.newArrayList(new Metadata(0, MetaType1_3_1.Byte, (byte) 0)))); // metadata
handler(wrapper -> {
final int entityId = wrapper.get(Type.INT, 0);
final double x = wrapper.get(Type.INT, 1) / 32.0D;