Terra is a modern world generation modding platform that allows complete customization of world generation with an advanced API, tightly integrated with a powerful configuration system.
Terra provides a set of core addons which implement a "standard" config schema, as well as a default overworld config pack.
Installation
To install Terra, visit the Getting Started page on our wiki, and choose the installation guide for your platform. Remember to choose the correct version of Terra for your Minecraft version! (see the versions wiki page).
Platforms
Terra's platform-agnostic design ensures all world generation happens completely independently of Minecraft, allowing Terra to be easily portable across platforms.
Currently, Terra supports:
- Fabric - Download on Modrinth.
- Forge - Download on Modrinth.
- Quilt - Download on Modrinth.
- Bukkit (Paper servers) - Download on SpigotMC
Links
Community Packs
Terra provides world generation through configuration packs. Various config packs made by the Terra community are accessible at the Community Packs page. Below is a showcase of the community packs available through the linked page:
Overworld (Pre-installed)

Origen

Hydraxia

SkyLands

Tartarus

ReimagEND

Substratum

Overworld 2 (WIP - In development)

Beta
Terra is currently in BETA. While Terra is stable and production-ready, and the default Overworld Config provides all Vanilla resources, Terra is not feature-complete. There is a lot to be added!
Donate
If you like Terra, please consider donating so I can buy more Dr. Pepper:
You can also support us for free by starring our repository on GitHub! GitHub rolls out new beta features first to repositories with more stars, so starring our repo is a great way to support us!
Sponsor
Thanks to Ember Host for sponsoring Terra! You can support us by clicking the banner bellow to get 10% off your first month, which also gives us a 50% cut of your first purchase!

