Custom Biome Definition
Defines one custom biome. It is registered as soon as the page is saved, and written to a generated datapack so it survives a restart.
Every field left empty is inherited: first from the preset if one is set, then from the base biome. Only what you fill in is overridden.
Identification
| Field | Type | Description |
|---|---|---|
biomeId | String | Biome id, lowercase with underscores (e.g. corrupted_forest) |
namespace | String | Namespace for the key, typewriter by default |
The final key is namespace:biomeId, for example typewriter:corrupted_forest. That is what you
pass to actions, events and commands.
Inheritance
| Field | Type | Description |
|---|---|---|
baseBiome | String | Vanilla biome to inherit from (e.g. minecraft:dark_forest) |
preset | Ref | Optional preset providing shared colours and attributes |
The base biome supplies everything you do not override, including mob spawns, features and carvers.
Choosing a base close to the mood you want is the least work: a frozen biome should start from
minecraft:snowy_taiga, not from plains.
Climate
| Field | Type | Description |
|---|---|---|
temperature | String | 0.0 cold, 0.5 temperate, 2.0 hot. Empty inherits. |
downfall | String | 0.0 dry to 1.0 wet. Empty inherits. |
Temperature drives snow and rain, not just colour: below 0.15 precipitation falls as snow.
Colours
Hex format #RRGGBB. Empty inherits.
| Field | Description |
|---|---|
fogColor | Fog |
skyColor | Sky |
waterColor | Water |
waterFogColor | Underwater fog |
grassColor | Grass |
foliageColor | Leaves |
dryFoliageColor | Dry foliage, badlands and savanna |
sunriseSunsetColor | Sunrise and sunset tint |
cloudColor | Clouds |
skyLightColor | Skylight tint |
Visual attributes
All optional. Leave empty to inherit.
| Field | Type | Description |
|---|---|---|
fogStartDistance | Float | Where fog begins |
fogEndDistance | Float | Where fog is full |
skyFogEndDistance | Float | Where sky fog ends |
waterFogStartDistance | Float | Where underwater fog begins |
waterFogEndDistance | Float | Where underwater fog ends |
cloudFogEndDistance | Float | Where cloud fog ends |
cloudHeight | Float | Cloud altitude |
skyLightFactor | Float | Skylight brightness, between 0.0 and 1.0 |
sunAngle | Float | Sun angle, 0.0 overhead |
moonAngle | Float | Moon angle |
starAngle | Float | Star angle |
starBrightness | Float | Star brightness |
moonPhase | String | full_moon, waning_gibbous, … |
[!WARNING] Values outside the range the server accepts cause the biome to be rejected at registration, with the offending value named in the console. The other biomes keep working.
Example
A corrupted forest built on dark forest, taking its night atmosphere from a preset:
biomeId: corrupted_forest
namespace: typewriter
baseBiome: minecraft:dark_forest
preset: nuit_spectrale
temperature: 0.7
downfall: 0.8
grassColor: #4A5D23
foliageColor: #3D4F1C
waterColor: #2E4034
Sky, fog and stars come from the preset, so a sister biome sharing the same night can reuse it without repeating a single value.
Checking the result
/tw biome list shows every definition and whether it is live in the registry or waiting for a
restart. /tw biome info reports the biome under a player.