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
  •  
  •  
  •  
30 changes: 20 additions & 10 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.15-${{ github.workflow }}-${{ github.ref }}
group: baseelectric-1.15-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
Expand All @@ -36,11 +36,21 @@ jobs:
repository: MinecraftModDevelopmentMods/BaseMetals
ref: ac1781e7cade15045ffe0135077087b4d1722603
path: .ci-dependencies/BaseMetals
- name: Check out PowerAdvantage 1.15.2
- name: Read basePower source pin
id: power-pin
shell: bash
run: |
ref=$(sed -n 's/^poweradvantage_source_ref=//p' gradle.properties)
if [[ ! "$ref" =~ ^[a-f0-9]{40}$ ]]; then
echo "::error::Set poweradvantage_source_ref to the hosted basePower commit before building in CI."
exit 1
fi
echo "ref=$ref" >> "$GITHUB_OUTPUT"
- name: Check out pinned basePower
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
repository: MinecraftModDevelopmentMods/PowerAdvantage
ref: 6666099a734eba16561d98c86f3f4bb1b7c742f7
repository: MinecraftModDevelopmentMods/basePower
ref: ${{ steps.power-pin.outputs.ref }}
path: .ci-dependencies/PowerAdvantage
- name: Install pinned Java 25 Mavenizer runtime
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
Expand Down Expand Up @@ -82,7 +92,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.6.115021-deobf.jar"
powerjar="$power/build/libs-dev/basePower-2.4.7.115021-deobf.jar"
test -f "$osjar" && test -f "$bmjar" && test -f "$powerjar"
echo "orespawn=$osjar" >> "$GITHUB_OUTPUT"
echo "basemetals=$bmjar" >> "$GITHUB_OUTPUT"
Expand All @@ -100,20 +110,20 @@ jobs:
- name: Upload audited release candidate
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ElectricAdvantage-1.15.2-${{ github.sha }}
name: baseElectric-1.15.2-${{ github.sha }}
if-no-files-found: error
retention-days: 30
path: |
build/libs/ElectricAdvantage-2.2.7.115021.jar
build/libs/ElectricAdvantage-2.2.7.115021-sources.jar
build/libs/ElectricAdvantage-2.2.7.115021-javadoc.jar
build/libs/baseElectric-2.2.8.115021.jar
build/libs/baseElectric-2.2.8.115021-sources.jar
build/libs/baseElectric-2.2.8.115021-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.txt
- name: Upload diagnostics on failure
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ElectricAdvantage-1.15.2-diagnostics-${{ github.sha }}
name: baseElectric-1.15.2-diagnostics-${{ github.sha }}
if-no-files-found: ignore
retention-days: 14
path: |
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,21 @@ jobs:
repository: MinecraftModDevelopmentMods/BaseMetals
ref: ac1781e7cade15045ffe0135077087b4d1722603
path: .ci-dependencies/BaseMetals
- name: Check out PowerAdvantage 1.15.2
- name: Read basePower source pin
id: power-pin
shell: bash
run: |
ref=$(sed -n 's/^poweradvantage_source_ref=//p' gradle.properties)
if [[ ! "$ref" =~ ^[a-f0-9]{40}$ ]]; then
echo "::error::Set poweradvantage_source_ref to the hosted basePower commit before building in CI."
exit 1
fi
echo "ref=$ref" >> "$GITHUB_OUTPUT"
- name: Check out pinned basePower
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
repository: MinecraftModDevelopmentMods/PowerAdvantage
ref: 6666099a734eba16561d98c86f3f4bb1b7c742f7
repository: MinecraftModDevelopmentMods/basePower
ref: ${{ steps.power-pin.outputs.ref }}
path: .ci-dependencies/PowerAdvantage
- name: Install pinned Java 25 Mavenizer runtime
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
Expand Down Expand Up @@ -82,7 +92,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.6.115021-deobf.jar"
powerjar="$power/build/libs-dev/basePower-2.4.7.115021-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
9 changes: 8 additions & 1 deletion CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
Unreleased
2.2.8.115021 - baseElectric for Minecraft 1.15.2

- Continue Electric Advantage under the baseElectric name on Forge 1.15.2.
- Read the old Electric Advantage machine IDs without changing saved machine data.
- Find the machines and parts on the shared basePower creative tab.
- Build against the released basePower 2.4.7.115021 for Minecraft 1.15.2.

Earlier 1.15.2 fixes

- Check generator redstone before the first power pulse so a disabled solar panel cannot produce a startup burst.
- Stop the electric still consuming oil and power when its full output will not fit.
Expand Down
23 changes: 9 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# ElectricAdvantage
# baseElectric for Minecraft 1.15.2

**Minecraft 1.15.2, version 2.2.7.115021.** See the
[shared test record](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.15.2/docs/1.15/TEST-COVERAGE-BACKPORT.md)
for exact jars, automated machine and upgrade results, and remaining manual
checks. Visuals and recipe unlocks were accepted on 27 October 2026. Historical
[1.14 test results](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.14.4/docs/1.14/BROADER-QUALIFICATION.md)
are not 1.15 qualification evidence.
baseElectric continues DrCyano's Electric Advantage. It adds generators, batteries, wiring and electric machines to basePower.
Find its machines and parts on the **basePower** creative tab.

Electric Advantage adds electric machines, generation, storage, automation, and defence to Power Advantage for Minecraft 1.15.2.
Use basePower `2.4.7.115021` for Minecraft 1.15.2. Back up your world and config,
and try the upgrade on a copy before opening your main save.

Every crafting and vanilla smelting variant has an ingredient-triggered recipe-book discovery. See the [shared material checklist and discovery tests](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.13.2/docs/1.13/RECIPE-DISCOVERY.md) and [manufacturing progression audit](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.13.2/docs/1.13/MANUFACTURING-PROGRESSION.md). Regenerate unlock JSON after recipe changes with `node tools/generate-recipe-unlocks.js`; `check` audits recipe coverage and criteria. Custom machine and crushing recipes are not crafting-book entries.

Expand All @@ -19,12 +16,10 @@ Run Gradle with Temurin `17.0.1+12`; production code uses Temurin `8.0.502+7`.
Mavenizer also needs Temurin `25.0.3+9.0.LTS`, including on a cold cache. CI explicitly
registers all three JDK paths and disables toolchain auto-detection and downloads.

Build the matching 1.15 PowerAdvantage, Base Metals and OreSpawn deobf jars first.
Dependency versions, checksums and the exact Power source reference belong in
`gradle.properties`. Release audits reject missing or placeholder pins; do not
bypass those checks or substitute another target's dependencies. Power Advantage
`2.4.6.115021` is pinned to source `6666099a734eba16561d98c86f3f4bb1b7c742f7`.
Base Metals `3.0.2.115021` and OreSpawn `4.1.1.115021` also have exact source and SHA-256 pins.
Build the matching 1.15.2 basePower, Base Metals and OreSpawn development jars
first. This branch is pinned to the [released basePower build](https://www.curseforge.com/minecraft/mc-mods/basepower/files/9482607).
`gradle.properties` records its source commit and the development and release
checksums. The dependencies are not bundled in baseElectric.
Base Metals source `ac1781e7cade15045ffe0135077087b4d1722603` and the Power
source pin above identify the exact tested dependencies. CI builds them before
Electric Advantage; none is embedded in the Electric Advantage jar.
Expand Down
Loading
Loading