Skip to content

Port OreSpawn 4.0.16 to Forge 1.12.2 - #296

Merged
SkyBlade1978 merged 6 commits into
MinecraftModDevelopmentMods:master-1.12.2from
SkyBlade1978:master-1.12.2
Sep 8, 2026
Merged

Port OreSpawn 4.0.16 to Forge 1.12.2#296
SkyBlade1978 merged 6 commits into
MinecraftModDevelopmentMods:master-1.12.2from
SkyBlade1978:master-1.12.2

Conversation

@SkyBlade1978

Copy link
Copy Markdown
Contributor

Summary

Backports the accepted OreSpawn 4.0.9-4.0.16 campaign to Forge 1.12.2 and finishes at 4.0.16.112021.

This keeps Minecraft 1.12.2, Forge 14.23.5.2859, ForgeGradle 7.0.34, Gradle 9.6.1, MCP stable 39, Java 8 bytecode, pack format 3, API major 1, schemas 4/6/5, and the compatibility range [4.0.6,5.0.0).

Fixes included

  • Protects provider-declared natural-host replacement from air, liquids, bedrock, and block-entity positions while retaining the target's existing IWorldGenerator ordering and preserving authored/vegetation output, undeclared blocks, realistic coal, and existing chunks.
  • Evaluates Stable Layers rock bounds against actual world Y while keeping shifted formation Y for family/layer/lithology identity, including deterministic selection of another eligible configured rock before fallback.
  • Adds immutable ore-dimension exact biome include/exclude IDs and dictionary filters to the public builder/definition, serialized through the existing provider JSON fields without a schema change.
  • Accepts canonical namespaced and legacy unnamespaced geome IDs in the editor while rejecting malformed, non-canonical, or duplicate values.
  • Converts exposed SNOW_LAYER at top + 1 and surface Ice while preserving buried/authored and unconfigured controls.
  • Records the shared 4.0.16 identity while keeping dynamic-registry matching, sampler-height alignment, 3D biome attribution, and GameTest lifecycle changes target-inapplicable for Forge 1.12's static 2D biome system and absent server GameTest harness.

The existing 4.0.7 packaged-runtime repair is retained unchanged, including both access-transformer rules and the FMLAT manifest entry.

Build, CI, and documentation

  • Adds the isolated cold Forge bootstrap contract with pinned Java 25, Java 8, and Java 17 installations. Official MinecraftMavenizer 0.5.19 succeeds with zero compatibility patches and replays offline from the same cache.
  • Exports VERSIONS.md at runtime and enforces byte parity for all 21 documentation files across tracked, generated, Eclipse, runtime-exported, and packaged copies.
  • Updates release identity, Maven/POM metadata, checks, workflows, README, changelog, upgrade reports, and version guidance to 4.0.16.112021.
  • Preserves deterministic version-only main, sources, and Javadoc artifacts and the isolated Mineralogy migration qualification.

Validation

  • 153 tests across 38 suites; zero failures, errors, or skips.
  • 15 JSON/mcmeta/mcmod resources parsed; 16 locales with 357 identical keys; all 21 documents in parity; git diff --check clean.
  • Full clean offline build, check, Javadocs, release-artifact audit, checksums, generated Eclipse runs, and production-classpath verification passed.
  • Exact-commit cold lifecycle plus empty-cache online Forge bootstrap and same-cache offline replay passed.
  • Userdev and exact reobfuscated Forge 14 packaged-server fresh/reload phases passed; Cleanroom fresh/reload also passed with both packaged access transformers proven.
  • Surface qualification retained 2,304 columns, nine underwater tops, 6,912 filler blocks, and 36 late sentinels per dimension; converted 108 raw natural states while preserving structure, vegetation, cave, underwater, bedrock, and block-entity controls; Snow/Ice and reload-stable fluid checks passed.
  • Launcher-like client qualification covered world creation, all eight long editor fields, namespaced/legacy geomes, provider-filter JSON, rendering, save/reopen, and clean shutdown.
  • Preferred-seed and matched performance qualification passed; normalized medians remained below the investigation threshold.
  • Release jar SHA-256: 7A33DF1BB2B856F79421D69425282DBB4756E03824EB7263EDCCB8DE43D87F07.

The exact candidate 4488ff24b394f3f3426ea9f031f7cbebbfbbc2ae has been manually accepted. This PR does not tag, publish, release, or directly update the MMD target branch.

@SkyBlade1978
SkyBlade1978 merged commit f25a262 into MinecraftModDevelopmentMods:master-1.12.2 Sep 8, 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