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.120011.jar
build/libs/OreSpawn-4.0.16.120011-sources.jar
build/libs/OreSpawn-4.0.16.120011-javadoc.jar
build/libs/OreSpawn-4.1.0.120011.jar
build/libs/OreSpawn-4.1.0.120011-sources.jar
build/libs/OreSpawn-4.1.0.120011-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.txt

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

* Add a Mods directory and Ore Sources editor for choosing how shared ores generate.
* Balance shared ores from loaded MMD providers in new worlds, using one placement budget per channel. Existing worlds keep their saved choices.
* Add custom ore groups, clear review status and reset controls. Keep settings for missing mods so they can be restored later.
* Add a Biomes directory with placement settings and exact biome replacement in new terrain. Existing chunks are left alone.
* Make it clear that world materials apply to the whole dimension, not just the selected biome.
* Show only fluid blocks in fluid selectors and use clearer names for blocks without translated labels.
* Move Help & Guide beside Recommended Defaults and keep the main menus clear of the footer at smaller sizes.
* Preserve older profiles when upgrading the provider, global and world formats to schemas 5, 8 and 7.
* Reject invalid geome IDs rather than silently changing their case. Keep vanilla ore wrappers shared across biomes and clear their cached registry references when the server stops.
* Split the build into smaller, commented scripts and use LF line endings for shared text files.
* Add a separate shared-ore test launch and checks for Nether hosts, saved settings and world reloads.

Version 4.0.16.120011

* 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.120011`: the OreSpawn 4.0.16
This branch builds target-qualified version `4.1.0.120011`: the OreSpawn 4.1
feature set for Minecraft 1.20.1 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
47 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