promotional bannermobile promotional banner

CaveSpeedThing

Multithreads YUNG's Better Caves + Better Mineshafts worldgen on Cleanroom/1.12.2 so cave generation stops eating your server's CPU.
v2 with 32 RD

v2 with 32 RD

CaveSpeedThingLogo.png

CaveSpeedThingLogo.png

yungs + mineshaft + cavespeedthing on cleanroom spectator max speed 12 rd w scrollwheel max too i mean really max max speed yk

yungs + mineshaft + cavespeedthing on cleanroom spectator max speed 12 rd w scrollwheel max too i mean really max max speed yk

yungs vanilla spectator max speed 12 rd w scrollwheel max too i mean really max max speed yk

yungs vanilla spectator max speed 12 rd w scrollwheel max too i mean really max max speed yk

Description

CaveSpeedThing

MC 1.12.2 // CLEANROOM

tl;dr

Better Caves worldgen was designed around single-threaded generation. This mod moves expensive parts of cave generation onto dedicated worker threads and removes several avoidable bottlenecks.

what this mod does

  • uses multiple CPU cores, expensive cave and cavern generation runs on dedicated worker threads instead of blocking the main world generation thread
  • parallelizes only when worthwhile, smaller workloads stay single-threaded to avoid unnecessary overhead (The threshold can be configured manually to better match your CPU and workload.)
  • reuses calculations, shared noise values are generated once instead of being recalculated multiple times
  • caches biome data, expensive biome lookups are performed once and reused where possible
  • reduces memory usage, reuses arrays and temporary buffers instead of constantly allocating new objects
  • fails safely, if a parallel task encounters an unexpected issue, generation falls back instead of crashing the game

Around 3.01x faster cave/cavern carving compared to unmodified Better Caves based on a single Flare profile under an extreme chunk-generation workload (spectator mode at maximum speed, 12 render distance). This benchmark intentionally exceeds any realistic gameplay scenario to stress world generation. Actual performance gains will vary depending on hardware, modpack, and generation settings.

requirements

Minecraft 1.12.2 / Cleanroom / Better Caves + Better Mineshafts.

This is a Mixin-based optimization layer, not a replacement. It patches existing Better Caves and Better Mineshafts classes.

Not compatible with NoiseThreader. Both projects modify overlapping Better Caves classes through Mixins, so they cannot run together.

recommended optimization setup

For the best overall experience on Minecraft 1.12.2 Cleanroom, it's recommended to follow the MC Optimization Guide. It covers the currently recommended optimization mods, JVM settings, and compatibility advice for modern 1.12.2 setups.

OptiFine is not recommended. It is known to cause compatibility issues with many mods and optimization patches. Following the optimization guide instead generally results in better compatibility and a more stable game.

where it came from

The original idea was inspired by the concept behind NoiseThreader: moving Better Caves processing away from a purely single-threaded workflow.

CaveSpeedThing is an independent implementation with a different architecture:

  • dedicated ForkJoinPool instead of relying on shared parallel streams
  • flat-array noise storage and pooling to reduce GC pressure
  • precomputed biome/cache data instead of parallel biome lookups
  • additional Better Mineshafts optimizations
  • runtime diagnostics and configurable tuning options
  • no OTG support
  • and more, various smaller optimizations, fixes, and quality-of-life improvements that are too numerous (or too boring) to list here

credits

Thanks to the developers of the projects that made this possible:

  • NoiseThreader by fonnymunkey, inspiration for the idea of parallelizing Better Caves world generation: CurseForge
  • YUNG's Better Caves, the world generation system this project optimizes: CurseForge
  • YUNG's Better Mineshafts, additional world generation optimizations and compatibility: CurseForge

CaveSpeedThing is an independent implementation and does not reuse NoiseThreader code. The project was inspired by the general concept, while the current architecture and optimizations were rewritten separately.

// works on my machine.

The CaveSpeedThing Team

profile avatar
  • 2
    Followers
  • 10
    Projects
  • 2.1K
    Downloads

Expert (PhD) & Modpack creator. "I have an IQ of 85... of 85? Now I'm confusing myself because of the 38. I have an IQ of 35... uh, 85. Or was it 58? I don't even remember anymore."

More from ChristKind_v1View all