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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 8 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:
contents: read

concurrency:
group: electricadvantage-1.16-${{ github.workflow }}-${{ github.ref }}
group: baseelectric-1.16-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
Expand All @@ -31,7 +31,7 @@ jobs:
set -euo pipefail
power_ref="$(sed -n 's/^poweradvantage_source_ref=//p' gradle.properties | tr -d '\r')"
power_sha="$(sed -n 's/^poweradvantage_deobf_sha256=//p' gradle.properties | tr -d '\r')"
if [[ "$power_ref" != "bcb75bfa91c14751ebf1e31865e1ec0ffa82c0b7" || "$power_sha" != "2FB923944A456B4F26AB2F9212C646469CE3F49BFD4DAE894C15559B48908386" ]]; then
if [[ ! "$power_ref" =~ ^[a-f0-9]{40}$ || ! "$power_sha" =~ ^[A-F0-9]{64}$ ]]; then
echo "PowerAdvantage 1.16.5 source/deobf pin differs from the audited candidate" >&2
exit 1
fi
Expand All @@ -51,9 +51,8 @@ jobs:
- name: Check out PowerAdvantage 1.16.5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
repository: MinecraftModDevelopmentMods/PowerAdvantage
# Local-only Power source; publish upstream before hosted builds.
ref: bcb75bfa91c14751ebf1e31865e1ec0ffa82c0b7
repository: MinecraftModDevelopmentMods/basePower
ref: ${{ steps.pins.outputs.power_ref }}
path: .ci-dependencies/PowerAdvantage
- name: Install pinned Java 25 Mavenizer runtime
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
Expand Down Expand Up @@ -95,7 +94,7 @@ jobs:
(cd "$power" && ./gradlew $MMD_GRADLE_TOOLCHAINS jar verifyReleaseDependencies \
-PbaseMetalsDeobfJar="$bmjar" -PoreSpawnDeobfJar="$osjar" \
--no-daemon --stacktrace)
powerjar="$power/build/libs-dev/PowerAdvantage-2.4.7.116051-deobf.jar"
powerjar="$power/build/libs-dev/basePower-2.4.8.116051-deobf.jar"
test -f "$osjar" && test -f "$bmjar" && test -f "$powerjar"
echo "orespawn=$osjar" >> "$GITHUB_OUTPUT"
echo "basemetals=$bmjar" >> "$GITHUB_OUTPUT"
Expand All @@ -117,9 +116,9 @@ jobs:
if-no-files-found: error
retention-days: 30
path: |
build/libs/ElectricAdvantage-2.2.8.116051.jar
build/libs/ElectricAdvantage-2.2.8.116051-sources.jar
build/libs/ElectricAdvantage-2.2.8.116051-javadoc.jar
build/libs/baseElectric-2.2.9.116051.jar
build/libs/baseElectric-2.2.9.116051-sources.jar
build/libs/baseElectric-2.2.9.116051-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.txt
- name: Upload diagnostics on failure
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
set -euo pipefail
power_ref="$(sed -n 's/^poweradvantage_source_ref=//p' gradle.properties | tr -d '\r')"
power_sha="$(sed -n 's/^poweradvantage_deobf_sha256=//p' gradle.properties | tr -d '\r')"
if [[ "$power_ref" != "bcb75bfa91c14751ebf1e31865e1ec0ffa82c0b7" || "$power_sha" != "2FB923944A456B4F26AB2F9212C646469CE3F49BFD4DAE894C15559B48908386" ]]; then
if [[ ! "$power_ref" =~ ^[a-f0-9]{40}$ || ! "$power_sha" =~ ^[A-F0-9]{64}$ ]]; then
echo "PowerAdvantage 1.16.5 source/deobf pin differs from the audited candidate" >&2
exit 1
fi
Expand All @@ -51,9 +51,8 @@ jobs:
- name: Check out PowerAdvantage 1.16.5
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
repository: MinecraftModDevelopmentMods/PowerAdvantage
# Local-only Power source; publish upstream before hosted builds.
ref: bcb75bfa91c14751ebf1e31865e1ec0ffa82c0b7
repository: MinecraftModDevelopmentMods/basePower
ref: ${{ steps.pins.outputs.power_ref }}
path: .ci-dependencies/PowerAdvantage
- name: Install pinned Java 25 Mavenizer runtime
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
Expand Down Expand Up @@ -95,7 +94,7 @@ jobs:
(cd "$power" && ./gradlew $MMD_GRADLE_TOOLCHAINS jar verifyReleaseDependencies \
-PbaseMetalsDeobfJar="$bmjar" -PoreSpawnDeobfJar="$osjar" \
--no-daemon --stacktrace)
powerjar="$power/build/libs-dev/PowerAdvantage-2.4.7.116051-deobf.jar"
powerjar="$power/build/libs-dev/basePower-2.4.8.116051-deobf.jar"
test -f "$osjar" && test -f "$bmjar" && test -f "$powerjar"
echo "orespawn=$osjar" >> "$GITHUB_OUTPUT"
echo "basemetals=$bmjar" >> "$GITHUB_OUTPUT"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-on-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ permissions:
contents: read

concurrency:
group: electricadvantage-release-tag-${{ github.ref_name }}
group: baseelectric-release-tag-${{ github.ref_name }}
cancel-in-progress: false

