Fixed
- Ad Astra compatibility
- Ad Astra and other dimension mods no longer crash when trying to generate chunks in their dimensions
- The code is also slightly faster and more concise, because the chunk sections array is now fetched directly from the chunk that's being generated, instead of recreating it before noise population, which may result in a very slight performance increase
Added
- Lithium compatibility
- You no longer have to sacrifice fish for performance
Fixed
- NeoForge 1.20.2+ support
- Removed the JiJ Mixin Extras, because NeoForge already includes it
ChunkSection#populateBiomes
axis order optimisation- The optimisation's axis order was incorrect (it was reversed)
- Thank you to embeddedt for spotting this issue
Added
- Forge support
- NeoForge support
GenerationShapeConfig
caching optimisationhorizontalCellBlockCount
andverticalCellBlockCount
are now cached, which skips aBiomeCoords#toBlock
call every time these methods are invoked
- ReTerraForged, Nether Depths, and Lost Cities compatibility
- The main optimisation (
NoiseChunkGenerator#populateNoise
) has been rewritten to improve compatibility, by using an@Inject
and a@Redirect
instead of an@Overwrite
- The main optimisation (
Added
- C2ME recommendation
- Running C2ME alongside Noisium is now recommended to replace the biome population multithreading, since C2ME does it in a much better/more performant way
Changed
- Removed the biome population multithreading
- See the C2ME recommendation above
Fixed
- Potential race condition due to a non-thread safe
BlockPos.Mutable
instance
Added
- 4 worldgen performance optimisations
ChainedBlockSource#sample
(replace an enhanced for loop with afori
loop for faster blockstate sampling)Chunk#populateBiomes
(multithread biome population)NoiseChunkGenerator#populateNoise
(set blockstates directly in the palette storage)NoiseChunkGenerator#populateNoise
(replace an enhanced for loop with afori
loop for faster chunk unlocking)