Terrarium
Pixel-Perfect Earth Terrain for Minecraft
Generate pixel-perfect worlds from real elevation data, with dynamic tile loading and customizable terrain shaping.
- World type is
terrarium:terrariumfor servers, singleplayer, select earth when creating world and choose customize to change settings per world.
🌐 Terrain Data Pipeline
- Source: AWS S3 (
elevation-tiles-prod/terrarium/{zoom}/{x}/{y}.png) - Temperature and Precipitation Personal Source Hosted on GitHub, I compiled this using QGIS. (
clim-monthly/{month}/{zoom}/{x}/{y}) This is a temporary hosting solution - Pixel-to-Block: 1 pixel = 1 Minecraft block.
- Tile System:
- Each tile =
256×256pixels (256×256blocks ingame). zoomlevel determines tile count per axis (2^zoomtiles).- Example:
zoom: 8=2⁸ = 256tiles →256×256 = 65,536blocks wide.
- Example:
- Each tile =
🗃️ Downloads
- You can download indev test versions here
- Support is not guarunteed for those, only alphas, betas, and releases
-
FabricAPI is required
🏔️ Technical Notes
- Scale Examples:
- zoom: 10 = 1,024 tiles → 262,144×262,144 blocks.
- zoom: 13 = 8,192 tiles → 2,097,152×2,097,152 blocks.
🌩️ Performance:
-
Higher zoom = larger worlds but slower generation.
-
Reduce zoom to 8–10 for survival-friendly sizes.
World Size Comparison
-
zoom: 10 (small - ~1:48) vs. zoom: 13 (planetary-scale - ~1:6).
🖼️ Screenshots:
-
Taken with v0.0.2-beta.2 + Bliss/Photon + WWOO
Zoom: 13 | Height 768

🛠️ How It Works
- Tile Fetching: Downloads 256×256 PNG tiles from AWS based on zoom and caches.
- Height Mapping: Converts RGB pixels to block heights, scaled by additionalAlt.
- Biome Placement: Vanilla biomes mapped using elevation (startingY + altitudeDropoff).
🔧 Configuration

/config/BlossomMods/Terrarium.json:
{
"ELEVATION_URL": "https://s3.amazonaws.com/elevation-tiles-prod/terrarium/", //elevation data source
"TEMPERATURE_URL": "https://raw.githubusercontent.com/ly-nxs/terrarium-data/refs/heads/main/tiles/climate-monthly/", //climate data source
"CACHE_DIR": "./tiles", //tile cache dir
} All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- small fixes
- Better biome placement
- Mostly fixed water/ coast
- Optimizations, uses Future and threading now
- Better biome placement
- Mostly fixed water/ coast
- Optimizations, uses Future and threading now
- fix server sided
- 1.21.8
- multi-loader
- biome mod compat
- Revamped ChunkGen
- Fixes structures?
- biome compat unknown
- /terrarium geo Latitude Longitude command
RU and Terralith Compat
Framework for water
RU and Terralith Compat
Framework for water
RU and Terralith Compat
Framework for water
RU and Terralith Compat
Framework for water
- Better biome placement
- RU and Terralith Compat
- Framework for water
- Super fast CG
- 1.20.1
- 1.20.4
- 1.20.6
- 1.21.5
- 1.21.2
- fixed 768 world height
- Fixed dedi servers
- Fixed config check
- Removed uneccesary getElevation() call (optimization)
- Fixed temperature and precipitation being swapped
- Memory use optimizations
- remove unused imports
- fix 3 world creation issues
Precipitation
I fixed most crashing issues I know of, and optimized some things so here you go!
- changed biome system: data driven!
- faster
- debug info!
- also you actually spawn somewhere now!
- Full Changelog**: https://github.com/ly-nxs/terrarium/compare/v0.0.1-alpha...v0.0.2-alpha.2