Skip to content

memesgmm/Linear

Repository files navigation

NeoForge Support Java Support MIT License Zstd

Linear

Linear is a NeoForge mod that replaces Minecraft's standard Anvil (.mca) region file format with the .linear format, designed for superior compression and optimized I/O patterns.


🛠️ Versioning & Compatibility

Linear provides two distinct builds to cover different NeoForge lifecycles:

Build Target Minecraft / NeoForge Required Java Filename Pattern
Legacy 1.21.x (1.21.1 – 1.21.11) Java 21 linear-1.21.1-1.3.3+legacy.jar
Modern 26.x+ (Experimental) Java 25 linear-26.1.2-1.3.3+modern.jar

⚠️ IMPORTANT

Make sure you download the correct JAR for your Minecraft version. The 26.x build will not launch on older versions of Minecraft.


🏗️ Technical Overview

Linear improves upon the standard Anvil format by redesigning how region data is compressed and written to disk.

💎 Advanced Compression

Traditional Anvil storage (.mca) compresses each chunk individually using Zlib or Gzip. Linear instead compresses the entire 32x32 chunk region as a single block using Zstandard.

  • Cross-Chunk Optimization: By compressing the whole region, Zstd can find recurring data patterns across chunk boundaries, leading to significantly better compression ratios than per-chunk methods.
  • Configurable Levels: Users can tune the compression level to balance CPU usage and disk space savings.

🚀 I/O Efficiency

Minecraft's Anvil format performs incremental, per-chunk writes. This results in numerous small, random I/O operations which can be inefficient on many storage types, especially under heavy load.

  • Sequential Writes: Linear writes the entire region as one contiguous file. This allows the operating system and storage hardware to handle the save operation as a single sequential write, reducing overhead and improving consistency.
  • Simplified File Structure: Linear eliminates the need for .mcc files (used by Anvil for chunks exceeding 1MB), keeping world data contained within a consistent region-to-file mapping.

⚠️ Early Development

⚠️ CAUTION

This mod is in early development. While it has been tested, it modifies core world storage logic. Always keep backups of your world. The conversion from Anvil to Linear is automatic, but reversing it requires keeping a backup of your old world files.


📖 Documentation

For detailed information on installation, configuration, commands, and technical architecture, please refer to the WIKI.md.


🤖 AI Disclaimer & Support

This mod was developed with the assistance of Antigravity (Google DeepMind), which handled the entirety of the code writing and porting logic. While the implementation was generated by AI, all functionality has been manually tested across all supported versions to ensure stability and world integrity.

If you encounter any bugs, crashes, or data inconsistencies, please report them via the GitHub Issues page.


Credits

License

Linear is released under the MIT License.

About

A high-performance NeoForge 1.21.1 mod that replaces Minecraft's .mca region files with the compressed .linear format — reducing world save size by 50-60%

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages