Skip to content

Port OreSpawn 4.0.16 to Forge 1.17.1 - #290

Merged
SkyBlade1978 merged 9 commits into
MinecraftModDevelopmentMods:master-1.17.1from
SkyBlade1978:master-1.17.1
Sep 7, 2026
Merged

Port OreSpawn 4.0.16 to Forge 1.17.1#290
SkyBlade1978 merged 9 commits into
MinecraftModDevelopmentMods:master-1.17.1from
SkyBlade1978:master-1.17.1

Conversation

@SkyBlade1978

Copy link
Copy Markdown
Contributor

Summary

Backports the tested OreSpawn 4.0.10 through 4.0.16 campaign from Forge 1.18.2 to Forge 1.17.1, finishing at 4.0.16.117011.

Fixes included

  • evaluates Stable Layers rock ranges against actual world Y while retaining shifted formation identity;
  • binds the active dynamic biome registry before profile baking, combines exact and dictionary weights before climate fallback, and stores managed-ore filters as stable biome keys;
  • aligns public sampler height and direct quart-biome attribution with chunk geology;
  • adds immutable ore-dimension biome include/exclude ID and dictionary builder/getter contracts using the existing provider JSON fields;
  • accepts canonical namespaced and legacy unnamespaced geome IDs;
  • converts exposed one-layer Snow at top + 1 while preserving buried/authored Snow and Ice;
  • leaves benchmark reporting and shutdown to GameTestServer, while ordinary dedicated benchmark servers still stop automatically.

Forge 1.17 adaptations

  • retains Forge 37.1.1, pack format 7, Java 16 bytecode, reobfuscation and all six access-transformer contracts;
  • uses Forge 1.17 BiomeDictionary plus stable ResourceKey<Biome> values because later biome-tag APIs are unavailable;
  • shares a direct quart-biome lookup through ChunkBiomeContainer / BiomeManager.NoiseBiomeSource;
  • keeps Gradle on exact Java 17 while compiling with the pinned Java 16 toolchain;
  • adds a real cold Forge bootstrap job with the verified zero-patch result—no Mavenizer or Java 25 compatibility layer is introduced.

API major 1, schemas 4/6/5, registry IDs, existing provider field meanings, profile filenames, migration behavior, existing chunks and the [4.0.6,5.0.0) compatibility range remain unchanged.

Validation

  • 128 tests across 33 suites, zero failures/errors/skips;
  • 28 JSON/mcmeta files parsed; 16 locales with 357 matching keys; 21-document parity;
  • full offline clean/check/build/Javadocs/release audit/checksum lifecycle;
  • ForgeGradle 7 genEclipseRuns and production-classpath verification in both the primary and clean exact-commit worktrees;
  • empty-cache online Forge bootstrap followed by same-cache offline replay with no source patch;
  • exact reobfuscated packaged client plus fresh/reload server, including editor round trips, surface, natural-host, dynamic-biome, weather, fluid and attribution gates;
  • Java 16/Forge 37/pack 7/six-AT artifact audit with no fixture, oracle, test, world or agent-note leakage;
  • three matched 81-chunk runs: Sky/Average 14.898, Cyano 12.162 and vanilla 15.069 ms/chunk; normalized Sky change versus the accepted 4.0.9 control is +7.48%, below the 10% investigation threshold;
  • clean runtime logs and no surviving benchmark process.

The exact candidate 3b73f396ffc15da66848162e38d37c990968297f was manually accepted before publication. This PR does not tag, publish, or directly update the MMD branch.

@SkyBlade1978
SkyBlade1978 merged commit 7f9da82 into MinecraftModDevelopmentMods:master-1.17.1 Sep 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant