Tags
Creators
Details
1.0
Compatibility
Changes
VoxelEarth 1.0
Real places, in Minecraft — now in a single, CPU-only plugin.
VoxelEarth 1.0 is our first “real” release of the Minecraft plugin + tools pipeline for streaming Google Photorealistic 3D Tiles (and other 3D Tiles sources) into Minecraft as voxels.
Walk around a fresh world and watch real cities, landmarks, and terrain appear around you — block by block.
🧱 Highlights
-
Single-JAR Minecraft plugin
No Node.js, no CUDA, no external scripts required on the server. Just drop the VoxelEarth jar (and optionally FAWE) intoplugins/. -
1.20+ support with FAWE integration
Designed and tested primarily on Paper 1.20.4 with Java 21+, with a BlockPlacer path that works without FAWE and a FAWE path for high-throughput edits on newer servers. -
End-to-end CPU voxelization
Complete CPU pipeline for:
3D Tiles → Draco decode → GLB → voxel JSON → Minecraft blocks. -
Split pipeline for easier development
Each stage has its own focused CLI:java-3dtiles-downloader– fetch 3D Tiles leaves fast.java-draco-decoder– decode Draco GLBs to plain GLB.java-cpu-voxelizer– voxelize GLB into the same JSON format the plugin consumes.
-
Web client for experiments
A lightweight web viewer to explore tiles in your browser and experiment with regions/parameters before you spin up a server:
https://github.com/voxelearth/web-client
⚠️ Important: FAWE & Version Notes
VoxelEarth 1.0 has two placement paths:
-
Paper/Spigot 1.20.4
- ✅ Works with or without FAWE.
- When FAWE is present, VoxelEarth uses it for fast bulk edits.
- When FAWE is missing, it falls back to its internal
BlockPlacerpath.
-
Paper/Spigot 1.20+ (non-1.20.4)
- 🟡 We strongly recommend installing FAWE for your server version.
- The plugin is compiled against 1.20.4’s API; FAWE smooths over a lot of version differences and gives you async, high-throughput world edits.
Reminder:
For 1.20.4 servers, VoxelEarth can run standalone.
For other 1.20+ versions, drop FAWE intoplugins/next to VoxelEarth.
Quick FAWE link (the version we build & test against):
- FastAsyncWorldEdit (FAWE) 2.12.3:
https://github.com/IntellectualSites/FastAsyncWorldEdit/releases/download/2.12.3/FastAsyncWorldEdit-Bukkit-2.12.3.jar
📦 Downloads
Adjust filenames if you use different asset names; this is the typical layout.
-
VoxelEarth 1.0 Minecraft plugin
VoxelEarth-1.0.jar
https://github.com/ryanhlewis/VoxelEarth/releases/download/1.0/VoxelEarth-1.0.jar -
FastAsyncWorldEdit 2.12.3 (recommended)
FastAsyncWorldEdit-Bukkit-2.12.3.jar
https://github.com/IntellectualSites/FastAsyncWorldEdit/releases/download/2.12.3/FastAsyncWorldEdit-Bukkit-2.12.3.jar -
CLI tools (optional but great for dev):
- Downloader: https://github.com/voxelearth/java-3dtiles-downloader
- Draco decoder: https://github.com/voxelearth/java-draco-decoder
- CPU voxelizer: https://github.com/voxelearth/java-cpu-voxelizer
- Web client: https://github.com/voxelearth/web-client
🖥 Requirements
- Server: Paper or Spigot 1.20.4+
- Java: Java 21+ (plugin compiled with
--release 21) - Plugins:
- Recommended: FastAsyncWorldEdit for your Minecraft version.
- VoxelEarth will still run without FAWE on 1.20.4 via its internal BlockPlacer.
🚀 Quick Start (1.20.4 Example)
Basic Linux setup:
mkdir -p ~/paper-server
cd ~/paper-server
# Paper 1.20.4
wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/499/downloads/paper-1.20.4-499.jar -O paper.jar
mkdir -p plugins
# FAWE (recommended)
wget -O plugins/FastAsyncWorldEdit-Bukkit-2.12.3.jar \
https://github.com/IntellectualSites/FastAsyncWorldEdit/releases/download/2.12.3/FastAsyncWorldEdit-Bukkit-2.12.3.jar
# VoxelEarth plugin (from this release)
wget -O plugins/VoxelEarth-1.0.jar \
https://github.com/ryanhlewis/VoxelEarth/releases/download/1.0/VoxelEarth-1.0.jar
echo "eula=true" > eula.txt
java -Xms2G -Xmx4G -jar paper.jar nogui
Full Changelog: https://github.com/ryanhlewis/VoxelEarth/commits/1.0
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:YfVhslVt:gVmmOIwU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:YfVhslVt:gVmmOIwU"
}

