feat: implement region file reassembly and improve bundle format

- Add fastutil and lz4-java dependencies for efficient data structures and compression
- Implement VarInt/VarLong serialization for more compact bundle headers
- Redesign bundle header format to include timestamps and use variable-length integers
- Replace GZIP-based compression with region file reassembly for better compression of chunk data
- Add RegionFile and RegionFileReassembler classes for handling Minecraft region files
- Implement configurable compression types (GZIP, ZLIB, LZ4, NONE) for region files
- Add timestamp filtering and duplicate handling to BundleReader
- Improve parallel processing capabilities with configurable worker threads
- Add JUnit 5 testing support and configure shadowJar minimization
- Update file extensions from .jpack to .jbp.zst for clarity
- Enhance error handling and logging throughout the codebase
- Add comprehensive region file manipulation including chunk-level recompression
- Implement memory-efficient region file parsing using Netty ByteBuf
- Add support for dictionary-based Zstd compression
- Update backup worker to use new bundle format
- Various performance optimizations and bug fixes
This commit is contained in:
iceBear67 committed 2025-09-27 20:23:43 +08:00
1 parent 28280bc162
commit d48b11b58b
14 files changed
+544 -83

No files matched your search

+12
View File
@@ -11,8 +11,20 @@ dependencies {
compileOnly 'io.netty:netty-all:4.2.6.Final'
api "io.ib67.kiwi:lang:1.2.3-SNAPSHOT"
api 'io.netty:netty-all:4.2.6.Final'
api 'it.unimi.dsi:fastutil:8.5.15'
api 'org.lz4:lz4-java:1.8.0'
compileOnly 'org.lz4:lz4-java:1.8.0'
testImplementation 'org.junit.jupiter:junit-jupiter:5.13.4'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
shadowJar {
minimize()
}
test {
useJUnitPlatform()
}
jar {
manifest {