Level-of-detail terrain for Minecraft, sampled straight from the world generator
  • Java 81.5%
  • Rust 18.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-05 01:37:06 +01:00
docs meridian 2026-11-05 01:37:06 +01:00
gradle meridian 2026-11-05 01:37:06 +01:00
native meridian 2026-11-05 01:37:06 +01:00
versions meridian 2026-11-05 01:37:06 +01:00
.gitignore meridian 2026-11-05 01:37:06 +01:00
build.gradle.kts meridian 2026-11-05 01:37:06 +01:00
gradle.properties meridian 2026-11-05 01:37:06 +01:00
gradlew meridian 2026-11-05 01:37:06 +01:00
gradlew.bat meridian 2026-11-05 01:37:06 +01:00
README.md meridian 2026-11-05 01:37:06 +01:00
settings.gradle.kts meridian 2026-11-05 01:37:06 +01:00

Meridian

Meridian is a level-of-detail terrain mod for Minecraft. It draws terrain far past the normal render distance by evaluating the world generator directly, so distant land shows up without the game generating those chunks. Chunks you have already visited are recorded and drawn from what you actually saw.

Supported versions

Minecraft Loaders
1.20.1 Fabric, Forge
1.21.1 Fabric, NeoForge
26.1.2 Fabric, NeoForge
26.2 Fabric, NeoForge
26.3 Fabric, NeoForge

Every version renders through OpenGL. 26.2 and 26.3 also have a Vulkan renderer.

How it works

  • When you join, the server sends its world generation settings to the client. The client compiles them into its own sampler, which computes surface height, biome, top blocks, water and tree cover per column.
  • Columns are sampled into tiles at several detail levels and meshed on worker threads.
  • Tiles are stored in a native database and drawn with GPU-driven culling and indirect draws.
  • Worldgen from other mods runs through the game's own code when the sampler does not understand it, and a few popular libraries (TerraBlender, Lithostitched, Biolith, Tectonic and others) are handled directly.

Layout

Path Contents
versions/common Shared engine: sampler, tiles, meshing, storage and rendering. No Minecraft classes.
versions/<version> Minecraft code for each version, with common, fabric and neoforge or forge projects.
native Rust code: the LOD database and mesher used in game, plus the reference sampler, parity harnesses and tools used for testing.
docs Notes on recorded terrain and world import.

Building

You need JDK 25 to run Gradle and a Rust toolchain with cargo on your path.

./gradlew build

Gradle builds the native library through cargo. Built mod jars are copied to all-builds/.

The native tests run on their own:

cd native/worldgen
cargo test --release

License

All rights reserved.