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: steamadvantage-1.14-${{ github.workflow }}-${{ github.ref }}
group: basesteam-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 SteamAdvantage
- name: Check out baseSteam
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: SteamAdvantage-1.14.4-${{ github.sha }}
name: baseSteam-1.14.4-${{ github.sha }}
if-no-files-found: error
retention-days: 30
path: |
build/libs/SteamAdvantage-2.2.6.114041.jar
build/libs/SteamAdvantage-2.2.6.114041-sources.jar
build/libs/SteamAdvantage-2.2.6.114041-javadoc.jar
build/libs/baseSteam-2.2.8.114041.jar
build/libs/baseSteam-2.2.8.114041-sources.jar
build/libs/baseSteam-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: SteamAdvantage-1.14.4-diagnostics-${{ github.sha }}
name: baseSteam-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: steamadvantage-release-tag-${{ github.ref_name }}
group: basesteam-release-tag-${{ github.ref_name }}
cancel-in-progress: false

jobs:
validate-release-tag:
name: Validate tag for manual release confirmation
if: github.repository == 'MinecraftModDevelopmentMods/SteamAdvantage'
if: github.repository == 'MinecraftModDevelopmentMods/baseSteam'
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 - Minecraft 1.14.4
2.2.8.114041 - baseSteam for Minecraft 1.14.4

- Continue Steam Advantage under the baseSteam name on Forge 1.14.4.
- Built and tested with the published basePower 2.4.6.114041 release.
- Keep the old steam machine IDs and musket enchantments readable when upgrading.
- Find the steam machines and parts on the shared basePower creative tab.

Earlier 1.14.4 fixes

- Keep waterlogged blocks intact when the steam pump collects their water, and only charge for successful pickup.
- Keep fluid in the steam pump when an attached tank refuses it.
Expand Down
19 changes: 7 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,22 @@
# SteamAdvantage
# baseSteam for Minecraft 1.14.4

**Minecraft 1.14.4 port, version 2.2.6.114041.** Native compilation and 27 unit/resource tests pass.
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.
baseSteam continues DrCyano's Steam Advantage. It adds boilers, pipes and steam-powered machines to basePower. Find them on the **basePower** creative tab.

Steam Advantage adds steam-powered machines and infrastructure 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 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). Regenerate unlock JSON after recipe changes with `node tools/generate-recipe-unlocks.js`; `check` audits recipe coverage and criteria. Crushing recipes are deliberately excluded from the crafting book.

The historical [manufacturing progression protocol](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.13.2/docs/1.13/MANUFACTURING-PROGRESSION.md) describes raw-material, processing and loot acquisition paths in every mode, including restart persistence. See the 1.14 test results above for this port's coverage.
The historical [manufacturing progression protocol](https://github.com/MinecraftModDevelopmentMods/PowerAdvantage/blob/master-1.13.2/docs/1.13/MANUFACTURING-PROGRESSION.md) describes raw-material, processing and loot acquisition paths in every mode, including restart persistence.

## Building Minecraft 1.14.4

The `master-1.14.4` build targets Forge 28.2.26, snapshot `20190719-1.14.3` mappings,
and MCP `20190829.143755`. It uses 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 baseSteam.
With the standard sibling layout:

```text
Expand Down
Loading
Loading