promotional bannermobile promotional banner

Ultra Fast Pregen (Bukkit/Paper/Spigot/Folia/Sponge)

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.
Back to Files

ultrafastpregen-sponge-26.2-15.1.jar

File nameultrafastpregen-sponge-26.2-15.1.jar
Uploader
PongsapatPongsapat
Uploaded
Nov 1, 2026
Downloads
7
Size
362.2 KB
File ID
9391253
Type
R
Release
Supported game versions
  • 26.2

What's new

Ultra Fast Pregen 15.1 for Sponge (Minecraft 26.2)

Requires SpongeVanilla 26.2 (Sponge API 20) and Java 25. Put the jar in the server's mods folder; players do not need anything. It replaces ultrafastpregen-sponge-26.2-15.jar.

Fixed: End cities and Nether fortresses

Minecraft lays these two structures out with code that keeps its state in static fields (for End cities whether the city has its ship yet, for fortresses how many of each kind of room it has), one structure at a time. Ultra Fast Pregen creates a batch's structures on all worker threads, so two End cities or two fortresses laid out at the same moment could change each other's layout: a city could lose its ship or get one it does not have in Minecraft, and the rest of it was then built differently. Both are now laid out one at a time, as strongholds already were. In the tests on Fabric 1.21, an End city that has its ship and 88 pieces in Minecraft came out without the ship and with 78 pieces in 3 of 3 runs before this fix, and whole in all 7 runs of 15.1.

Fixed: the jar on another Minecraft version

SpongeVanilla loads a plugin jar on any Minecraft version, and this jar's mixins kept a 26.1.2 or 26.3 server from starting. On another version the jar now applies no mixin, the log says it is for Minecraft 26.2, and the server goes on.

Fixed: chunks the server holds during a run

Chunks the server had only part-generated around players and force-loaded chunks came out incomplete when a run replaced them. They lost their scheduled ticks, so water and lava springs there did not flow, and leaves and falling blocks were not updated, until something changed next to them. The mobs placed when a chunk is generated, and those of structures, were lost: with chunks held around the center of a run, 5 to 7 of the 112 mobs of the chunks around them were left. Features that cross a batch edge into such a chunk were dropped, so ore and stone blobs ended at the edge. All of this now reaches the server's chunk. Chunks made by older versions stay as they are unless they are generated again.

Fixed

  • skip_existing_chunks=false goes over the whole area: chunks in the save file were skipped, whole batches and single chunks, although the setting, the README and the log said the area is regenerated; /pregen reset was needed first. A new run now forgets what the save file has for its area. /pregen resume and the automatic continuation after a restart still keep what that run saved.
  • skip_existing_chunks=false with a player in the area: a chunk saved as fully generated that the server had loaded again, but not made full, has no level for its scheduled ticks yet, and Sponge tracks every tick with that level. Replacing such a chunk failed with a NullPointerException, and the run ended with an error when the batch failed again the way Minecraft generates. Such a chunk now gets the level while its ticks are replaced.
  • Features across a batch edge through caves: a kept copy of a saved chunk turned cave air into plain air, so a block a later batch placed in a cave there was taken for a block changed meanwhile and left out.
  • A run could leave the fast paths at its first structures: Minecraft fills a rotation's table of directions on first use, and with many threads a jigsaw structure could read it half filled. The batch failed with a NullPointerException in FrontAndTop, and the rest of the run went on the way Minecraft generates, much slower. The chunks were right. The tables are now filled before a run starts.

New: API version 2

PregenApi.worlds() gives other mods what they need to bring chunks into a world from elsewhere, in plain Java types: the world's folders, what generation depends on, separate worlds that generate like a dimension, chunks read and written through the server's own storage, and commands. PregenRequest.withBatchSize and keepingExistingChunks, and the events onServerStarted and onServerStopping, are new too.

Tested on this build

  • SpongeVanilla 26.2: a fresh 1,000 × 1,000 block area in the Overworld, the Nether and the End. Every chunk was fully generated, lit and readable, with no error in the log.
  • The End over 3,000 × 3,000 blocks twice: the two worlds were the same block for block, with the same pieces in all 10 End cities as the Bukkit plugin's. The fix is the one of the mods, tested there in all three dimensions.
  • SpongeVanilla 26.1.2 and 26.3: the server started, the log said the jar is for Minecraft 26.2, and no chunk was written.
  • Against the jar of those tests, 1,000 × 1,000 blocks in each dimension: the same blocks and light in all 4,096 chunks of each.
  • Chunks the server holds during a run on SpongeVanilla 26.2: the same run with nothing held and with 1,408 part-generated chunks held, compared chunk by chunk. All mobs and all fluid ticks were there, and 1,385 of the 1,408 chunks had the same blocks.
  • skip_existing_chunks=false through the commands on SpongeVanilla 26.2: a run saved 4,096 chunks, the same area with the setting off generated all 4,096 again, and /pregen resume kept them.
  • In the game with a real client on SpongeVanilla 26.2: a player in the area during a run, caves dark as Minecraft lights them in the chunks around the player, and a second run with skip_existing_chunks=false.

Details: https://github.com/Pongsapat3791/Ultra-Fast-Pregen/blob/main/ports/sponge-26.2/README.md

This mod has no additional files