Simplex Terrain Generation Mod 1.16.5, — Guide
Noise Implementations
The mod includes several distinct noise algorithms, each producing a different visual style of terrain. These can be selected and layered within the configuration file.
| Noise Type | Description | Visual Characteristic |
|---|---|---|
| OpenSimplex2 | An improved version of Simplex noise. | Smooth, natural-looking hills with fewer directional artifacts. |
| Perlin | The classic industry standard for gradient noise. | Standard 'Minecraft-like' rolling hills. |
| Cubic | A smoother, higher-order interpolation noise. | Very soft, rounded terrain features. |
| Value | Noise based on a lattice of random values. | Blockier, more structured terrain. |
| Worley (Cellular) | Distance-based noise often used for stone or water patterns. | Sharp ridges, 'cracked' earth, or cellular pockets. |
Noise Modifiers
Noise modifiers are mathematical functions applied to the raw noise output to warp and shape the terrain. They can be nested to create complex effects.
- Add / Subtract / Multiply / Divide: Basic arithmetic to shift or scale the heightmap.
- Abs: Converts all negative noise values to positive, creating 'valley' floors.
- Clamp: Forces all values into a specific range (e.g., preventing terrain from going above Y=200).
- Exponent: Raises the noise to a power, making peaks sharper and valleys flatter.
- Select: Uses a control noise to choose between two different noise sources (e.g., using Worley noise to decide where Perlin mountains should spawn).
- Terrace: Quantizes the noise values into discrete steps, creating 'plateau' or 'canyon' effects.
Post Processors
Post processors are effects applied after the initial heightmap is generated but before blocks are placed.
- Erosion: Simulates the flow of water over time, carving small gullies and depositing sediment at the base of hills for a more realistic look.
- Smoothing: Runs a blur pass over the heightmap to remove jagged edges or 'noise artifacts' from high-frequency generation.
- River Carver: A specialized processor that identifies low-lying paths and carves them deeper to ensure continuous river systems.
Optimization
Because Simplex Terrain Generation can be computationally expensive, several optimization features are included:
- Threading: The mod can utilize multiple CPU cores to generate chunks in parallel. This is controlled by the
thread_countsetting in the config. - Caching: The
use_cachesetting stores recently calculated noise values to prevent redundant math when adjacent chunks are generated. - FastNoise Integration: The mod utilizes optimized Java implementations of noise functions to minimize the performance impact on the server's tick rate.
Mechanics & Implementation
The mod operates by intercepting the chunk generation phase. It calculates a 16x16 grid of height values for every chunk.
- Sampling: The engine samples the configured noise at the X/Z coordinates.
- Modification: Any active Noise Modifiers are applied to the sample.
- Post-Processing: The heightmap is passed through erosion or smoothing filters.
- Block Placement: The engine fills the column from Y=0 to the calculated height. By default, it uses Stone as the filler, Dirt as the sub-surface, and Grass as the top layer, though these are biome-dependent.
- Decoration: Standard Minecraft features (trees, ores, structures) are then placed on top of the generated surface.