Biomes
What a mod can do with biomes, by what it wants. Each row names the call or file; the pages it links to give the detail.
From the modding book of arismoko/horizonbfbda6a
Add a biome
- Use
data/in a content mod or data pack (content mods)<ns>/ worldgen/ biome/ <name>.json - Side
- Content
Add my features or spawns to vanilla's biomes
- Use
- A biome modifier file in
data/(content mods)<ns>/ neoforge/ biome_ modifier/ - Side
- Content
Give my dimension its own biomes
- Use
DimensionSettings:::biome_ source Fixed,Checkerboard,MultiNoiseby preset,End, orPointsfor an explicit climate-point layout (dimension shape)- Side
- Both
Know the biome at a position
- Use
LevelRef::on a server level,biome_ at LevelRef::on a clientclient_ biome - Side
- Server, client
Find the nearest biome or tag
- Use
LevelRef::with afind_ closest_ biome BiomeSearch- Side
- Server
Change a biome
- Use
LevelRef::, one 4x4x4 cell, asset_ biome /doesfillbiome - Side
- Server
Run bone meal at a position
- Use
LevelRef::bone_ meal - Side
- Server
Tint foliage, grass or water by biome
- Use
- The
register_hook for new colour resolvers, and thecolor_ resolvers biome_hook to change a biome's own colourscolors - Side
- Client
Carver, climate and effects modifier support is implemented; that does not imply full custom serializers or phase ordering.
What is not here yet
- Placing a mod's own biomes among the Overworld's or the Nether's: a design note, not code (arismoko/horizon#2554).
- Full custom biome-modifier serializers and explicit phases between modifiers (#2732).
- A mod's own worldgen registry loaded into the world (#811), and per-biome client effects (#2734).
- Features and placers defined in code (#815).
Some of these have a PR open; a page for each lands with it.
Reads and writes are limited on purpose
biome_atnever loads or generates a chunk: an unloaded column answersNone.find_closest_biomefollows vanilla's sampled spiral, so it is not a search through cells a mod edited, and it refuses a search whose sample count passesBiomeSearch::MAX_SAMPLES.set_biomerefuses a client, an unknown biome and an unchanged cell, and returns false rather than an error.
Edit this page on GitHub · Spotted something wrong? Open an issue .