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
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 withjoin(), 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>withLongOpenHashSetin 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

