9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-27 19:09:08 +00:00

fix(network): 修复1.21.5的修改

This commit is contained in:
jhqwqmc
2025-04-26 03:03:54 +08:00
parent ab403a7a18
commit 7fd076c657

View File

@@ -169,7 +169,19 @@ public class PacketConsumers {
int chunkX = buf.readInt();
int chunkZ = buf.readInt();
// ClientboundLevelChunkPacketData
Tag heightmaps = buf.readNbt(false);
int heightmapsCount = 0;
Map<Integer, long[]> heightmapsMap = new HashMap<>();
Tag heightmaps = null;
if (VersionHelper.isVersionNewerThan1_21_5()) {
heightmapsCount = buf.readVarInt();
for (int i = 0; i < heightmapsCount; i++) {
int key = buf.readVarInt();
long[] value = buf.readLongArray();
heightmapsMap.put(key, value);
}
} else {
heightmaps = buf.readNbt(false);
}
int varInt = buf.readVarInt();
byte[] buffer = new byte[varInt];
buf.readBytes(buffer);
@@ -250,7 +262,15 @@ public class PacketConsumers {
buf.writeVarInt(event.packetID());
buf.writeInt(chunkX);
buf.writeInt(chunkZ);
buf.writeNbt(heightmaps, false);
if (VersionHelper.isVersionNewerThan1_21_5()) {
buf.writeVarInt(heightmapsCount);
for (Map.Entry<Integer, long[]> entry : heightmapsMap.entrySet()) {
buf.writeVarInt(entry.getKey());
buf.writeLongArray(entry.getValue());
}
} else {
buf.writeNbt(heightmaps, false);
}
buf.writeVarInt(buffer.length);
buf.writeBytes(buffer);
buf.writeVarInt(blockEntitiesDataCount);