ultrafastpregen-sponge-26.2-15.1.jar
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=falsegoes 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 resetwas needed first. A new run now forgets what the save file has for its area./pregen resumeand the automatic continuation after a restart still keep what that run saved.skip_existing_chunks=falsewith 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 aNullPointerException, 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
NullPointerExceptioninFrontAndTop, 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=falsethrough 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 resumekept 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