jobs:
validate-release-tag:
name: Validate tag for manual release confirmation
if: github.repository == 'MinecraftModDevelopmentMods/ElectricAdvantage'
if: github.repository == 'MinecraftModDevelopmentMods/baseElectric'
runs-on: ubuntu-latest
timeout-minutes: 10

Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
baseElectric 2.2.9.116051 (Minecraft 1.16.5)

- Bring baseElectric to Minecraft 1.16.5 and use the shared basePower creative tab.
- Map legacy Electric Advantage blocks, items and saved machine state to baseElectric when upgrading.
- Fix Eclipse refreshes when ForgeGradle reuses an existing client or server launch.

Electric Advantage 2.2.8.116051 (local port candidate)

- Check generator redstone before the first power pulse so a disabled solar panel cannot produce a startup burst.
Expand Down
44 changes: 18 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
# Electric Advantage

**Minecraft 1.16.5 source port candidate, version 2.2.8.116051.**
The follow-up checks measure finite machine jobs, energy and fluid conservation,
blocked routes, real turret hits and full-process restarts. Rendered GUI checks
require the correct labels as well as correctly placed controls. The shared
record below identifies the current jars and each completed run; earlier
results are retained separately rather than counted again. Broader player/entity
checks retain a separately controlled vanilla wolf-health difference.
Manual acceptance is pending. This is not a published release.
See [the native port checklist](docs/NATIVE116.md).
The [shared test record](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.16.5/docs/1.16/CURRENT-QUALIFICATION.md)
records the exact jars, completed checks and remaining limits.
The [accepted 1.15 record](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.15.2/docs/1.15/CURRENT-QUALIFICATION.md)
is a behavior reference, not evidence that this target passes.

Electric Advantage adds electric machines, generation, storage, automation,
and defence to Power Advantage for Minecraft 1.16.5.
# baseElectric

**Minecraft 1.16.5, version 2.2.9.116051.**

Use [basePower 2.4.8.116051](https://www.curseforge.com/minecraft/mc-mods/basepower/files/9501921)
and [Base Metals 3.1.1.116051](https://www.curseforge.com/minecraft/mc-mods/base-metals/files/9501458). The
[shared test record](https://github.com/MinecraftModDevelopmentMods/basePower/blob/master-1.16.5/docs/1.16/BASE-RELEASE-CANDIDATE.md)
covers machine operation, world upgrades and full restarts.

baseElectric continues DrCyano's Electric Advantage. It adds electric
generation, storage, machinery and defence to basePower. Back up your world
before upgrading; the port maps legacy Electric Advantage blocks and saved state.

## Build Target

Expand All @@ -28,12 +22,12 @@ inference and downloads.

Build inputs are separate, non-embedded deobfuscated jars:

- Power Advantage `2.4.7.116051`: source `bcb75bfa91c14751ebf1e31865e1ec0ffa82c0b7`.
- basePower `2.4.8.116051`.
- Base Metals `3.1.1.116051`: source `995f6cc4dd2d5eecc628a42e5c43fa5390c24bca`.
- OreSpawn `4.1.0.116051`: source `a113e5d767169189f0e35ade1e173a12d550b00e`.

Exact checksums are recorded in `gradle.properties`. Power deobf SHA-256 is
`2FB923944A456B4F26AB2F9212C646469CE3F49BFD4DAE894C15559B48908386`.
`156674F6DF6007D351AD419416344356F6586452077FCAE2E9BC9404EE14A14B`.
The pinned Power source is available upstream. Do not bypass the release audits
or substitute a preliminary jar.
Use immutable copies for verification, not a sibling's output that another
Expand Down Expand Up @@ -82,10 +76,9 @@ launching. Do not add raw source metadata to the production classpath.

## Compatibility

The implementation namespace remains `zone.moddev.mc.electricadvantage`.
Runtime registries, legacy aliases, tile/entity IDs, NBT keys, recipe IDs,
ratios, tags, OreSpawn provider IDs and assets are retained. Electric uses
Power Advantage's shared migration hook, dimension-key network registry,
New saves use `baseelectric:*`. The shared upgrade code maps older
`electricadvantage:*` IDs to their baseElectric equivalents and retains saved
machine data. Electric uses basePower's shared migration hook, dimension-key network registry,
capability adapters and native lifecycle contracts. It does not create
synthetic numeric dimension IDs or a second capability implementation.

Expand All @@ -102,13 +95,12 @@ The RF- and Tech Reborn-labelled converters belong to Power Advantage and use
Forge Energy. Check live rendering, GUI interaction, sound, weapons,
hydroturbine orientation and animation, multiplayer and real player login in
game. Automated tag, machine and upgrade checks do not replace that walkthrough.
No 1.16 publication is included before manual acceptance.

Always back up a whole world before upgrading and test only disposable copies.
Keep migration backups and failed evidence. Bounded Advantage results never
qualify unrelated mods or an arbitrary existing modpack.

The shared [machine operating checks](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.16.5/docs/1.16/OPERATING-TESTS.md)
The shared [machine operating checks](https://github.com/MinecraftModDevelopmentMods/basePower/blob/master-1.16.5/docs/1.16/OPERATING-TESTS.md)
exercise finite processing, fabrication, growth, pumping, lighting, generation,
battery and turret jobs. They check real output, damage and resource use, with
blocked and starved controls and complete server restarts.
Loading
Loading