Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
Unreleased 1.15.2 test-coverage backport

- Keep energy that a consumer cannot accept available to the rest of its network.
- Check every accessible conveyor slot, respect stack limits and keep different item NBT separate.
- Route overflow into genuinely available slots and save both inventories after a transfer.
- Pick up source fluids through the native bucket interface without deleting waterlogged blocks.
- Stop fluid discharges from replacing solid blocks.
- Backport measured machine jobs, strict restart checks and GUI caption checks from 1.16.
- Preserve failed runs and original jars so repairs can be checked against the same expectations.

Power Advantage 2.4.6.115021 (Minecraft 1.15.2)

- Move to Forge 31.2.57, snapshot mappings 20200514-1.15.1 and MCP 20200515.085601; retain ForgeGradle 7, Gradle 9.6.1 and Java 8 production bytecode.
Expand Down
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
**Minecraft 1.15.2**

Power Advantage 2.4.6.115021 targets Minecraft 1.15.2. See the
[current test record](docs/1.15/CURRENT-QUALIFICATION.md) for the exact jars,
[current test record](docs/1.15/TEST-COVERAGE-BACKPORT.md) for the exact jars,
automated results and remaining limits. Visuals and recipe unlocks were
accepted on 27 October 2026; machine behavior is covered by the recorded
automated tests.
Expand Down Expand Up @@ -93,3 +93,32 @@ The [legacy migration guide](docs/1.13/MIGRATION.md) and
The [1.15 status](docs/1.15/PORT-STATUS.md) links the current qualification.

The historical 1.10 handbook remains on the [1.10.2 branch](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.10.2/docs/1.10/README.md).

## Generator Follow-Up

The [generator follow-up](docs/1.15/TEST-COVERAGE-BACKPORT.md#generator-follow-up) records the older `pa115-candidate-b` inputs.
Its 126 operating jobs and 126 cold checks, 39 GUI windows, 351 caption cases,
355 rejected broken controls, thirteen frozen routes, ten connected routes and
paired 30-minute runs passed. This does not extend the earlier fourteen-route
proof. It is a pre-final Steam-control checkpoint, not qualification of the newer
SteamAdvantage jars or harness. Those still need the final sweep.
Manual play-testing and release review remain separate.

## Final T Candidate

The [final-t checkpoint](docs/1.15/TEST-COVERAGE-BACKPORT.md#final-t-candidate)
records profile `pa115-candidate-d` and its exact jar hashes. All 132 operating
jobs and 132 cold-restart comparisons pass, including an independent audit of
six Steam controls and their nine tile-hold records. GUI checks pass for 39
windows, 351 caption cases and 355 rejected broken controls.
Thirteen frozen routes passed. The verified connected aggregate passes all ten
declared routes across both five-route shards.
Fresh and migrated-copy 30-minute runs pass. Power and Electric retain their
exact-hash release and reproducibility proof; final-t Steam passes its full suite
and two independent export builds. All 18 mod/version release and reproducibility
gates pass across the six maintained Minecraft lines. Both requested broad
profiles and their independent audit pass; the reporter-only unit/replay
qualification preserves the original native proof. Survival harvest checks pass
before and after restart. The report's extra network/drill scopes are now
qualified; manual acceptance remains separate. Earlier checkpoints keep their original scope;
nothing has been published by this local test work.
14 changes: 12 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -1144,14 +1144,24 @@ tasks.register('prepareCombinedEclipseLaunch') {
group = 'ide'
description = 'Creates an additional production-only Eclipse client launch with all three Advantage mods.'
dependsOn tasks.named('verifyEclipseProductionClasspath')
dependsOn tasks.named('deobfJar')
doLast {
def profile = new JsonSlurper().parse(file('test-rig/profiles/native115/dev-core.json'))
File inputProfile = file(providers.gradleProperty('advantageDevelopmentProfile').getOrElse(
'test-rig/profiles/native115/dev-core.json'))
def profile = new JsonSlurper().parse(inputProfile)
if (profile.powerDeobfSha256) {
File powerJar = tasks.named('jar', Jar).get().archiveFile.get().asFile
String powerHash = MessageDigest.getInstance('SHA-256').digest(powerJar.bytes).encodeHex().toString()
if (!powerHash.equalsIgnoreCase(profile.powerDeobfSha256 as String)) {
throw new GradleException("PowerAdvantage does not match the dependency pin in ${inputProfile}: ${powerJar}")
}
}
advantageExtensionJars.each { String id, File jar ->
def pin = profile.mods.find { it.id == id }
if (!jar.isFile()) throw new GradleException("Build ${id} first, or override its *AdvantageDeobfJar property: ${jar}")
String hash = MessageDigest.getInstance('SHA-256').digest(jar.bytes).encodeHex().toString()
if (pin == null || !hash.equalsIgnoreCase(pin.sha256 as String)) {
throw new GradleException("${id} does not match the audited dev-core dependency pin: ${jar}")
throw new GradleException("${id} does not match the dependency pin in ${inputProfile}: ${jar}")
}
}
def launch = new groovy.xml.XmlParser().parse(file('runClient.launch'))
Expand Down
4 changes: 4 additions & 0 deletions docs/1.15/CURRENT-QUALIFICATION.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Advantage 1.15.2 Test Record

> For the locally repaired candidate, read the
> [stronger test-coverage record](TEST-COVERAGE-BACKPORT.md).
> The results below are retained historical evidence for the earlier jars.

This is the local test record for Power Advantage 2.4.6.115021 and Steam and
Electric Advantage 2.2.7.115021 on Forge 31.2.57. It is not a published release.
The 1.14 versions were accepted separately; none of those results is counted
Expand Down
Loading
Loading