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
6 changes: 6 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ root = true
end_of_line = lf
insert_final_newline = true

[*.bat]
end_of_line = crlf

[*.cmd]
end_of_line = crlf

[*.java]
charset = utf-8
indent_style = tab
Expand Down
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* text=auto eol=lf

*.bat text eol=crlf
#*.bat text eol=lf
*.cmd text eol=crlf
*.gradle text diff=java
mcmod.info text
*.java text
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,9 @@ jobs:
if-no-files-found: error
retention-days: 30
path: |
build/libs/OreSpawn-4.0.16.111021.jar
build/libs/OreSpawn-4.0.16.111021-sources.jar
build/libs/OreSpawn-4.0.16.111021-javadoc.jar
build/libs/OreSpawn-4.1.6.111021.jar
build/libs/OreSpawn-4.1.6.111021-sources.jar
build/libs/OreSpawn-4.1.6.111021-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.txt

Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## 4.1.6.111021

- Fix duplicate ore generation when an OreSpawn 1 world is moved without its converted provider file. Keep imported rules and saved choices, and back up the profile before removing a duplicate. Leave edited rules for review.
- Pick the default sulfur and lithium sources after all mods have loaded. New setups can share those ores with Base Electric without adding extra veins. Existing worlds keep their choices and existing chunks stay as they are.

## 4.1.5.111021

- Bring the 4.1 provider, Ore Sources, biome and dimension-material features to Minecraft 1.11.2.
- Keep existing provider settings and vanilla ore choices when importing old configs.
- Bring the OreSpawn 1 compatibility bridge to 1.11.2 without running a second ore generator.
- Support exact ore host variants and preserve native Mesa gold when vanilla ore management is off.
- Make the Austrian German translation selectable and give Pirate Speak its own menu and guide text.

Version 4.0.17.111021

* Keep existing OreSpawn 4 provider settings when importing an older ore
configuration. If there is no override yet, OreSpawn still imports the old
rules as before.
* Say which files were kept in the upgrade report without implying that their
contents were validated.

Version 4.0.16.111021

* Adopt the shared 4.0.16 release identity. Forge 1.11 has neither
Expand Down
53 changes: 48 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,15 @@ It gives mods and modpacks one place to configure ores, deposit shapes, optional
rock strata and geomes, provider-owned underground fluid deposits, biome
palettes and world materials, flat bedrock, and bounded ore retrogen.

This branch builds target-qualified version `4.0.16.111021`: the OreSpawn 4.0.16
feature set for Minecraft 1.11.2 and Forge. See the
[versioning policy](docs/VERSIONS.md) for the encoding and release convention.
This branch builds target-qualified version `4.1.6.111021`: the OreSpawn 4.1.6
feature set for Minecraft 1.11.2 and Forge. It adds stable generation identity,
non-loading geology sampling, per-resource background control, existing-world
provider merge policy, an Ore Sources arbiter for equivalent provider ores, a
biome directory with exact new-terrain replacement overrides, and a client
world-settings extension point for add-ons such as Realistic Deposits. It also
retains the legacy Codec bridge while preserving API
major 1. See the [versioning policy](docs/VERSIONS.md) for the encoding and
release convention.

Its deprecated OS3 compatibility layer imports OreSpawn 3 configuration and
keeps existing OreSpawn 3 consumer jars working while translating their rules
Expand All @@ -22,6 +28,9 @@ metadata block states, exclusive legacy height ceilings, and the historical
Metals. OreSpawn never schedules both the original OS3 generator and its OS4
translation.

If you already have an OreSpawn 4 provider override, importing an older config
leaves it in place. The upgrade report tells you which files were kept.

This is not the unrelated mod that adds mobs and dimensions under the same
name.

Expand All @@ -42,7 +51,33 @@ TerraBlender.

When a provider exposes world settings, use **OreSpawn...** on the Create World
screen. **Recommended Defaults** restores the settings supplied by the
installed mods and pack. The in-game **Help & Guide** explains the controls.
installed mods and pack. **Mods** opens a directory of every loaded mod that
OreSpawn recognizes through a current provider, legacy compatibility path, or
client configuration hook. It shows each mod's version, integration lineage,
provider revision and status; its cog opens an add-on-owned configuration
screen when one is available. The in-game **Help & Guide** explains the other
controls.

On the ORES tab, **Ore Sources...** opens a material-group editor with compact,
independently scrolling group and output lists. Routine one-alias, one-output
entries are hidden behind **Show All**. Red groups need review, yellow groups
have a saved policy, and green entries need no action. **Balanced**, **Single**
and **Custom** use one managed placement budget and choose one output for a
whole vein or stable custom-deposit body; **Keep Original** preserves each
active rule. A group's cog edits its friendly name, exact Ore Dictionary aliases
and Placement Rules. Custom groups can be dissolved deterministically, and
**Reset All** restores inferred and curated defaults. All changes remain pending
until the main editor's **Done** action; Cancel discards them.

**Biomes** opens a directory covering every loaded, referenced and missing
biome, all palettes in their effective order, replacement status, surfaces and
placement constraints. Exact replacements apply only to newly generated
terrain through a final reserved palette; chains flatten, cycles are rejected,
and missing targets remain dormant until their mod returns. Dimension materials
are shown beside the dimension selector because they apply to every biome in
that dimension. Light-equivalent aquifer fluids use a compact generation mask
and pre-decoration substitution, while fluids with different light properties
retain the compatible generator path. Existing chunks are never rewritten.

Important files:

Expand Down Expand Up @@ -121,14 +156,22 @@ from an empty Gradle home followed by an offline replay from that same cache:
.\gradlew.bat genEclipseRuns verifyEclipseProductionClasspath --no-daemon
```

Git stores text with LF endings and checks out source, guides, and `gradlew`
with LF on every platform. Windows `.bat` and `.cmd` files use CRLF. The
`.gitattributes` and `.editorconfig` files agree on this policy; a fresh
checkout applies it without changing any Git or editor-wide settings.

`build` runs the standard `check` lifecycle. In addition to the JUnit suite,
that lifecycle packages a test-only provider mod and verifies 2,304 exposed
surface columns per built-in normal-noise End and Nether dimension, including
underwater, immediate filler, and ceiling-underside behavior. It also proves
later vegetation, structures, and block entities
survive, validates provider-rock vanilla springs and an external ore-pattern
registration, then reopens and checks the exact saved world. The fixture is
not included in OreSpawn's published jars.
not included in OreSpawn's published jars. It also verifies multiple palettes,
an unmanaged loaded biome, exact new-terrain replacement, unchanged old chunks,
Ore Sources persistence/reset behavior, dimension-scoped materials, and
fresh/reload profile and generation parity.

Import or refresh the project with Eclipse Buildship, then run
`genEclipseRuns` and `verifyEclipseProductionClasspath`. This branch uses
Expand Down
Loading
Loading