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
14 changes: 7 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
test ! -e "$GRADLE_USER_HOME"
mkdir -p "$GRADLE_USER_HOME"
chmod +x ./gradlew
./gradlew verifyMavenizerCompatibilityFixture help \
./gradlew classes verifyLegacyFixtures verifyMavenizerCompatibilityFixture \
--no-daemon --no-build-cache --stacktrace --max-workers=2 \
-Dorg.gradle.java.installations.paths="$JAVA_HOME,$JAVA_HOME_8_X64,$JAVA_HOME_25_X64" \
-Dorg.gradle.java.installations.auto-detect=false \
Expand All @@ -68,14 +68,14 @@ jobs:
| sort -z | xargs -0 -r sha256sum > "$RUNNER_TEMP/markers-before.sha256"
test -s "$RUNNER_TEMP/markers-before.sha256"

- name: Verify same-cache preparation is idempotent
- name: Replay the compiled target offline
shell: bash
env:
GRADLE_USER_HOME: ${{ runner.temp }}/orespawn-cold-gradle
run: |
set -euo pipefail
./gradlew verifyMavenizerCompatibilityFixture help \
--no-daemon --no-build-cache --stacktrace --max-workers=2 \
./gradlew classes verifyLegacyFixtures verifyMavenizerCompatibilityFixture \
--offline --rerun-tasks --no-daemon --no-build-cache --stacktrace --max-workers=2 \
-Dorg.gradle.java.installations.paths="$JAVA_HOME,$JAVA_HOME_8_X64,$JAVA_HOME_25_X64" \
-Dorg.gradle.java.installations.auto-detect=false \
-Dorg.gradle.java.installations.auto-download=false
Expand Down Expand Up @@ -132,9 +132,9 @@ jobs:
if-no-files-found: error
retention-days: 30
path: |
build/libs/OreSpawn-4.0.16.119041.jar
build/libs/OreSpawn-4.0.16.119041-sources.jar
build/libs/OreSpawn-4.0.16.119041-javadoc.jar
build/libs/OreSpawn-4.1.0.119041.jar
build/libs/OreSpawn-4.1.0.119041-sources.jar
build/libs/OreSpawn-4.1.0.119041-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.txt

Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
Version 4.1.0.119041

* Add the mod directory, material-group ore controls, and built-in MMD conflict defaults.
* Add exact new-terrain biome replacement and dimension-wide material controls.
* Preserve old profiles and missing-mod settings when upgrading schemas to 5, 8, and 7.
* Split the build into smaller commented scripts and normalize tracked text to LF.
* Reject invalid geome IDs instead of silently changing their case.
* Keep inline native ore wrappers shared across biomes and release their registry references on shutdown.
* Add a separate shared-ore client profile and real Nether host/reload checks.

Version 4.0.16.119041

* Leave benchmark shutdown to the GameTest harness when a benchmark is run
Expand Down
21 changes: 17 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ End" policy used by mods such as Base Metals.
This is not the unrelated mod that adds mobs and dimensions under the same
name.

This branch builds target-qualified version `4.0.16.119041`: the OreSpawn 4.0.16
This branch builds target-qualified version `4.1.0.119041`: the OreSpawn 4.1
feature set for Minecraft 1.19.4 and Forge. See the
[versioning policy](docs/VERSIONS.md) for the encoding and release convention.

Expand Down Expand Up @@ -54,6 +54,15 @@ Important files:
Profile edits affect newly generated chunks. Ore and flat-bedrock retrogen are
separate opt-in features; OreSpawn never retro-generates rock strata.

**Ore Sources** groups ores by exact block tags such as `forge:ores/sulfur`.
When two loaded ordinary MMD providers share one tag, new worlds use a
Balanced output policy and one placement budget per channel. Older worlds keep
their saved Keep Original behaviour. Imported Ore Dictionary aliases remain
visible but dormant until you assign a known exact block tag. The **Biomes**
directory can replace one loaded biome with another in new terrain; its
**Overworld Materials** control applies across the dimension, not just the
selected biome.

When an already-generated world has saved Mineralogy 1.10, 1.12, or 5.x mod
metadata but no OreSpawn world profile, OreSpawn reads the matching published
configuration contract and records the exact engine, numeric settings, rock
Expand Down Expand Up @@ -119,8 +128,12 @@ and fixtures. Published jars are deterministic, SRG-reobfuscated for the Forge
45 runtime, audited for their four access-transformer rules and contents, and
accompanied by SHA-256 checksums.

Machine-specific `AGENTS.md` and `agent-notes/` files are intentionally ignored.
Public developer and AI integration guidance lives in `docs/` and is included
in the built jar.
Developer and player guides live in `docs/` and are included in the built jar.

For shared-ore GUI testing, generate the Eclipse launches and open
`runTestOreSourcesClient.launch`. It loads two small dummy MMD providers in a
separate `run-ore-sources` instance. The ordinary client stays fixture-free.
Build-script ownership and the opt-in generation gates are in
[`gradle/README.md`](gradle/README.md).

OreSpawn is licensed under LGPL-2.1.
Loading
Loading