Overview#
TerraBlender is a specialized library mod developed by TheAdubbz (Glitchfiend) designed to simplify the process of adding biomes to Minecraft. Since the overhaul of world generation in version 1.18, adding biomes has become significantly more complex due to the multi-noise system. TerraBlender acts as a bridge, allowing modders to register biomes in the Overworld, Nether, and End without having to manually calculate intricate noise parameters or risk compatibility issues with other mods.
As a library mod, TerraBlender does not add any gameplay content like items, blocks, or mobs on its own. Instead, it provides the backend infrastructure required for popular world-generation mods such as Biomes O' Plenty, Oh The Biomes You'll Go, and Regions Unexplored to function correctly. It ensures that modded biomes blend naturally with vanilla terrain and each other.
Core Mechanics#
TerraBlender introduces several key concepts to Minecraft's world generation engine to facilitate biome placement and blending.
Region System
The mod uses a "Region" system to manage biome distribution. A Region is a collection of biomes that are grouped together for generation purposes. By assigning biomes to specific regions, TerraBlender can ensure that modded biomes appear in distinct areas of the world rather than being scattered randomly and inconsistently.
Weighting and Probability
Each region is assigned a Weight, which determines its frequency in the world.
| Parameter | Description |
|---|---|
| Region Weight | An integer value determining how often the region's biomes appear relative to vanilla and other mods. |
| Climate Parameters | Biomes within a region are mapped to specific climate points (Temperature, Humidity, etc.). |
Multi-Noise Integration
TerraBlender handles the six-dimensional noise parameters used by Minecraft's modern generator:
- Temperature: Determines if a biome is hot, cold, or temperate.
- Humidity: Determines the wetness of the biome (e.g., Desert vs. Jungle).
- Continentalness: Determines the distance from the ocean.
- Erosion: Determines the flatness or ruggedness of the terrain.
- Weirdness: Controls the variance and unique shapes of the terrain.
- Depth: Determines the altitude or depth (for cave biomes).
Surface Rules API#
One of the most powerful features of TerraBlender is its Surface Rule Manager. This API allows developers to define exactly what blocks should make up the surface of their biomes based on specific conditions.
Rule Categories
Surface rules are categorized to prevent conflicts and ensure proper layering:
- Overworld Rules: Defines topsoil (grass, sand, podzol) and subsurface layers (dirt, stone).
- Nether Rules: Manages blocks like netherrack, soul sand, and modded variants.
- End Rules: Handles end stone and custom void-based surfaces.
Conditional Logic
Developers can set rules based on:
- Biome Identity: Apply rules only to specific custom biomes.
- Height Levels: Change the surface block at high altitudes (e.g., adding snow caps).
- Water Levels: Determine if a block should be sand or gravel when underwater.
Items, Blocks, and Mobs#
As a technical library mod, TerraBlender does not add any new items, blocks, or mobs to the game. Its purpose is entirely focused on the underlying world generation code.
If you are looking for new content, you must install a "content mod" that depends on TerraBlender. Common examples include:
- Biomes O' Plenty: Adds over 50 new biomes, trees, and flowers.
- Oh The Biomes You'll Go: Adds dozens of unique dimensions and biomes.
- Regions Unexplored: Adds high-detail biomes with custom vegetation.
Note: If you see items or blocks associated with TerraBlender in your game, they are likely being added by a different mod that requires TerraBlender to run.
Configuration#
TerraBlender includes a configuration file located at config/terrablender-common.toml. This file is primarily used for debugging and internal version tracking.
| Config Option | Default | Description |
|---|---|---|
shuffled_biome_ids |
false |
A debug setting used to test biome ID stability across sessions. |
sync_version |
V1 |
Internal versioning used to sync generation logic between client and server. |
In most cases, players should not modify these settings unless instructed by a mod developer to troubleshoot generation issues.
Commands#
TerraBlender provides a few administrative commands to help developers and server owners debug biome generation.
| Command | Description |
|---|---|
/terrablender regions |
Lists all active regions currently registered in the world. |
/terrablender export |
Exports the current biome noise parameters to a file for analysis. |
/terrablender debug |
Toggles internal debug logging for biome placement logic. |
Compatibility#
TerraBlender is designed with maximum compatibility in mind. It is available for Forge, Fabric, and NeoForge loaders for version 1.20.1.
Key Compatibility Features:
- Vanilla Blending: Ensures that modded biomes do not create "chunk walls" or jagged edges when meeting vanilla biomes.
- Mod Interoperability: Allows multiple biome mods (e.g., Biomes O' Plenty and Terralith) to coexist in the same world by managing their respective regions.
- Server-Side Support: The mod must be installed on both the client and the server to ensure that world generation is synchronized and players do not experience "ghost blocks" or biome mismatches.