Build, CI and Release
Documentation baseline: VoxelCore
mainat452b569· 14 September 2026.
Repository: https://github.com/VoxelHorizons/VoxelCore
Maven reactor
Build all distribution artifacts:
mvn -U clean package
Build one family plus required modules:
mvn -pl voxelcore-v1_19_4 -am clean package
Java release targets
The root defaults to Maven release=8; newer modules override it:
- v1.12 and v1.14 families: Java 8 bytecode;
- v1.19.4 family: Java 17;
- v1.20.5 and v1.21.4 families: Java 21;
- v26.2: Java 25.
CI itself sets up JDK 25 so Maven can compile all of those modules in one reactor. The Shade plugin is 3.6.2, which supports the Java 25 build path used by the newest module.
Distribution packaging
Each version module shades the common/plugin implementation and relocates SnakeYAML to org.voxelhorizons.shaded.snakeyaml to avoid collisions with YAML libraries supplied by old server platforms.
Representative final names:
VoxelCore-<version>-mc1.12-1.13.jar VoxelCore-<version>-mc1.14-1.19.3.jar VoxelCore-<version>-mc1.19.4-1.20.4.jar VoxelCore-<version>-mc1.20.5-1.21.3.jar VoxelCore-<version>-mc1.21.4.jar VoxelCore-<version>-mc26.2.jar
CI workflows
The repository contains:
.github/workflows/build.yml— builds all distributions and publishes/upload artifacts;.github/workflows/mvp-smoke.yml— live-server compatibility matrix;.github/scripts/mvp-smoke.sh— behaviour assertions inside each smoke environment.
The current smoke matrix has seven rows and uses Java 25/Paper for Minecraft 26.2 alongside the older Java/runtime combinations.
See Products/Voxel-Horizons/VoxelCore/Testing for what the matrix proves.