Getting started¶
Horizon-QA ships as a Forge mod (horizonqa) that other mods depend on at development and CI time. Tests are plain Java classes discovered at runtime via @GameTestHolder / @GameTest; there is no separate registration step.
What you will have at the end
A runServer task that launches Minecraft with --mcJvmArgs="-Dhorizonqa.mode=ci", runs the selected tests in your mod, and writes JUnit XML plus status JSON reports for CI.
Prerequisites¶
- A GTNH-style Gradle mod project (uses the GTNH Gradle convention plugin).
- Java 8 bytecode for mod code. The docs site and CI tooling can use newer JDKs.
- Familiarity with Forge 1.7.10 dev environments:
runClientandrunServershould already work for your mod.
Learning path¶
The three pages below are sequenced; skim them in order if you are new to the framework.
- Enable & run: JVM flag, dedicated world,
/horizonqacommands, examples mod. - Your first test: minimal
@GameTest, assertions, success conditions. - Mod project setup: Gradle dependency, classpath assets, package layout.
Examples mod¶
The repository includes examples/, a Gradle subproject that depends on Horizon-QA and GT5-Unofficial. Use it as a runnable reference:
examples/src/main/java/.../tests/ # @GameTest classes
examples/src/main/resources/assets/<namespace>/horizonqastructures/
See Examples mod for the Gradle wiring.
Where to go next¶
| Goal | Page |
|---|---|
| Export and reference structures | Structure templates |
| Smelt a recipe in an EBF | GTNH multiblock API |
| Wire CI | CI & JUnit reports |
| Work out why a test failed | Debugging failed tests |
Look up @GameTest attributes | Annotations |