Description
LinearReader replaces Minecraft's region format in order to reduce
world size and improve storage efficiency. Chunk data is compressed to
the `.linear` format, instead of vanilla Minecraft's `.mca` format. The
`.linear` format was created by Xymb-endcrystalme, and can be found on
[Github](https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools).
LinearReader:
* has an automatic region file backup system
* uses a region cache to improve performance
* has a built-in backup system
* can convert both ways between the `.mca` and the `.linear` formats.
**For a full description of all of LinearReader's features, see the
[wiki](https://github.com/Bugfunbug/LinearReader/wiki).**
**WARNING:** LinearReader modifies the way chunk data is saved and makes
it more complex. Corruption may occur due to bugs or in unexpected
edge cases. **Backup your worlds before installing LinearReader.**
**DISCLAIMER:** AI was used to code this mod. I have manually tested
and verified that it all works as intended. If you run into any
issues please report them on my [GitHub](https://github.com/Bugfunbug/LinearReader/issues)
and I will try to resolve them as fast as possible.
#### A note on the graphs:
I performed three tests per platform, using the same seeds for the tests. The data used for the graphs was the combined data of the three tests. All the tests were done with LinearReader **version 1.2.0** on my M4 MacBook Air with a render distance of 32 chunks. (Basically, all the tests were performed under identical conditions.)
As mentioned in the [wiki](https://github.com/Bugfunbug/LinearReader/wiki), LinearReader initially compresses to a level much lower than 22 (unless otherwise configured). So for LinearReader's disk usage data, I measured both the initial size of the region files, and then their final size after recompressing them to level 22. Backup files were **not** included when calculating disk usage.
Total read/write time was calculated as amount of operations x average time for that operation. (For example, Fabric performed roughly double the amount of read operations that all other platforms did, resulting in Fabric having a much larger total read time value.)
LinearReader can show higher max latency spikes, but those occur primarily during the initial world load and gc pauses. The p95 and p99 values are much closer to what average gameplay is like.