
FastChunkGen generates chunks on all of your CPU cores, saves and loads them in the background, and fixes the vanilla threading bugs that get in the way.
On a fresh world it pregenerates about 4x faster than plain forge.
Forge 1.20.1 | Server and client | Stable
What does it do?
This mod generates chunk work on every core you have (configurable) and moves chunk saving and loading off the server thread.
Features

- Noise, surface, carvers, features and lighting run on a worker pool sized to your CPU.
- Several chunks generate at once instead of waiting in line.

- Chunks load and save in the background, so autosaves and fast travel stop freezing the server.
- Faster compression and a cache for chunk data that was read recently.

- Optimized aquifers, noise sampling, surface rules and random number generation.
- Close chunks share the noise they would otherwise both calculate.

- A seed gives you the same terrain, caves and aquifers with or without the mod.
- Every worldgen change is compared chunk by chunk against plain Forge before it ships.

- The light engine gets its own thread instead of sharing one with everything else.

- Async saves still fire Forge's
ChunkDataEvent.Saveon the server thread, so mods that store extra data in chunks keep it. Other ports just skip this.. - Modded machines and containers are saved on the server thread, not read by a worker.
- A chunk that loads again while its save is still queued gets the new data, not the old copy on disk.
- Worldgen tasks that fail are retried, so no part of the map gets stuck and never generates.
- When a mod touches the world from the wrong thread, the log names the mod and the method. The warning is rate limited so it can't spam your logs.

- At startup the mod checks what else is installed. If another mod already optimizes the same code, this mods turns off
- Used in a lot of modpacks, specifically in Linggango. I can confidently say this is the most stable C2ME port ever.
| Mod | Status |
|---|---|
| ModernFix | Works. |
| Radium / Canary | Works. |
| FerriteCore, ThreadTweak, FastNoise | Works. |
| Chunky | Works. Recommended for pregenerating. |
| FastNoise | Eh.. FastNoise is redundant but it works? |
Benchmark

A dedicated server, fresh world, seed is 25 (yes just 25), Chunky at its default radius. Ryzen 7 7800X3D (16 threads), 8 GB heap, everything on default settings. For accurate benchmark, I ran it 10 times!
I also wanna mention that results will vary. The amount of you mods especially. If you have ton of mods this mod will show its benefits even more!
Config

All settings are in config/fastchunkgen.toml.
| Option | Default | Notes |
|---|---|---|
globalExecutorParallelism |
Based on your CPU | Worker threads for worldgen and chunk IO |
threadedWorldGen.enabled |
On | Needs at least 3 workers |
ioSystem.async |
On | Background chunk loading and saving |
threadedLighting.enabled |
On | |
ioSystem.recoverFromErrors |
On | Regenerates a chunk that fails to load instead of crashing, like vanilla |
ioSystem.gcFreeChunkSerializer |
Off | Faster saves, but skips Forge save events. Breaks mods that store chunk data |
fixes.enforceSafeWorldRandomAccess |
Off | Crashes on unsafe thread access instead of warning. Useful for finding broken mods |
FAQ
Does it change world generation?
- No. Will anyone even ask this, why is this in FAQ.
Do I need it on the client?
- No, but u should keep it on client for singleplayer use and more.
Can I add it to an existing world?
- Yes.
Something broke.
- Open an issue on GitHub
Credits
- Original mod, C2ME, by RelativityMC and ishland.
- Forge port base by sj-hub9796.


