test: add automated latitude validation via GameTest server
Run `./gradlew runGameTestServer` to validate the latitude biome system without manual in-game testing. Boots a headless game server (full biome registry), samples a 32000x32000 grid through LatitudeBiomeSource, renders a PNG map and writes a distribution report, then asserts climate invariants: - spawn on a safe biome (plains/forest) - FROZEN band dominated by cold/frozen biomes (>60%) - HOT band dominated by warm/hot biomes (>60%) - swamp remains rare in the temperate band (<15%) Outputs land in run/gametest-results/latitude/ (latitude_map.png + latitude_report.txt). Sampling is BiomeSource-only (no chunk generation), so it runs in ~35s regardless of installed mods. - LatitudeGameTest: @GameTestHolder + @PrefixGameTestTemplate(false) - structure/empty_1x1.nbt: minimal 1x1x1 air structure required by GameTest - build.gradle: add gameTestServer run configuration
This commit is contained in:
@@ -52,6 +52,11 @@ neoForge {
|
||||
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
||||
}
|
||||
|
||||
gameTestServer {
|
||||
type = 'gameTestServer'
|
||||
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
||||
}
|
||||
|
||||
data {
|
||||
data()
|
||||
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
|
||||
|
||||
Reference in New Issue
Block a user