Skip to content

TheFastLaunch v1.9.1 - Compatibility & Performance Hotfix

Latest

Choose a tag to compare

@sabu8190 sabu8190 released this 01 Oct 02:46
· 7 commits to main since this release

🚀 TheFastLaunch v1.9.1 (Consolidated Hotfix Release)

This release consolidates critical compatibility fixes and performance optimizations addressing recent reports and issues:

🛡️ 1. PathPackResources "Invalid path ''" Error Spam Elimination

  • Ultra-Fast Resource Check: Replaced recursive pack.listResources(..., "") calls with hasThingsResources direct directory/ZIP existence inspection (completes in <0.5ms across all 392 packs).
  • Forge PathPackResources Fix Mixin: Added FastLaunchPathPackResourcesFixMixin & FastLaunchVanillaPathPackResourcesFixMixin to safely intercept and cancel empty path resource lookups before FileUtil.decomposePath fails.
  • Complete Eradication of 190,000+ Error Logs: Completely wiped out the 193,578 [Render thread/ERROR] [net.minecraftforge.resource.PathPackResources/]: Invalid path : Invalid path '' log spam that previously caused 200MB+ log inflation and a 2-second startup hitch.

🛡️ 2. Forgery / Fabrication Compatibility (Fixes #4)

  • Dynamic Forgery Detection: Added automatic detection for Forgery / Fabrication mods via classloader and filesystem probes.
  • Mixin & Preload Bypass: Safely bypasses early entity preloading and potentially conflicting mixins when Forgery is active, preventing fatal MixinEntity injection failures.

🐛 3. ModernFix Compatibility & Async Error Logging (Fixes #5)

  • Fixed ModelBakery ClassCastException: Resolved a conflict where ModernFix's DynamicBakedModelProvider was overwritten by Collections.synchronizedMap, safely protecting specialized concurrent map implementations.
  • Asynchronous Error Logging: Attached an error trapping listener (whenComplete) to ModelManager.reload to properly output full stack traces rather than causing silent barrier lockups.
  • Worker Pool Optimization: Restored clean background thread execution for resource reloading while preserving multi-core parallel baking on FastLaunch Quiet Worker Pool.

⚡ 4. Robust Multi-Core MBD2 Parallel NBT Loader

  • High-Performance Multithreaded Loading: Parallelizes NBT parsing across ForkJoinPool for heavy multiblock definitions (including massive 160MB+ files such as sfr.mb).
  • Hybrid NBT Binary Decoder: Uses NbtIo.read (uncompressed NBT) natively with automatic graceful fallback to NbtIo.readCompressed, ensuring 100% data integrity with zero parse dropouts.
  • Full Recursive Directory Walk: Fully traverses subdirectories using Files.walkFileTree identical to MBD2's native structure.
  • Deterministic Thread-Safe Registration: Decodes heavy NBT bytes in parallel across all CPU cores, then sequentially dispatches definitions on the caller thread to eliminate race conditions on non-thread-safe consumers.