From 9ef869fa11162794cb103dc265a2c67bc502b3eb Mon Sep 17 00:00:00 2001 From: luk Date: Tue, 27 Jan 2026 16:40:33 +0000 Subject: [PATCH] src: update IndexedStorageFile --- src/com/hypixel/hytale/storage/IndexedStorageFile.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/com/hypixel/hytale/storage/IndexedStorageFile.java b/src/com/hypixel/hytale/storage/IndexedStorageFile.java index 8aaa313e..77e4b6e9 100644 --- a/src/com/hypixel/hytale/storage/IndexedStorageFile.java +++ b/src/com/hypixel/hytale/storage/IndexedStorageFile.java @@ -451,6 +451,10 @@ public class IndexedStorageFile implements Closeable { blobHeaderBuffer = this.readBlobHeader(firstSegmentIndex); srcLength = blobHeaderBuffer.getInt(SRC_LENGTH_OFFSET); int compressedLength = blobHeaderBuffer.getInt(COMPRESSED_LENGTH_OFFSET); + // Handle empty chunks (newly generated with no data) + if (compressedLength == 0 && srcLength == 0) { + return allocateDirect(0); + } src = this.readSegments(firstSegmentIndex, compressedLength); break label43; } @@ -486,6 +490,10 @@ public class IndexedStorageFile implements Closeable { ByteBuffer blobHeaderBuffer = this.readBlobHeader(firstSegmentIndex); srcLength = blobHeaderBuffer.getInt(SRC_LENGTH_OFFSET); int compressedLength = blobHeaderBuffer.getInt(COMPRESSED_LENGTH_OFFSET); + // Handle empty chunks (newly generated with no data) + if (compressedLength == 0 && srcLength == 0) { + return; + } if (srcLength > dest.remaining()) { throw new IllegalArgumentException("dest buffer is not large enough! required dest.remaining() >= " + srcLength); }