Fast Noise
ModMPL-2.0

Fast Noise

Vanilla Worldgen optimization mod

207.6K
Downloads
62
Followers
2 months ago
Updated
📦
30
Versions

📖About Fast Noise

Fast Noise is a modern optimization mod to improve world generation times. I regularly update the mod to latest minecraft versions, bring improvements to the mod, and provide stable releases.

Does the mod change world generation? The mod maintains vanilla parity, including with any datapacks. Do keep in mind, Vanilla non-determinism.

Can I use custom worldgen mods with this? Yes, I try my best to maintain mod compatibility, and only modify safe code. Specific optimizations that may affect mod compatibility are disabled by default.

Available on codeberg Available on curseforge Available on modrinth Support me on Ko-Fi

How does this mod work?

Fast noise optimizes storing block and biome data into chunks for the duration of worldgen.

Technical Details

Fast noise replaces populateNoise,populateBiomes in NoiseChunkGenerator and surfaceBuilder in SurfaceBuilder.

Fast noise optimizes world generation by making several strong assumptions about how world generation works. By replacing vanilla's generic and debug code for world storage with faster, more packed calculations, fast noise achieves faster throughput.

Some key methods used to achieve that are, reducing allocations, avoiding palette resizing, delaying/packing block counting, precalculating data,
caching block state information and more.

Why this over noisium?

Noisium is archived and didn't had any noticable benefits.
Fast Noise provides consistent improvements to worldgen speed.

How fast is it?

About 4-10% improvement to overall worldgen
Here is a Comparison.

Jmh Benchmark
Mods used: Fast Noise 1.0.15+26.1 on 26.1 snapshot-6
ChunkPos: -16,-16 -> 16,16
End ChunkPos: 112,112 -> 144,144
Chunks: 1089
Mods used: (c2me)

With mod:
Benchmark                 (worldName)  Mode  Cnt     Score    Error  Units
BiomesBenchmark.biomegen          end  avgt    5    11.786 ±  0.168  ms/op
BiomesBenchmark.biomegen       nether  avgt    5   174.833 ±  1.166  ms/op
BiomesBenchmark.biomegen    overworld  avgt    5  2401.797 ± 31.629  ms/op
NoiseBenchmark.noisegen           end  avgt    5  3052.242 ± 12.358  ms/op
NoiseBenchmark.noisegen        nether  avgt    5  1039.086 ±  6.467  ms/op
NoiseBenchmark.noisegen     overworld  avgt    5  8441.811 ± 41.396  ms/op

With only c2me:
Benchmark                 (worldName)  Mode  Cnt      Score    Error  Units
BiomesBenchmark.biomegen          end  avgt    5     26.058 ±  0.245  ms/op
BiomesBenchmark.biomegen       nether  avgt    5    185.957 ±  2.203  ms/op
BiomesBenchmark.biomegen    overworld  avgt    5   2464.937 ± 29.007  ms/op
NoiseBenchmark.noisegen           end  avgt    5   3925.059 ± 14.292  ms/op
NoiseBenchmark.noisegen        nether  avgt    5   1920.705 ±  9.864  ms/op
NoiseBenchmark.noisegen     overworld  avgt    5  11552.674 ± 54.112  ms/op

Vanilla:
Benchmark                 (worldName)  Mode  Cnt      Score    Error  Units
BiomesBenchmark.biomegen          end  avgt    5     27.051 ±  0.118  ms/op
BiomesBenchmark.biomegen       nether  avgt    5    239.634 ±  1.702  ms/op
BiomesBenchmark.biomegen    overworld  avgt    5   4589.322 ± 80.331  ms/op
NoiseBenchmark.noisegen           end  avgt    5   4477.113 ± 36.133  ms/op
NoiseBenchmark.noisegen        nether  avgt    5   1951.438 ±  5.748  ms/op
NoiseBenchmark.noisegen     overworld  avgt    5  14249.612 ± 57.388  ms/op

Speedup
Overworld: Biome: 1.026x Noise: 1.368x
Nether: Biome: 1.063x Noise: 1.847x
End: Biome: 2.21x Noise: 1.285x

The benchmarks may have some inaccuracies.

Socials

Chat with us on discord Chat with me on mastodon Chat with us on Gitter

FAQ and Help

Q- What Minecraft versions will the mod be supporting?
A- I'll try to support the latest minecraft version.

Q- Are backports planned?
A- No backports are planned, current backports were a one time thing.

Q- What other mods/dependencies do I need?
A- No dependencies are required.

Q- Will there be a neoforge version?
A- Yes, a NeoForge variant is planned post 26.1.

Q- XYZ mod crashes, or generates incorrectly with Fast Noise?
A- Report the issue on codeberg or my socials.

Incompatible mods

Moonrise is incompatible, as It changes minecraft internals drastically
Noisium is incompatible, as Fast Noise is intended as a replacement for noisium.

Credits

  • Stevenplays, for developing noisium mod, I started developing fast noise while trying to port noisium to latest minecraft.