Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ly-nxs/terrarium

Open more actions menu

Repository files navigation

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:terrarium for 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×256 pixels (256×256 blocks ingame).
    • zoom level determines tile count per axis (2^zoom tiles).
      • Example: zoom: 8 = 2⁸ = 256 tiles → 256×256 = 65,536 blocks wide.

🗃️ 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


2025-04-20_17 58 57 2025-04-20_11 15 43 2025-04-20_11 15 26


🛠️ 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

image

/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
}

Releases

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.