Documentation
Compatibility
Exact versions, supported platforms, and what works with what.
Version matrix
| Component | Required version | Tested with |
|---|---|---|
| Minecraft | 1.20.1 | 1.20.1 |
| Minecraft Forge | 47.x (47.2.0+) | 47.2.0 |
| Java (runtime) | 17 or newer | 17, 21 |
MTR (modId mtr) | ≥ 4.0.2-hotfix-1 | 4.0.2-hotfix-1 |
| Xaero’s Minimap | ≥ 25.3.10 | 25.3.10 |
| Xaero’s World Map | ≥ 1.40.11 | 1.40.11 |
| Gradle (building from source) | 8.8 (wrapper included) | 8.8 |
The mod’s mods.toml declares the Minecraft range as [1.20.1, 1.21) and the Forge loader range as [47,). MTR’s declared range is [4.0.2-hotfix-1,). Xaero’s mods are declared with versionRange="*" (any) and ordering="AFTER", side="CLIENT".
What works without what
| You have | Waypoint sync | Route overlay | Notes |
|---|---|---|---|
| MTR + Xaero Minimap + Xaero World Map | ✅ | ✅ | Full feature set. |
| MTR + Xaero Minimap only | ✅ | — | World map mixins are skipped; mod loads safely. |
| MTR + Xaero World Map only | — | ✅* | Waypoint sync needs Minimap’s WaypointSet. Route overlay still draws on the world map. |
| MTR only | — | — | Mod loads, does nothing visible. /mtrsurveyor syncWaypoints will report Xaero isn’t installed. |
| No MTR | — | — | Nothing to map. Mod still loads. |
* In practice you almost always have both Xaero mods installed together — that’s the supported configuration.
Server-side
- Server does not need MTR Surveyor. The mod is client-only.
- The server does need MTR (so that MTR data is streamed to your client). On a server without MTR, there’s simply no data to map.
- The config file
mtrsurveyor.tomlis registered asModConfig.Type.COMMON, so it’s generated on both sides, but only the client ever reads it meaningfully.
Java notes
- The mod compiles to Java 17 bytecode (
compatibilityLevel: "JAVA_17"in the mixin config). - It runs fine on a Java 21 runtime — the CI build uses Temurin 21.
- If you’re building from source, the Gradle JVM should be 17 or 21.
Other map mods
MTR Surveyor targets Xaero’s mods specifically. It does not work with:
- JourneyMap
- BlueMap
- Antique Atlas
- FTB Chunks / FTB Map
There is a separate sibling project (mtrsurveyor-journeymap) in the original AmberFrost repository that targets the Surveyor Map Framework / Antique Atlas — it is unrelated to this Xaero-focused fork.
Build from source
git clone https://github.com/BenLi06/mtrsurveyor.git
cd mtrsurveyor
./gradlew build # output: build/libs/CRTools-MTR-Xaero-Mapper-1.0.0.jar
Requires JDK 17 or 21. The Gradle wrapper (8.8) is included.