Skip to content

Port OreSpawn 4.0.16 to Forge 1.14.4 - #294

Merged
SkyBlade1978 merged 6 commits into
MinecraftModDevelopmentMods:master-1.14.4from
SkyBlade1978:master-1.14.4
Sep 7, 2026
Merged

SkyBlade1978 merged 6 commits into
MinecraftModDevelopmentMods:master-1.14.4from
SkyBlade1978:master-1.14.4

Conversation

@SkyBlade1978

Copy link
Copy Markdown
Contributor

Summary

Ports the accepted OreSpawn 4.0.16 campaign to Forge 1.14.4, ending at 4.0.16.114041.

Functional changes

  • moves the single StoneReplacer pass to the start of LOCAL_MODIFICATIONS, immediately before provider surfaces, so provider-declared natural terrain is replaced before later authored features;
  • rejects air, fluids, bedrock, and block-entity positions while preserving structures, vegetation, undeclared third-party blocks, and existing chunks;
  • evaluates Stable Layers rock bounds against actual world Y while retaining shifted formation Y for layer/lithology identity and deterministic fallback selection;
  • adds immutable Ore-dimension biome ID and dictionary include/exclude builder/getter contracts through the existing provider JSON fields;
  • accepts canonical namespaced and legacy unnamespaced geome IDs in the editor;
  • inspects top + 1 for exposed one-layer Snow while preserving buried/authored Snow and Ice;
  • advances reports, documentation, Maven coordinates, workflows, and artifacts to 4.0.16.114041.

Forge 1.14 uses static, two-dimensional biome APIs and has no server GameTest harness, so the 4.0.11 dynamic-registry, 4.0.12 sampler-height, 4.0.15 3D biome-attribution, and GameTest-specific 4.0.16 repairs are explicitly recorded as target-inapplicable. Ordinary benchmark auto-stop remains unchanged.

Target preservation

  • Minecraft 1.14.4 / Forge 28.2.26
  • ForgeGradle 7.0.34 / Gradle 9.6.1
  • MCP snapshot 20190719-1.14.3
  • Java 8 bytecode and SRG reobfuscation
  • pack format 4, API major 1, schemas 4/6/5
  • existing provider meanings, profile filenames, migrations, registry IDs, chunks, and [4.0.6,5.0.0) compatibility
  • native matrix-free UI, direct navigation, translated captions, duplicated Eclipse bin/main discovery, and the sealed Mineralogy 1.14.4 oracle

Validation

The exact candidate 7daa13b65b095f8e54da3f4504059101f91ae413 received manual acceptance and passed:

  • 130 tests across 33 suites with zero failures, errors, or skips;
  • 26 parsed JSON/mcmeta files, 16 locales with 357 matching keys, and byte parity for all 21 documentation exports;
  • the complete offline build, check, Javadocs, release-artifact, checksum, Eclipse-run, and production-classpath gates;
  • a cold exact-commit lifecycle plus empty-cache online Forge bootstrap and same-cache offline replay with zero Mavenizer source patches;
  • exact reobfuscated Forge 28 packaged client and fresh/reload server runs, including world creation, editor round trips for all eight long fields, rendering, save/reopen, and clean shutdown;
  • fresh/reload surface, natural-host, ceiling, fluid, unsafe-sentinel, Stable Layers, and Snow/Ice qualification;
  • Mineralogy migration, OS4 profile precedence, byte-stable reports/reload, and preferred seed -4965128775892001975;
  • staged three-run 81-chunk Sky/Average benchmarks with vanilla and Cyano controls; direct staged changes stayed below 5%, and the investigated normalized results remained below the 25% release blocker;
  • independent Java-major, Forge/Minecraft metadata, pack-format, access-transformer, documentation/locale, and leakage audits.

The primary and cold builds produced byte-identical public jars. Main artifact SHA-256: F4BF7391A17730822AC6E0FAF7296A547CA850F2BC902E89C662EE19A8F0D911.

This PR does not tag, publish, or directly modify an MMD target branch outside the normal review/merge flow.

@SkyBlade1978
SkyBlade1978 merged commit 9e43c19 into MinecraftModDevelopmentMods:master-1.14.4 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