Terrarium
Create realistic Earth landscapes in Minecraft with pixel-perfect accuracy
This mod enables the generation of worlds based on real Earth terrain data, featuring dynamic tile loading and customizable terrain shaping parameters.
📊 Terrain Data System
The mod utilizes multiple data sources to create maximally realistic terrain:
- Elevation data: AWS S3 (
elevation-tiles-prod/terrarium/{zoom}/{x}/{y}.png) - Temperature and precipitation: Compiled data hosted on GitHub (
clim-monthly/{month}/{zoom}/{x}/{y}) - temporary solution - Scaling: 1 pixel = 1 Minecraft block
Tile System
Each tile represents an area of 256×256 pixels (256×256 blocks in-game). The zoom level determines the number of tiles per axis: 2^zoom tiles. For example, at zoom: 8, you get 256 tiles, creating a world 65,536 blocks wide.
⚙️ Technical Features
World Sizes
- 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 levels create enormous worlds but slow down generation. For comfortable survival gameplay, it's recommended to use zoom from 8 to 10.
Size Comparison
zoom: 10 (small world - ~1:48) vs zoom: 13 (planetary scale - ~1:6)
🖼️ Screenshots
Zoom: 13 | Height 768
Shots taken using v0.0.2-beta.1 + Conquest Reforged + Photon/UShader
🔧 How It Works
- Tile loading: Downloads 256×256 PNG tiles from AWS based on zoom level and caches them
- Height mapping: Converts RGB pixels to block heights with scaling via additionalAlt
- Biome placement: Vanilla biomes are distributed using elevation (startingY + altitudeDropoff)
⚙️ Configuration
Configuration file: /config/BlossomMods/Terrarium.json
{
"zoom": 13, // 2¹³ tiles = 8,192 tiles wide (≈2M blocks at 256px/tile)
"worldHeight": 768, // Maximum Y height
"startingY": 0, // Base height offset (negative for deeper oceans)
"adjustXoffset": 400000, // Position on the map for world generation: essentially spawn location!
"adjustZoffset": 800000,
"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 directory
"month": 0, // month for climate data, currently only january - 0, and february - 1
"noise_biome_scale": 0.01 // scale for biome noise factor
}
📥 Requirements
BlossomLib and FabricAPI are required for the mod to function.