Terra Rasa is a Fabric library for replacing dedicated or integrated server worlds while the server keeps running. It prepares fresh, seeded dimensions in the background, then promotes them under their **real canonical dimension keys**. Players stay connected, and vanilla continues to see `minecraft:overworld`, `minecraft:the_nether`, and `minecraft:the_end` as the active worlds.
That canonical identity is the key difference from temporary-world or dimension-alias approaches: vanilla itself continues to own portal travel, spawn selection, the End fight and gateways, credits, `/seed`, advancements, and data packs that target those dimensions. Terra Rasa replaces the levels behind the keys; it does not emulate each feature around a temporary dimension.
## What the library provides
| Utility | What it does |
|---|---|
| `DimensionPolicy` | Declares which dimensions are replaced, which service dimensions persist, and leaves every other dimension untouched. |
| `PinnedSeed` | Keeps persistent and external dimensions on the world's original seed while resettable dimensions use the new world seed. |
| `WorldPreparationService` | Builds fresh levels under isolated staging identities, finds the vanilla spawn, preloads it, optionally pregenerates configured areas, and publishes a durable ready manifest. |
| Live pregeneration | Paces the remaining area after activation, records progress, and resumes it after a restart. The host configures per-dimension radii through `WorldPreparationService`. |
| `CanonicalActivationService` | Drains old levels, promotes staged world data, constructs new vanilla levels under canonical keys, and rolls back on failure. |
| Startup recovery | Uses the activation journal to finish or undo an interrupted swap before vanilla opens dimension storage. |
| `SessionReset` | Resets vanilla's server-owned and per-player run state through live server objects. Hosts choose whether and when to call it. |
| `CanonicalLevelEvents` | Lets mods that cache level objects veto retirement or rebind to replacement levels. A Chunky adapter is included and loaded only when Chunky is present. |
The host mod owns the game rules, player flow, and the decision to reset session state. See [Host integration](docs/host-integration.md) for the lifecycle and [Library reference](docs/reference.md) for the utilities and storage model.
## Requirements
Terra Rasa provides a separate build for each supported Minecraft version:
| Minecraft | Java | Fabric Loom | Fabric API |
|---|---|---|---|
| 1.21.11 | 21 | 1.17.21 | 0.141.6+1.21.11 |
| 26.1 | 25 | 1.18.4 | 0.145.1+26.1 |
| 26.1.1 | 25 | 1.18.4 | 0.145.4+26.1.1 |
| 26.1.2 | 25 | 1.18.4 | 0.155.3+26.1.2 |
| 26.2 | 25 | 1.18.4 | 0.161.0+26.2 |
| 26.3 | 25 | 1.18.4 | 0.165.0+26.3 |
Each build uses Fabric Loader 0.19.5. The full target list is maintained in [`gradle/minecraft-targets.json`](gradle/minecraft-targets.json), and CI builds every target. Terra Rasa 0.3.0 introduced support for dedicated servers and integrated single-player/LAN hosts across the listed targets. Version 0.3.1 fixes legacy Overworld activation on Minecraft 1.21.11.

