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
  •  
  •  
  •  
34 changes: 21 additions & 13 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.14-${{ github.workflow }}-${{ github.ref }}
group: baseelectric-1.14-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
Expand All @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 105
steps:
- name: Check out ElectricAdvantage
- name: Check out baseElectric
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Check out pinned OreSpawn
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
Expand All @@ -36,11 +36,21 @@ jobs:
repository: MinecraftModDevelopmentMods/BaseMetals
ref: 713802f93f2d1f650e1593fa35c487ea43add4a5
path: .ci-dependencies/BaseMetals
- name: Check out PowerAdvantage 1.14.4
- 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 exact 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: 1d498ca02b6795b16435f0ece35ac04c67ef6948
repository: MinecraftModDevelopmentMods/basePower
ref: ${{ steps.power-pin.outputs.ref }}
path: .ci-dependencies/PowerAdvantage
- name: Install Java 8 toolchain
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
Expand Down Expand Up @@ -70,38 +80,36 @@ jobs:
(cd "$power" && ./gradlew jar verifyReleaseDependencies \
-PbaseMetalsDeobfJar="$bmjar" -PoreSpawnDeobfJar="$osjar" \
--no-daemon --stacktrace)
powerjar="$power/build/libs-dev/PowerAdvantage-2.4.5.114041-deobf.jar"
powerjar="$power/build/libs-dev/basePower-2.4.6.114041-deobf.jar"
test -f "$osjar" && test -f "$bmjar" && test -f "$powerjar"
echo "orespawn=$osjar" >> "$GITHUB_OUTPUT"
echo "basemetals=$bmjar" >> "$GITHUB_OUTPUT"
echo "power=$powerjar" >> "$GITHUB_OUTPUT"
echo "power_ref=$(git -C "$power" rev-parse HEAD)" >> "$GITHUB_OUTPUT"
- name: Build and audit release artifacts
run: >-
./gradlew clean check build javadoc verifyReleaseDependencies verifyReleaseArtifacts
writeReleaseChecksums verifyEclipseProductionClasspath
-PpowerAdvantageDeobfJar=${{ steps.dependencies.outputs.power }}
-Ppoweradvantage_source_ref=${{ steps.dependencies.outputs.power_ref }}
-PbaseMetalsDeobfJar=${{ steps.dependencies.outputs.basemetals }}
-PoreSpawnDeobfJar=${{ steps.dependencies.outputs.orespawn }}
--no-daemon --stacktrace
- name: Upload audited release candidate
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ElectricAdvantage-1.14.4-${{ github.sha }}
name: baseElectric-1.14.4-${{ github.sha }}
if-no-files-found: error
retention-days: 30
path: |
build/libs/ElectricAdvantage-2.2.6.114041.jar
build/libs/ElectricAdvantage-2.2.6.114041-sources.jar
build/libs/ElectricAdvantage-2.2.6.114041-javadoc.jar
build/libs/baseElectric-2.2.8.114041.jar
build/libs/baseElectric-2.2.8.114041-sources.jar
build/libs/baseElectric-2.2.8.114041-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.txt
- name: Upload diagnostics on failure
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ElectricAdvantage-1.14.4-diagnostics-${{ github.sha }}
name: baseElectric-1.14.4-diagnostics-${{ github.sha }}
if-no-files-found: ignore
retention-days: 14
path: |
Expand Down
20 changes: 14 additions & 6 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: 713802f93f2d1f650e1593fa35c487ea43add4a5
path: .ci-dependencies/BaseMetals
- name: Check out PowerAdvantage 1.14.4
- 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 exact 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: 1d498ca02b6795b16435f0ece35ac04c67ef6948
repository: MinecraftModDevelopmentMods/basePower
ref: ${{ steps.power-pin.outputs.ref }}
path: .ci-dependencies/PowerAdvantage
- name: Install Java 8 toolchain
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
Expand Down Expand Up @@ -70,12 +80,11 @@ jobs:
(cd "$power" && ./gradlew jar verifyReleaseDependencies \
-PbaseMetalsDeobfJar="$bmjar" -PoreSpawnDeobfJar="$osjar" \
--no-daemon --stacktrace)
powerjar="$power/build/libs-dev/PowerAdvantage-2.4.5.114041-deobf.jar"
powerjar="$power/build/libs-dev/basePower-2.4.6.114041-deobf.jar"
test -f "$osjar" && test -f "$bmjar" && test -f "$powerjar"
echo "orespawn=$osjar" >> "$GITHUB_OUTPUT"
echo "basemetals=$bmjar" >> "$GITHUB_OUTPUT"
echo "power=$powerjar" >> "$GITHUB_OUTPUT"
echo "power_ref=$(git -C "$power" rev-parse HEAD)" >> "$GITHUB_OUTPUT"
- name: Initialize CodeQL
uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
with:
Expand All @@ -85,7 +94,6 @@ jobs:
chmod +x ./gradlew
./gradlew clean classes --rerun-tasks --no-build-cache --no-daemon --stacktrace \
-PpowerAdvantageDeobfJar=${{ steps.dependencies.outputs.power }} \
-Ppoweradvantage_source_ref=${{ steps.dependencies.outputs.power_ref }} \
-PbaseMetalsDeobfJar=${{ steps.dependencies.outputs.basemetals }} \
-PoreSpawnDeobfJar=${{ steps.dependencies.outputs.orespawn }}
- name: Analyze
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.114041 - baseElectric for Minecraft 1.14.4

- Continue Electric Advantage under the baseElectric name on Forge 1.14.4.
- Built and tested with the published basePower 2.4.6.114041 release.
- Keep old electric machine IDs and the turbine link readable when upgrading.
- Find the electric machines and parts on the shared basePower creative tab.

Earlier 1.14.4 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
18 changes: 6 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
# ElectricAdvantage
# baseElectric for Minecraft 1.14.4

**Minecraft 1.14.4 port, version 2.2.6.114041.** Native compilation and all 34 unit
tests pass, with no tests skipped. The combined-mod automated checks also cover
client resources, connected machinery, drill movement, chunk lifecycle, restart
persistence and disposable-copy migration. The
[1.14 test results](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.14.4/docs/1.14/BROADER-QUALIFICATION.md)
describe the tested scenarios and remaining limits, not a guarantee for an entire modpack.
baseElectric continues DrCyano's Electric Advantage. It adds generators, batteries, wiring and electric machines to basePower. Find them on the **basePower** creative tab.

Electric Advantage adds electric machines, generation, storage, automation, and defence to Power Advantage for Minecraft 1.14.4.
Use [basePower 2.4.6.114041](https://www.curseforge.com/minecraft/mc-mods/basepower/files/9477873) for Minecraft 1.14.4. Back up your world and config before upgrading, and test the upgrade on a copy first.

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 @@ -17,10 +12,9 @@ The `master-1.14.4` build targets Forge `28.2.26`, mappings `snapshot 20190719-1
and MCP `20190829.143755`, using ForgeGradle `7.0.34` and Gradle `9.6.1`.
Run Gradle with Java 17; production code is compiled for Java 8.

Build the matching 1.14 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 a 1.13 dependency.
Build the matching 1.14 basePower, Base Metals and OreSpawn deobf jars first.
`gradle.properties` records the published basePower file and its SHA-256,
along with the exact source commit and development jar hash used to build baseElectric.
With the standard sibling layout:

```text
Expand Down
Loading
Loading