fix: improve threaded world compatibility and chunk reads in 1.1.15

Add regression tests and per-dimension progress diagnostics. Document the unresolved C2ME random-initialization redirect conflict.
This commit is contained in:
Disy committed 2026-10-03 21:24:31 +08:00
1 parent 74cae0b581
commit 32b11aee87
42 files changed
+1506 -381

No files matched your search

+29
View File
@@ -76,6 +76,12 @@ dependencies {
implementation "net.neoforged:neoforge:${neo_version}"
}
// Opt-in isolated runtime fixture; excluded from normal builds.
if (providers.gradleProperty('interactionRegression').isPresent()) {
sourceSets.main.java.srcDir('tests/integration')
sourceSets.main.java.exclude('**/ChunkHandoffRegression.java')
}
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version,
@@ -107,3 +113,26 @@ idea {
downloadJavadoc = true
}
}
// Pure-Java scheduling regressions run in check without bootstrapping Minecraft.
def regressionClasses = layout.buildDirectory.dir('regression')
tasks.register('compileConcurrencyRegression', JavaCompile) {
source = files('tests/TaskBarrierRegression.java', 'tests/ManagedFutureAwaitRegression.java',
'src/main/java/dev/modzuozhi/core/compat/TaskBarrier.java',
'src/main/java/dev/modzuozhi/core/compat/ManagedFutureAwait.java',
'src/main/java/dev/modzuozhi/core/compat/PauseOwnership.java', 'tests/PauseOwnershipRegression.java',
'src/main/java/dev/modzuozhi/core/compat/TickProgress.java', 'tests/TickProgressRegression.java')
classpath = files()
destinationDirectory = regressionClasses
}
['TaskBarrierRegression', 'ManagedFutureAwaitRegression', 'PauseOwnershipRegression', 'TickProgressRegression'].each { regressionMain ->
def regressionTask = tasks.register("run${regressionMain}", JavaExec) {
dependsOn 'compileConcurrencyRegression'
classpath = files(regressionClasses)
mainClass = regressionMain
javaLauncher = javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of(21)
}
}
tasks.named('check') { dependsOn regressionTask }
}