All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 | ||||
| 18h ago | 1 |
- Support for Minecraft 1.21.8
- Various bug fixes
- Support for Minecraft 1.21.8
- Various bug fixes
- Support for Minecraft 1.21.6
- Overworld Pack 1.5.2
- Direct Multiverse V5 Support.
- Various bug fixes.
Overworld changes:
- Fixed Creaking Heart Block ID on 1.21.5+
- Support for Minecraft 1.21.6
- Overworld Pack 1.5.2
- Direct Multiverse V5 Support.
- Various bug fixes.
Overworld changes:
- Fixed Creaking Heart Block ID on 1.21.5+
- Fix Moonrise thread count grabber
- Fix Overworld config zip
- Fix Moonrise thread count grabber
- Fix Overworld config zip
- Support for Minecraft 1.21.5
- Support for Allay 0.4.1
- Overworld Pack 1.5.1
Overworld changes:
- Added Spring to Life features
- Added Pale Garden
- Added Mob Rooms
- Improved Shrub Beach
- Support for Minecraft 1.21.5
- Support for Allay 0.4.1
- Overworld Pack 1.5.1
Overworld changes:
- Added Spring to Life features
- Added Pale Garden
- Added Mob Rooms
- Improved Shrub Beach
- Support for Minecraft 1.21.4
- Allay platform support
- Minestom platform support
- Improvements to the CLI generator
- Various other changes, optimizations, and bug fixes
Config pack development changes:
- Platform Minecraft Biome Config:
- Both Fabric and Bukkit's Minecraft Biome Config have been cleaned up and Bukkit now supports the full range of options
- Noise addon changes:
- Both
FBMand the basicArithmeticSamplersamplers now implement theDerivativeNoiseSamplerAPI - You can now turn off salting the noise lookup of the Cellular sampler with the new
salt-lookupparameter - New
LINEAR_MAPnormalizer
Paralithic changes:
- Adds support for Paralithic let expressions. Let expressions enable the ability to bind names to expressions within the context of another expression, e.g.
5 + let
a := 3.5,
b := a^2, // Optional trailing comma
in a * b * (let d := sqrt(x) in cos(d))
`
- As the introduction of let expressions may break config packs and the noise predicate addon (which uses the
in invocation variable reserved as a keyword in let expressions), this must explicitly be enabled in pack.yml via the following:`
expressions:
options:
enable-let-expressions: true
`
- The noise predicate addon will use
input instead of in if let expressions are enabled, which currently affects only the EXPRESSION_NORMALIZER` sampler - Support for Minecraft 1.21.4
- Allay platform support
- Minestom platform support
- Improvements to the CLI generator
- Various other changes, optimizations, and bug fixes
Config pack development changes:
- Platform Minecraft Biome Config:
- Both Fabric and Bukkit's Minecraft Biome Config have been cleaned up and Bukkit now supports the full range of options
- Noise addon changes:
- Both
FBMand the basicArithmeticSamplersamplers now implement theDerivativeNoiseSamplerAPI - You can now turn off salting the noise lookup of the Cellular sampler with the new
salt-lookupparameter - New
LINEAR_MAPnormalizer
Paralithic changes:
- Adds support for Paralithic let expressions. Let expressions enable the ability to bind names to expressions within the context of another expression, e.g.
5 + let
a := 3.5,
b := a^2, // Optional trailing comma
in a * b * (let d := sqrt(x) in cos(d))
`
- As the introduction of let expressions may break config packs and the noise predicate addon (which uses the
in invocation variable reserved as a keyword in let expressions), this must explicitly be enabled in pack.yml via the following:`
expressions:
options:
enable-let-expressions: true
`
- The noise predicate addon will use
input instead of in if let expressions are enabled, which currently affects only the EXPRESSION_NORMALIZER` sampler - Support for Minecraft 1.21.1
- Support for Java 21
- Various other minor changes, optimizations, and bug fixes
Config pack development changes:
- New Feature Stage Blending allows for biomes to mix features in from surrounding biomes
- Controlled using new
blend.samplerandblend.amplitudefeature generation parameters - Noise sampler changes:
- New
PESUDOEROSIONsampler added via theconfig-noise-functionaddon - Makes use of the new
DerivativeNoiseSamplerAPI currently implemented byOPEN_SIMPLEX_2' and 'OPEN_SIMPLEX_2S - Terrascript changes:
- New
Saltedsampler functions which accept an additional integer argument that adds salt to the sampler - Slant Palettes can now be disabled using the new
slant.disable-palettesparameter
- Support for Minecraft 1.21.1
- Support for Java 21
- Various other minor changes, optimizations, and bug fixes
Config pack development changes:
- New Feature Stage Blending allows for biomes to mix features in from surrounding biomes
- Controlled using new
blend.samplerandblend.amplitudefeature generation parameters - Noise sampler changes:
- New
PESUDOEROSIONsampler added via theconfig-noise-functionaddon - Makes use of the new
DerivativeNoiseSamplerAPI currently implemented byOPEN_SIMPLEX_2' and 'OPEN_SIMPLEX_2S - Terrascript changes:
- New
Saltedsampler functions which accept an additional integer argument that adds salt to the sampler - Slant Palettes can now be disabled using the new
slant.disable-palettesparameter
With this version config developers should update their config packs translating
minecraft:grass to minecraft:short_grass and updating entity ids from ZOMBIE to minecraft:zombie, for example.With this version config developers should update their config packs translating
minecraft:grass to minecraft:short_grass and updating entity ids from ZOMBIE to minecraft:zombie, for example.- Support for Minecraft 1.20.2
- Experimental** support for Folia
- The removal of a dedicated Quilt platform. Quilt users may now use the Fabric jar instead
- Various other minor changes, optimizations, and bug fixes
Config pack development changes:
- New
SCATTERED_OREconfig type added via theconfig-oreaddon - Terrascript changes:
- New
rsqrtfunction - Additional optional boolean argument to the
blockfunction that determines if the block should use physics (Such as setting water to flow on generation) - Noise sampler changes:
- New sampler
DISTANCE- Provides the distance from a configured position - New sampler
TRANSLATE- Allows translating sampler coordinate inputs - New sampler
EXPRESSION_NORMALIZER- Allows modifying the output of a sampler using an expression - New
LocalNoiseLookupCELLULAR sampler return type - Uses coordinates relative to closest cell origin for noise lookup - New **experimental** optional image caching parameters available in
pack.ymlto reduce memory usage once images are no longer needed: images.cache.load-on-use: true- Only load images into memory upon first useimages.cache.timeout: SECONDS- Delay to unload an image after last use
- Support for Minecraft 1.20.2
- Experimental** support for Folia
- The removal of a dedicated Quilt platform. Quilt users may now use the Fabric jar instead
- Various other minor changes, optimizations, and bug fixes
Config pack development changes:
- New
SCATTERED_OREconfig type added via theconfig-oreaddon - Terrascript changes:
- New
rsqrtfunction - Additional optional boolean argument to the
blockfunction that determines if the block should use physics (Such as setting water to flow on generation) - Noise sampler changes:
- New sampler
DISTANCE- Provides the distance from a configured position - New sampler
TRANSLATE- Allows translating sampler coordinate inputs - New sampler
EXPRESSION_NORMALIZER- Allows modifying the output of a sampler using an expression - New
LocalNoiseLookupCELLULAR sampler return type - Uses coordinates relative to closest cell origin for noise lookup - New **experimental** optional image caching parameters available in
pack.ymlto reduce memory usage once images are no longer needed: images.cache.load-on-use: true- Only load images into memory upon first useimages.cache.timeout: SECONDS- Delay to unload an image after last use
library-image addon. Notable new capabilities include:- Image stitching support for large scale image distribution.
- Coordinate transformations on images, allowing the configuration of the world position of images.
- More flexible color to biome mappings.
- Distance transform noise sampler, allowing applications such as height maps from pure-black/pure-white images.
- Image source for pipeline v2.
You can find the documentation for this new addon here: https://terra.polydev.org/config/documentation/image/index.html
In addition are the following changes:
- Fixed a bug in pipeline v2 where the correct base biome was not returned, resulting in extrusions incorrectly working.
- Added a new alternative method of calculating slant palettes that better supports overhanging terrain.
- Reduced the amount of caching done by pipeline v2, reducing memory consumption for applicable config packs.
- Fixed relative offset handling for Sponge v2 schematics exported by WorldEdit and Sponge v3 schematics.
library-image addon. Notable new capabilities include:- Image stitching support for large scale image distribution.
- Coordinate transformations on images, allowing the configuration of the world position of images.
- More flexible color to biome mappings.
- Distance transform noise sampler, allowing applications such as height maps from pure-black/pure-white images.
- Image source for pipeline v2.
You can find the documentation for this new addon here: https://terra.polydev.org/config/documentation/image/index.html
In addition are the following changes:
- Fixed a bug in pipeline v2 where the correct base biome was not returned, resulting in extrusions incorrectly working.
- Added a new alternative method of calculating slant palettes that better supports overhanging terrain.
- Reduced the amount of caching done by pipeline v2, reducing memory consumption for applicable config packs.
- Fixed relative offset handling for Sponge v2 schematics exported by WorldEdit and Sponge v3 schematics.
library-image addon. Notable new capabilities include:- Image stitching support for large scale image distribution.
- Coordinate transformations on images, allowing the configuration of the world position of images.
- More flexible color to biome mappings.
- Distance transform noise sampler, allowing applications such as height maps from pure-black/pure-white images.
- Image source for pipeline v2.
You can find the documentation for this new addon here: https://terra.polydev.org/config/documentation/image/index.html
In addition are the following changes:
- Fixed a bug in pipeline v2 where the correct base biome was not returned, resulting in extrusions incorrectly working.
- Added a new alternative method of calculating slant palettes that better supports overhanging terrain.
- Reduced the amount of caching done by pipeline v2, reducing memory consumption for applicable config packs.
- Fixed relative offset handling for Sponge v2 schematics exported by WorldEdit and Sponge v3 schematics.
1.19.3 required a lot of internal changes to how Terra interfaces with Minecraft. This release is intended to test those changes before a full beta release.