Skip to content

Commit 427c613

Browse files
committed
Fix provider-declared natural terrain replacement on Forge 1.16.5
1 parent a70248d commit 427c613

19 files changed

Lines changed: 354 additions & 38 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ jobs:
5656
if-no-files-found: error
5757
retention-days: 30
5858
path: |
59-
build/libs/OreSpawn-4.0.8.116051.jar
60-
build/libs/OreSpawn-4.0.8.116051-sources.jar
61-
build/libs/OreSpawn-4.0.8.116051-javadoc.jar
59+
build/libs/OreSpawn-4.0.9.116051.jar
60+
build/libs/OreSpawn-4.0.9.116051-sources.jar
61+
build/libs/OreSpawn-4.0.9.116051-javadoc.jar
6262
build/release/SHA256SUMS
6363
CHANGELOG.txt
6464

‎CHANGELOG.txt‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
Version 4.0.9.116051
2+
3+
* Replace provider-declared natural terrain hosts during the existing geology
4+
scan before structure and vegetation features can author matching blocks.
5+
* Keep air, fluids, bedrock, and block entities protected even when their block
6+
IDs are mistakenly declared as terrain hosts.
7+
* Apply the correction only while generating new chunks; existing chunks and
8+
saved profiles remain unchanged.
9+
110
Version 4.0.8.116051
211

312
* Preserve long host, tag, and biome-list values when OreSpawn editors load

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ End" policy used by mods such as Base Metals.
1717
This is not the unrelated mod that adds mobs and dimensions under the same
1818
name.
1919

20-
This branch builds target-qualified version `4.0.8.116051`: the OreSpawn 4.0.8
20+
This branch builds target-qualified version `4.0.9.116051`: the OreSpawn 4.0.9
2121
feature set for Minecraft 1.16.5 and Forge. See the
2222
[versioning policy](docs/VERSIONS.md) for the encoding and release convention.
2323

‎build.gradle‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,7 @@ level-name=surface-integration-world
464464
level-seed=zsjpxah
465465
level-type=default
466466
online-mode=false
467+
server-port=0
467468
allow-nether=true
468469
generate-structures=false
469470
spawn-protection=0
@@ -732,7 +733,7 @@ def preparedReleaseDir = providers.gradleProperty('preparedReleaseDir')
732733
tasks.register('verifyReleaseConfiguration') {
733734
group = 'verification'
734735
doLast {
735-
if (project.mod_version != '4.0.8.116051'
736+
if (project.mod_version != '4.0.9.116051'
736737
|| project.minecraft_version != '1.16.5'
737738
|| project.forge_version != '36.2.34'
738739
|| project.mapping_channel != 'official'
@@ -745,9 +746,9 @@ tasks.register('verifyReleaseConfiguration') {
745746
throw new GradleException('Unexpected dispatcher or Java target metadata')
746747
}
747748
List<String> expectedPublicArtifacts = [
748-
'OreSpawn-4.0.8.116051.jar',
749-
'OreSpawn-4.0.8.116051-sources.jar',
750-
'OreSpawn-4.0.8.116051-javadoc.jar'
749+
'OreSpawn-4.0.9.116051.jar',
750+
'OreSpawn-4.0.9.116051-sources.jar',
751+
'OreSpawn-4.0.9.116051-javadoc.jar'
751752
]
752753
if (base.archivesName.get() != 'OreSpawn'
753754
|| expectedReleaseFiles.get().collect { it.toString() } != expectedPublicArtifacts) {
@@ -764,7 +765,7 @@ tasks.register('verifyReleaseConfiguration') {
764765
'src/main/java/zone/moddev/mc/orespawn/worldgen/LegacyMineralogyProfileMigration.java',
765766
'README.md', 'CHANGELOG.txt'
766767
].each { path ->
767-
if (!file(path).getText('UTF-8').contains('4.0.8.116051')) {
768+
if (!file(path).getText('UTF-8').contains('4.0.9.116051')) {
768769
throw new GradleException("Release identity missing from ${path}")
769770
}
770771
}
@@ -1269,6 +1270,7 @@ level-name=surface-integration-world
12691270
level-seed=zsjpxah
12701271
level-type=default
12711272
online-mode=false
1273+
server-port=0
12721274
allow-nether=true
12731275
generate-structures=false
12741276
spawn-protection=0

‎docs/BIOMES.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,13 @@ lets OreSpawn replace the actual exposed ground while preserving later trees,
123123
plants, authored structures, and block entities. In ceiling dimensions,
124124
`ceiling_block` applies to the roof underside and does not replace the roof top.
125125

126+
Provider-declared `terrain_dimensions.host_blocks` are resolved by one terrain
127+
scan at the start of `LOCAL_MODIFICATIONS`, immediately before provider
128+
surfaces. Matching natural blocks already present in base terrain are eligible
129+
for geology; matching blocks authored by later structure or vegetation stages
130+
are not. Air, fluids, bedrock, and block-entity states remain protected even if
131+
a provider mistakenly lists their block IDs as terrain hosts.
132+
126133
Surface correction is generation-only. Installing or updating OreSpawn does
127134
not rewrite already generated chunks; travel into new terrain to see a changed
128135
provider surface definition.

‎docs/VERSIONS.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Examples:
5454
| 1.13.2 | Forge | `113021` | `4.0.6.113021` |
5555
| 1.14.4 | Forge | `114041` | `4.0.8.114041` |
5656
| 1.15.2 | Forge | `115021` | `4.0.9.115021` |
57-
| 1.16.5 | Forge | `116051` | `4.0.8.116051` |
57+
| 1.16.5 | Forge | `116051` | `4.0.9.116051` |
5858
| 1.20.6 | Forge | `120061` | `4.0.6.120061` |
5959
| 1.21.11 | Forge | `121111` | `4.0.6.121111` |
6060
| 26.1.2 | Forge | `2601021` | `4.0.6.2601021` |
@@ -146,7 +146,8 @@ unaffected branches remained on their target-qualified 4.0.6 versions.
146146

147147
If a different branch later receives a shared fix, it uses the next unused
148148
Bug number, such as Forge 1.14.4's `4.0.8.114041`, even though the 4.0.7 repair
149-
was not applicable there. A branch may therefore skip functional versions.
149+
was not applicable there. Forge 1.15.2 and 1.16.5 then advanced to their
150+
target-qualified 4.0.9 releases for the provider terrain-host ordering repair.
150151
A branch may therefore legitimately skip functional version numbers.
151152

152153
This provides three useful guarantees:

‎gradle.properties‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ mcp_version=20210115.111550
1919
mod_id=orespawn
2020
mod_name=MMD OreSpawn
2121
mod_license=LGPL-2.1
22-
mod_version=4.0.8.116051
22+
mod_version=4.0.9.116051
2323
mod_group=zone.moddev.mc
2424
mod_authors=SkyBlade1978, dshadowwolf, the MMD Team
2525
mod_description=Configurable, provider-driven terrain, ore, and deposit generation.

0 commit comments

Comments
 (0)