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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/release-on-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ jobs:
loader_name="$(value loader_name)"
loader_code="$(value loader_code)"
project_id="$(value curseforge_project_id)"
if [[ ! "$project_id" =~ ^[1-9][0-9]*$ || "$project_id" == '240984' ]]; then
echo "baseSteam has no assigned CurseForge project; release validation is disabled" >&2
if [[ "$project_id" != '1781373' ]]; then
echo "Expected baseSteam CurseForge project 1781373; refusing $project_id" >&2
exit 1
fi

Expand Down
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ The rename changes no recipes, machine ratings, fuel values, or musket balance.

## Release Status

This version is not published. The local checks include 135 Steam unit tests, original-release
Download baseSteam for Forge 1.10.2 from [CurseForge](https://www.curseforge.com/minecraft/mc-mods/basesteam),
project `1781373`. The [Boiler-House Handbook](https://github.com/MinecraftModDevelopmentMods/baseSteam/wiki)
covers installation, recipes and using the machines.

The local checks include 135 Steam unit tests, original-release
migration fixtures, operating and full-restart checks, and finite-supply Steam endurance runs.
The [cross-mod qualification notes](https://github.com/MinecraftModDevelopmentMods/basePower/blob/master-1.10.2/docs/1.10/base-qualification.md)
record the tested jar checksums and limits. These checks do not replace manual gameplay acceptance.
Expand Down Expand Up @@ -73,6 +77,8 @@ by basePower. Base Metals remains a required distribution dependency while its i
and absent from the compile classpath. The stable `cyano.poweradvantage.api` and required `com.mcmoddev`
compatibility types are not renamed.

CurseForge relations are `basepower` and `base-metals`. No new CurseForge project is assigned:
`curseforge_project_id=0` deliberately blocks publication and release validation until
a new project is assigned and the identity audit is updated. The former project ID must not be reused.
CurseForge project `1781373` requires `basepower` and `base-metals`. The original Steam Advantage
project is not an upload target. Ordinary CI does not publish a release.

The [project-page copy](docs/curseforge-description.md) and [logo](docs/branding/README.md)
are kept with the source, outside the mod jar.
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ tasks.register('verifyReleaseConfiguration') {
|| project.group.toString() != 'zone.moddev.mc.basesteam'
|| base.archivesName.get() != 'baseSteam'
|| project.mod_license != 'GPL-3.0-only'
|| project.curseforge_project_id != '0') {
|| project.curseforge_project_id != '1781373') {
throw new GradleException('Unexpected Forge, Maven, archive, or CurseForge identity')
}
if (project.cf_requirements != 'basepower,base-metals'
Expand Down Expand Up @@ -633,11 +633,11 @@ publishing {

tasks.register('validatePublicationIdentity') {
group = 'publishing'
description = 'Blocks publication until a new baseSteam CurseForge project is assigned.'
description = 'Checks that publication targets the assigned baseSteam CurseForge project.'
doLast {
String projectId = project.curseforge_project_id.toString()
if (!(projectId ==~ /[1-9][0-9]*/) || projectId == '240984') {
throw new GradleException('baseSteam has no assigned CurseForge project; publication is disabled')
if (projectId != '1781373') {
throw new GradleException('Use baseSteam CurseForge project 1781373; never reuse Steam Advantage 240984.')
}
}
}
Expand Down
9 changes: 5 additions & 4 deletions docs/1.10-identity-migration.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# baseSteam 1.10.2 Identity Migration

Version `2.2.6.110021` is based on Steam Advantage commit
`1b879c4da9f39a87aea17b90dc692356ef288861`. It has not been published.
`1b879c4da9f39a87aea17b90dc692356ef288861`. It is available on
[CurseForge](https://www.curseforge.com/minecraft/mc-mods/basesteam/files/9420177).
Automated checks do not replace manual gameplay testing.

## New Identity
Expand All @@ -14,7 +15,7 @@ Automated checks do not replace manual gameplay testing.
| Version | `2.2.6.110021` |
| Runtime dependencies | `required-after:basepower@[2.4.4.110021,);after:basemetals` |
| CurseForge required relations | `basepower,base-metals` |
| CurseForge project | `0`, unassigned; publication blocked |
| CurseForge project | [baseSteam, `1781373`](https://www.curseforge.com/minecraft/mc-mods/basesteam) |

The main class keeps its Java name `SteamAdvantage` inside the new package. Build overrides
`powerAdvantageDeobfJar` and `steamAdvantageRunDirectory` retain their existing names so local tooling
Expand Down Expand Up @@ -94,5 +95,5 @@ behavioral assertions or replacing historical fixtures.
The [cross-mod qualification notes](https://github.com/MinecraftModDevelopmentMods/basePower/blob/master-1.10.2/docs/1.10/base-qualification.md)
record the exact-artifact original-world, operating, restart and finite-supply endurance checks.
Those results are separate from hosted CI and manual client acceptance. Generated worlds and raw
reports stay outside source control. Project ID `0` deliberately prevents publication until a new
CurseForge project is assigned; the former Steam Advantage project must not be reused.
reports stay outside source control. Future uploads must use baseSteam project `1781373`, not
the former Steam Advantage project.
15 changes: 15 additions & 0 deletions docs/branding/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# baseSteam Artwork

![baseSteam logo](basesteam-logo.png)

`basesteam-logo.png` is the 1,254 by 1,254 pixel PNG prepared for the baseSteam CurseForge listing. Use the PNG itself as the project avatar. It retains the image generator's native resolution; the file has not been rescaled or retouched.

The copper BASE lettering, off-white STEAM lettering, charcoal metal background and steel/copper fittings match the established [basePower logo](https://github.com/MinecraftModDevelopmentMods/basePower/blob/master-1.10.2/docs/branding/basepower-logo.png), which follows the Base Metals visual family. The pressure gauge, brass valve and small steam outlet distinguish this expansion from basePower's shared machinery.

This artwork lives outside `src/main/resources` and does not change the qualified mod jars or their checksums. Preparing artwork and project text does not create a CurseForge project or publish a release. The paste-ready page description is in [curseforge-description.md](../curseforge-description.md).

## Creation

Created on 3 November 2026 with the built-in image-generation tool, using the existing basePower logo as the visual reference. The original generated image is retained locally; the project PNG is a byte-for-byte copy.

The brief was to preserve the established chunky pixel-art wordmark and metalwork, change POWER to STEAM, and replace the sprocket/coupling details with a pressure gauge and brass handwheel. The logo should remain readable as a project icon without captions, surrounding mockups or photographic effects.
Binary file added docs/branding/basesteam-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 59 additions & 0 deletions docs/curseforge-description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# baseSteam

**A Base Metals expansion continuing DrCyano's Steam Advantage, with backwards-compatible upgrades for existing Minecraft 1.10.2 worlds.**

Put your workshop under steam. baseSteam adds boilers, brass pipework and steam-powered machinery to [basePower](https://www.curseforge.com/minecraft/mc-mods/basepower), continuing [DrCyano's original Steam Advantage](https://www.curseforge.com/minecraft/mc-mods/steam-advantage) with maintained code, bug fixes and support for existing saves.

This is the continuation under a new name, not an extra mod to install alongside Steam Advantage.

## What Does It Add?

- **Boilers:** Make steam with solid fuel, geothermal heat or liquid fuel. An electric boiler can also turn an electrical supply into steam.
- **Steam distribution:** Connect machines with brass pipes, store surplus in steam tanks and control connections with redstone switches. Tanks are reserves, not pressure boosters; pipes do not lose pressure just because the run is long.
- **Rock crusher:** Automate Base Metals' crushing recipes, from ore processing to making starch from potatoes.
- **Blast furnace:** Smelt three input stacks in parallel, with steam-assisted heating. It still needs its own solid fuel.
- **Mining drill:** Bore in any of six directions, collect the output inside the machine and advance along steam track. Connect storage or a conveyor at the rear to take the output away.
- **Pumps and elevators:** Collect world fluids through an extending pump shaft, or build a steam-powered lift.
- **Steam distillation:** Refine crude oil without a solid-fuel still. Both basePower and Mineralogy crude oils work in the appropriate distillation and oil-boiler machinery.
- **The works musket:** An optional black-powder firearm with cartridges, configurable damage and reload time, and its original enchantments.

## Getting Started

Gather iron, brass and steel, then make a few steam governors. A coal-fired boiler, some brass pipe and a rock crusher make a useful first installation. Supply the boiler with water and furnace fuel, connect the steam line, then give the crusher a small batch to process.

Keep water pipes and steam pipes separate: basePower's fluid system brings water to the boiler, while brass steam pipes carry its output to machines. A geothermal boiler beside lava is an alternative heat source, but it still needs water.

Recipes follow basePower's **Normal**, **Tech Progression** or **Apocalyptic** mode. The [Boiler-House Handbook](https://github.com/MinecraftModDevelopmentMods/baseSteam/wiki) covers recipes, layouts, gauges, storage and fault finding.

## Requirements

- **Minecraft 1.10.2 with Forge 12.18.3.2511 or a compatible later 1.10.2 Forge build.**
- **Java 8.**
- **[basePower](https://www.curseforge.com/minecraft/mc-mods/basepower) 2.4.4.110021 or newer for Minecraft 1.10.2.**
- **[Base Metals](https://www.curseforge.com/minecraft/mc-mods/base-metals).**
- **[MMD OreSpawn](https://www.curseforge.com/minecraft/mc-mods/mmd-orespawn), required by basePower.**

The current 1.10.2 builds were tested together with Base Metals `2.5.1.110021` and OreSpawn `4.1.2.110021`, including existing-world upgrades and full restarts.

[baseElectric](https://github.com/MinecraftModDevelopmentMods/baseElectric) is an optional companion. It adds electrical generation, batteries, wiring and machines, and can supply the electric boiler. It is not needed for the coal, geothermal or oil-fired installations.

## Moving An Existing Steam Advantage World

baseSteam supports upgrading worlds made with the original released Cyano Minecraft 1.10.2 Steam Advantage. Existing blocks, items and saved machine state are migrated to the new identities without needing to rebuild your steam works, including inventories, stored steam, fluid, heat, drill direction and unfinished work.

1. Back up the complete world and its configuration before changing any mods.
2. Remove Power Advantage and Steam Advantage, then install matching basePower and baseSteam builds. Do not keep the old and new jars together.
3. If the world also uses Electric Advantage, replace it with matching baseElectric at the same time. Do not mix the old and new families.
4. Open a copy first, inspect your machines and contents, then close Minecraft completely and reopen it to check the saved result.

The old Steam configuration is carried forward when no new baseSteam configuration exists; the original file is retained. Existing musket enchantments are preserved. Keep your complete backup: rolling back means restoring it, not putting old jars into an already converted world.

This compatibility applies to released 1.10.2 worlds. It is not a promise that every old third-party add-on works unchanged; integrations which look for the old mod IDs may need an update. Read the [upgrade guide](https://github.com/MinecraftModDevelopmentMods/baseSteam/wiki/Installation-and-Upgrading) before converting a valued save.

## Credits, Modpacks And Development

Steam Advantage was created by **DrCyano (Cyanobacterium)**. baseSteam continues that work as part of **Minecraft Mod Development**, alongside Base Metals, basePower and baseElectric.

Modpack inclusion is welcome. The project remains open source under **GPL-3.0**.

[Source code](https://github.com/MinecraftModDevelopmentMods/baseSteam) | [Player wiki](https://github.com/MinecraftModDevelopmentMods/baseSteam/wiki) | [Report an issue](https://github.com/MinecraftModDevelopmentMods/baseSteam/issues) | [Original Steam Advantage](https://www.curseforge.com/minecraft/mc-mods/steam-advantage)
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ java_version=8
java_toolchain_version=8.0.502+7
java_setup_version=8.0.502+7
gradle_java_version=17
curseforge_project_id=0
curseforge_project_id=1781373

mod_id=basesteam
mod_name=baseSteam
Expand Down
Loading