You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bb70238
Browse filesBrowse the repository at this point in the historyBrowse files
**Minecraft 1.16.5, version 2.4.7.116051. Source port candidate.**
3
+
**Minecraft 1.17.1, version 2.4.9.117011. Local test candidate.**
4
4
5
-
See the [1.16 port record](docs/1.16/PORT-STATUS.md) for current checks and remaining
6
-
work. The accepted [1.15 test record](docs/1.15/CURRENT-QUALIFICATION.md) is retained
7
-
as historical evidence, not a pass for this version. Manual 1.16 acceptance is
8
-
still required.
5
+
See the [1.17 port record](docs/1.17/PORT-STATUS.md) for this candidate's
6
+
validation status. The retained 1.16 and earlier reports are historical evidence,
7
+
not passes for 1.17. Manual testing follows the current automated qualification.
9
8
10
-
The [test-suite review](docs/1.16/TEST-SUITE-AUDIT.md) separates operating checks
11
-
from saved-state and presence checks. It records the remaining machine coverage
12
-
gaps; a green build does not qualify every machine setup.
13
-
14
-
The follow-up [machine operating checks](docs/1.16/OPERATING-TESTS.md) use finite
15
-
inputs, real server ticks, blocked and starved controls, and full-process
16
-
restarts. They check useful output and retained resources, not just animation
17
-
or a rising progress counter.
18
-
19
-
Power Advantage provides shared power, fluids, item transport and compatibility APIs for Steam Advantage and Electric Advantage.
9
+
basePower continues DrCyano's Power Advantage. It provides shared power,
10
+
fluids and item transport for baseSteam and baseElectric.
20
11
21
12
**Back up the entire world before upgrading. Test only disposable copies.**
22
13
The port retains existing registry names and legacy migration code. Upgrade tests
@@ -29,21 +20,20 @@ Recipe-book discovery now follows relevant ingredients. See the [all-Advantage m
29
20
30
21
The [manufacturing progression audit](docs/1.13/MANUFACTURING-PROGRESSION.md) traces survival parts from raw resources, including configured material aliases, processing, loot-only parts and automated restart checks.
31
22
32
-
## Building Minecraft 1.16.5
23
+
## Building Minecraft 1.17.1
33
24
34
-
The `master-1.16.5` build uses Forge 36.2.34, official `1.16.5` mappings,
35
-
MCP `20210115.111550`, ForgeGradle 7.0.34 and Gradle 9.6.1.
36
-
Run Gradle with Java 17 and compile production code with Java 8. Mavenizer also
37
-
needs Java 25. CI pins all three JDKs. Pass the installed homes using
38
-
`-Porg.gradle.java.installations.paths=<java8>,<java17>,<java25>` and disable
25
+
The `master-1.17.1` build uses Forge 37.1.1, official `1.17.1` mappings,
26
+
MCP `20210706.113038`, ForgeGradle 7.0.34 and Gradle 9.6.1.
27
+
Run Gradle with Java 17 and compile and run production code with Java 16. Mavenizer also
28
+
needs Java 25. CI pins these JDKs and Java 8 for the legacy renamer. Pass the installed homes using
29
+
`-Porg.gradle.java.installations.paths=<java8>,<java16>,<java17>,<java25>` and disable
39
30
automatic discovery and downloads for a reproducibility check.
40
31
41
-
Build the pinned Base Metals `3.1.1.116051` and OreSpawn `4.1.0.116051` deobf jars first.
42
-
The exact Base Metals source is
43
-
`995f6cc4dd2d5eecc628a42e5c43fa5390c24bca`. CI builds that dependency first;
44
-
the checksums and complete source pins are in `gradle.properties`.
32
+
Build the pinned Base Metals `3.1.1.117011` and OreSpawn `4.1.0.117011` deobf jars first.
33
+
Use Base Metals 3.1.1 for its 1.17.1 startup fix. The build pins the exact
34
+
dependency source and checksums in `gradle.properties`.
45
35
46
-
Then run from `D:\PowerAdvantage\PA116\PowerAdvantage`:
Other layouts can pass `-PbaseMetalsDeobfJar=<path>` and `-PoreSpawnDeobfJar=<path>`.
@@ -75,40 +65,35 @@ Refresh the project in Eclipse, allow its Java build to finish, and launch the g
75
65
76
66
Eclipse copies production resources from `build/resources/main`, not directly from `src/main/resources`. This prevents its builder from overwriting the expanded `mods.toml` with raw `${version}` placeholders. After updating this setup, use **Gradle > Refresh Gradle Project**, then **Project > Clean** before relaunching. After editing resources or version properties, run `processResources` or refresh the Gradle project before the Eclipse build. See the [metadata regression notes](docs/1.13/ECLIPSE-METADATA.md).
77
67
78
-
To prepare a combined client, build the Steam/Electric `2.2.8.116051` deobf jars,
68
+
To prepare a combined client, build the baseSteam and baseElectric `2.2.10.117011` deobf jars,
79
69
run `gradlew.bat prepareCombinedEclipseLaunch`, refresh Eclipse, then launch
80
70
`runClientAllAdvantage.launch`. Inputs must match
81
-
`test-rig/profiles/native116/dev-core.json`; alternative layouts can pass
71
+
`test-rig/profiles/native117/dev-core.json`; alternative layouts can pass
82
72
`-PsteamAdvantageDeobfJar=<path>` and `-PelectricAdvantageDeobfJar=<path>`.
83
73
The ordinary `runClient.launch` remains Power-only. Both use the `run` directory;
84
74
preparing a launch does not copy, open or qualify a save.
85
75
86
-
The local GUI corrections have separate input hashes, keeping the earlier machine
87
-
test profiles unchanged. To prepare that combined preview, run
See the [GUI checks](docs/1.16/GUI-CHECKS.md) for coverage and the repeatable command.
90
-
91
76
`check` and Eclipse preparation also run `verifyDevelopmentRuntimeArchives`,
92
77
which reads every development runtime jar entry and checks its size and CRC.
93
78
This catches damaged cached dependencies before the next test launch.
94
79
95
-
Client-resource and recipe-book checks must use the exact 1.16 candidate. Manual
96
-
visual and interaction acceptance remains separate.
97
-
98
-
The migration test fixtures do not import restricted JDK internals. A plain ECJ
99
-
batch compile does not apply Eclipse's JRE access rules automatically. After
100
-
`eclipseClasspath` and `test`, run `tools/verification/Verify-EclipseCompilation.ps1`
101
-
with `-Compiler <ecj.jar>`, `-Java17Home <jdk17>`, `-Java8Home <jdk8>` and
102
-
`-Evidence <new-directory>` to compile fresh main/test classes with restricted
103
-
references treated as errors, then run the tests on Java 8. Keep Eclipse's
104
-
access-restriction checks enabled.
80
+
Client-resource and recipe-book checks must use the exact 1.17 candidate.
81
+
See the [client test instructions](test-rig/client-resources/README.md).
82
+
Manual visual and interaction acceptance remains separate. The retained Java 8
83
+
Eclipse compiler script is historical tooling, not a 1.17 verification command.
84
+
Keep Eclipse's access-restriction checks enabled and use Java 16 for its project
85
+
JRE and Minecraft launches.
86
+
The [native Eclipse compiler check](tools/verification/native117/README.md)
87
+
compiles fresh production and test outputs, then runs the complete unit-test
88
+
inventory on Java 16 without replacing the built mod jars.
105
89
106
90
## Compatibility
107
91
108
-
The implementation namespace remains `zone.moddev.mc.poweradvantage`, with the
109
-
historical `cyano.poweradvantage.api` package retained. The port keeps registry,
110
-
fluid, tile, NBT and provider identities. The current test record distinguishes
111
-
machine preservation, actual operation and vanilla migration differences.
92
+
The implementation namespace is `zone.moddev.mc.basepower`. The historical
93
+
`cyano.poweradvantage.api` package remains available. The port keeps basePower's
94
+
registry names and saved machine data and maps the older Power Advantage names.
95
+
The test record distinguishes state preservation, real operation and changes
96
+
made by Minecraft itself.
112
97
113
98
The upgrade path prepares stored items before vanilla flattening and converts
114
99
entities individually, so a mod entity cannot prevent a nearby pet's UUID and
@@ -118,13 +103,13 @@ silently discarded.
118
103
Legacy Forge swimming speed, name-tag distance, gravity and player reach use
119
104
their native registry names without discarding saved values or modifiers.
120
105
121
-
The 1.16 port uses native dimension registry keys, tile save/load methods and
122
-
matrix-based menus. Config-dependent material aliases are resolved during the
123
-
server's native tag load and synchronized to clients. The shared pre-flattening
124
-
migration hook remains necessary; its presence is not proof that an upgrade is safe.
106
+
The port uses native dimension registry keys, block-entity factories and tickers,
107
+
capabilities and menus. Config-dependent material aliases are additive server
108
+
data-pack tags. The shared pre-flattening migration hook remains necessary;
109
+
its presence is not proof that an upgrade is safe.
125
110
126
-
The [legacy migration guide](docs/1.13/MIGRATION.md)and
127
-
[Advantage Works rig](test-rig/README.md)describe the earlier protocols.
128
-
The [1.16 status](docs/1.16/PORT-STATUS.md) tracks this port's qualification.
111
+
The [legacy migration guide](docs/1.13/MIGRATION.md)describes the earlier protocols.
112
+
Use the [native Advantage Works guide](test-rig/NATIVE117.md)for this checkout.
113
+
The [1.17 status](docs/1.17/PORT-STATUS.md) tracks this port's qualification.
129
114
130
115
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).
0 commit comments