Fork of Alexresh/AreaScanner backported to Minecraft 1.21 (1.21.0), the version the MineWave network runs on. The upstream mod targets 1.21.4. This fork only changes what is needed to build and run on 1.21.0; no features were removed.
Dropping from 1.21.4 to 1.21.0 is not a plain version bump, because Mojang reworked several client APIs in the 1.21.2 snapshot. Three separate layers had to be fixed.
Every upstream release (4.8 through 5.1.4) targets 1.21.4, so there was nothing to reuse. The port had to be done by hand against the 1.21 mappings.
The malilib build this mod depends on (com.github.sakura-ryoko:malilib:1.21-0.21.10)
was compiled with Loom 1.14.10, which refuses to be consumed by the project's older Loom.
That forced a chain of upgrades:
- Loom
1.11-SNAPSHOTto1.14-SNAPSHOT - Gradle
8.14.1to9.6.1(Loom 1.14 needs Gradle 9.2+) - JDK 21 to build (1.21 targets Java 21)
| Area | 1.21.4 (upstream) | 1.21.0 (this fork) |
|---|---|---|
| Shaders | ShaderProgramKeys.POSITION_COLOR |
GameRenderer::getPositionColorProgram |
| HUD render | HudLayerRegistrationCallback / IdentifiedLayer |
HudRenderCallback |
| Permission check | ServerPlayerEntity.getPermissionLevel() (now protected) |
hasPermissionLevel(2) |
| World height | World.getTopYInclusive() |
getTopY() - 1 |
| Block state | BlockState.get(property, default) |
getOrEmpty(property).orElse(default) |
| Screen blur | applyBlur() |
applyBlur(float) |
| malilib scrollbar | GuiScrollBar.render(..., DrawContext) |
GuiScrollBar.render(...) (no DrawContext in 0.21.10) |
- Fabric API
0.102.0+1.21 - Yarn
1.21+build.9 - malilib
1.21-0.21.10(sakura-ryoko fork) - clientarguments
1.9(bundled via jar-in-jar)
./gradlew build
Output jar lands in build/libs/. Needs JDK 21.