promotional bannermobile promotional banner

c2me - Au Naturel edition

A fork of the multi-threaded world generation mod with edits and optimisations specifically for the Au Naturel Modpack

File Details

c2me-fabric-mc1.20.1-0.2.0+alpha.11.20.21.jar

  • R
  • Dec 16, 2025
  • 1.36 MB
  • 621
  • 1.20.1
  • Fabric

File Name

c2me-fabric-mc1.20.1-0.2.0+alpha.11.20.21.jar

Supported Versions

  • 1.20.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:c2me-au-naturel-edition-1394196:7339985"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Automatically generated changelog:

Bug Fixes

Threading & Deadlocks

  • Fixed lost wakeup race condition in C2MEStorageThread - Storage threads now always wake on new work, preventing deadlocks particularly with Distant Horizons
  • Fixed circular dependency deadlock in redirectGetRegion - Removed wait that caused indefinite hangs during world creation when mods like DataAnchor accessed chunks during block entity ticking
  • Fixed thread pool exhaustion deadlock in MixinProtoChunk.getNeedBlending() - No longer blocks with join(), returns safe default if future not complete

Race Conditions

  • Fixed race condition in queue counters - Changed volatile int → AtomicInteger
  • Fixed cache eviction order in ObjectCachingUtils - Now correctly evicts before insert

Structure Generation

  • Fixed missed threading fixes in Stronghold and Nether Fortress generation - Cherry-picked from upstream, fixes issue #402

Compatibility

  • Made ChunkStatus.SPAWN single-threaded - Avoids entity attribute contention with entity-heavy mods (Alex's Mobs, etc.)

Performance Improvements

  • Replaced HashSet<Long> with LongOpenHashSet in LongHashSet - Eliminates boxing overhead for primitive long operations
  • Replaced stream operations with direct loops in AsyncSerializationManager - Spark profiling showed stream operations taking 3.29% of tick time on long ticks; now uses EnumMap loop for LightType and direct loop for block entities
  • Added pre-cached numeric index strings in ChunkDataSerializer - Reduces string allocation
  • Zero-allocation aquifer similarity calculation - Optimized hot path in world generation