promotional bannermobile promotional banner

Ultra Fast Pregen

Ultra Fast Pregen pre-generates your world much faster than other pre-generators by using every CPU core, so players never wait on chunk generation.

Ultra Fast Pregen

Ultra Fast Pregen pre-generates your world much faster than other pre-generators by using every CPU core, so players never wait on chunk generation.

Chunk pregeneration speed: Chunky against Ultra Fast Pregen

Speed

Against Chunky (version 14, AMD Ryzen 5 7500F, NeoForge 26.1.2, a fresh 3000×3000 block area, average of 2 runs):

World Chunky Ultra Fast Pregen
Overworld 107.2 chunks/s 332.8 chunks/s (3.1× faster)
Overworld with Tectonic + WWOO 23.0 chunks/s 121.1 chunks/s (5.3× faster)
Nether 106.0 chunks/s 445.1 chunks/s (4.2× faster)
End 752.1 chunks/s 1,079.7 chunks/s (1.4× faster)

With C2ME installed for both: 1.1× to 1.6× faster.

On different CPUs (3000×3000 blocks, earlier versions):

CPU Area (block) Time Speed
Intel Core Ultra 7 265K (20 cores / 20 threads) 3000×3000 ~46.3 s 761.0 chunks/s
AMD Ryzen 5 7500F (6 cores / 12 threads) 3000×3000 ~1 min 54 s 308.8 chunks/s
AMD Ryzen 5 7530U (6 cores / 12 threads) 3000×3000 ~3 min 01 s 195.2 chunks/s
Intel Core i9-11900T ES (8 cores / 16 threads) 3000×3000 ~5 min 02 s 116.9 chunks/s
Intel Xeon (hosted, 4 vCPU 3.00Ghz) 3000×3000 ~9 min 17 s 63.3 chunks/s

It uses all cores, so it is best run before players join, or while few are online. It runs on the CPU only (no GPU).

Features

  • Vanilla-matching worlds. Terrain, biomes, structures, caves, features and light are checked block for block against vanilla, including large biomes, amplified, nether, end, caves and floating islands.
  • Resumable. Stop at any time and continue with /pregen resume, even after a restart.
  • Safe with existing worlds. Chunks that already exist are kept, and new terrain joins them without a visible seam.
  • Seamless borders. Trees, ores and other large features are not cut off where generation areas meet.
  • Low-memory friendly. Automatically adjusts to the memory available, down to a 2 GB heap.
  • Works with other mods. Detects mods that change world generation and adapts, including Lithium and big modpacks. If a batch still fails because of another mod, it is generated again the way Minecraft does instead of stopping.
  • C2ME, Distant Horizons and Voxy. C2ME is supported, chunk storage included; on the 26.x builds, generated chunks go straight into Distant Horizons' LoD (and Voxy's, in singleplayer).
  • Any dimension. Overworld, Nether, End and modded dimensions.

Tested with

All six builds, in the Overworld, Nether and End, with every saved chunk checked: C2ME, Lithium / Canary, Noisium, FerriteCore, ModernFix, Starlight / ScalableLux, Distant Horizons, Voxy, Terralith, Biomes O' Plenty, YUNG's Better Caves and Alex's Caves (132 of 132 runs passed), and the All the Mods 9, All the Mods 10 and Prominence II modpacks. Full results: https://github.com/Pongsapat3791/Ultra-Fast-Pregen/blob/main/COMPATIBILITY.md

Not supported yet: Moonrise (it replaces Minecraft's chunk system); /pregen start says so and starts nothing.

Commands (op level 2)

Command What it does
/pregen start <world_k> [profile] Generate a world_k x 1000 block square around the center
/pregen resume Continue the last job
/pregen stop Stop after the current batch
/pregen status Progress, speed, ETA and memory
/pregen center [x z] Set the center (default 0 0)
/pregen world [dimension] Choose the dimension
/pregen reset Forget which chunks were pre-generated
/pregen set [key value] Show or change a setting of the config file

Operators see the progress, speed and ETA on a boss bar.

Example

Command What it does
/pregen start 1 Generate a 1000 x 1000 block square around the center
/pregen start 10 Generate a 10000 x 10000 block square around the center
/pregen world minecraft:the_nether then /pregen start 4 Generate a 4000 x 4000 block square in the Nether

Config

config/ultrafastpregen.conf, reloaded on every start (or change it with /pregen set):

Key Default Meaning
batch_size 1000 Size of each generation step in blocks (512-10000)
threads max Worker threads
skip_existing_chunks true Keep existing chunks; false overwrites the whole area
parallel_steps true Structures, caves and features on all threads; false if a worldgen mod crashes
terrain_pipeline auto auto picks the fast path when it is safe; vanilla always uses Minecraft's own steps

Versions

Loader Minecraft Java
Fabric (no Fabric API needed) 1.20.1 17+
Forge 1.20.1 17+
Fabric (no Fabric API needed) 1.21.1 21+
NeoForge 1.21.1 21+
NeoForge 26.1.2 25+
Fabric (no Fabric API needed) 26.2 25+

Server side only: players do not need it. It also works in singleplayer.

Coming next: version 15 (in development)

  • Any radius, square or circle: /pregen radius <blocks>, /pregen shape circle and /pregen start; /pregen worldborder takes the area from the world border, /pregen spawn centers it on the world spawn. Trees along a circle's edge are not cut off.
  • Continues after a restart: a run cut short by a server stop or crash picks up by itself once the server is back (it gives up after 3 restarts in a row without progress, so a crash cannot loop).
  • An API for other mods: start and stop runs, follow their progress, get every saved chunk (for map and LoD mods), and let worldgen mods declare their own compatibility.

Follow it on the dev branch: https://github.com/Pongsapat3791/Ultra-Fast-Pregen/tree/dev

Notes

  • It uses all CPU cores, so the server may stutter if players are online. Lower threads by 1-2 if needed.

  • Chunks currently loaded by a nearby player may not receive features from newly generated neighbors.

  • Memory: 4 GB recommended for the server, for example:

    java -Xms4G -Xmx4G -jar server.jar nogui

    More memory lets it use a larger batch for slightly better speed. With less than 4 GB the batch size is lowered automatically and generation is a little slower.

Source, test results and benchmark tool: https://github.com/Pongsapat3791/Ultra-Fast-Pregen · License: LGPL-3.0

Ultra Fast Pregen Team

profile avatar
  • 1
    Projects
  • 377
    Downloads