# HG changeset patch # Parent 73e3457f7840e7365128dad8f8565cbe79b62140 # User Socolin diff --git a/minecraft/net/minecraft/src/Packet56MapChunks.java b/minecraft/net/minecraft/src/Packet56MapChunks.java --- a/minecraft/net/minecraft/src/Packet56MapChunks.java +++ b/minecraft/net/minecraft/src/Packet56MapChunks.java @@ -104,24 +104,30 @@ public class Packet56MapChunks extends P for (int chunkId = 0; chunkId < countReceivedChunk; ++chunkId) { this.chunkPostX[chunkId] = par1DataInputStream.readInt(); this.chunkPosZ[chunkId] = par1DataInputStream.readInt(); this.chunkExistFlag[chunkId] = par1DataInputStream.readShort(); this.chunkAddSectionFlag[chunkId] = par1DataInputStream.readShort(); int chunkDataBlockCount = 0; + int chunkDataAddSectionCount = 0; int chunkBitId; for (chunkBitId = 0; chunkBitId < 16; ++chunkBitId) { chunkDataBlockCount += this.chunkExistFlag[chunkId] >> chunkBitId & 1; } - int chunkDataSize = 2048 * 5 * chunkDataBlockCount + 256; + for (chunkBitId = 0; chunkBitId < 16; ++chunkBitId) + { + chunkDataAddSectionCount += this.chunkAddSectionFlag[chunkId] >> chunkBitId & 1; + } + + int chunkDataSize = 2048 * 5 * chunkDataBlockCount + 2048 * chunkDataAddSectionCount + 256; this.chunkCompressedData[chunkId] = new byte[chunkDataSize]; System.arraycopy(decompressedData, offsetInDecompressedBuffer, this.chunkCompressedData[chunkId], 0, chunkDataSize); offsetInDecompressedBuffer += chunkDataSize; } } public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException {