Skip to content

Port Minecraft 1.12.2 to Mineralogy 6.0.1 and OreSpawn 4 - #137

Merged
SkyBlade1978 merged 9 commits into
MinecraftModDevelopmentMods:master-1.12from
SkyBlade1978:master-1.12
Aug 24, 2026
Merged

Port Minecraft 1.12.2 to Mineralogy 6.0.1 and OreSpawn 4#137
SkyBlade1978 merged 9 commits into
MinecraftModDevelopmentMods:master-1.12from
SkyBlade1978:master-1.12

Conversation

@SkyBlade1978

Copy link
Copy Markdown
Collaborator

Summary

This upgrades the Minecraft 1.12.2 branch from Mineralogy 3.8.0 to Mineralogy 6.0.1.112021 and makes released OreSpawn 4 the sole terrain, strata, ore and covered-deposit engine.

The port targets Forge 14.23.5.2859 and released OreSpawn 4.0.7.112021 (CurseForge file 8685379). It retains the mineralogy mod ID and historical registry, tile, NBT, asset, recipe, patch and OreDictionary identities needed by existing worlds, while moving production packages to zone.moddev.mc.mineralogy.

OreSpawn 4 integration and migration

  • Removes Mineralogy's internal geology, stone-replacement, ore-spawning and noise engines, the OS3 shim, and all native world-generator registration.
  • Adds a schema-4/revision-3 provider containing the 32 stable rock rules, sulfur/phosphorous/nitrate ores, Overworld-only terrain rules, Stable Layers defaults, Cyano migration defaults and the covered Ocean crude-oil deposit.
  • Uses target-native 1.12 heights and block metadata without modern deepslate/tag aliases.
  • Keeps manage_vanilla_ores=false; Mineralogy neither generates nor restores cancelled vanilla ore.
  • Migrates independently valid non-default legacy ore settings, including the native sulfur_ore key and historical sulphur_ore fallback, into an atomic provider override without rewriting the source mineralogy.cfg.
  • Leaves established OreSpawn profiles and provider overrides authoritative and keeps migration reports deterministic across reloads.
  • Adds isolated mineralogy_crude_oil, the Mineralogy oil block and bucket, target-native Forge fluid/container behavior, and the covered Ocean deposit rule.
  • Keeps Mineralogy oil distinct from Power Advantage's historical global crude_oil fluid.

Configuration and content controls

  • Adds the four independent controls requested in Option to disable drywalls, rock salt lamps and ores #121, all enabled by default:
    • ENABLE_DRYWALLS
    • ENABLE_ROCK_SALT_LAMPS
    • ENABLE_MINERAL_DUSTS
    • ENABLE_MINERAL_FERTILIZER
  • Disabled content remains registered and existing stacks remain valid; these switches affect creative visibility and Mineralogy-owned recipes only.
  • Preserves the historical COBBLESTONE_EQUIVILENT spelling and makes it functional for all 27 raw rock families, while retaining unconditional chert/pumice and specialty storage-block/lamp aliases.
  • Replaces the old class-driven grouping with the stable five-tab Rock/Stair/Slab/Wall/Item policy behind GROUP_TABS_BY_TYPE, while preserving the single-tab default.
  • Clean installs write the new content settings; existing configuration files missing them remain byte-unchanged and use compatibility defaults.
  • Ore generation remains controlled per stable rule through OreSpawn's Rocks & Ores UI rather than through a second Mineralogy worldgen switch.

Recipes and gameplay repairs

  • Moves Mineralogy crafting entirely to native 1.12 JSON recipes and supplies one correctly gated recipe-book advancement for every recipe.
  • Provides 1,387 material-exact recipes and 1,387 matching advancements, including direct-input unlock progression, sand-gated polishing and the historical blank-to-marked relief sequence.
  • Preserves four dust to one block for gypsum, chalk and rock salt.
  • Supports dustCarbon, Base Metals dustCoal, exact vanilla charcoal and sugar for gunpowder; ordinary coal is not accepted.
  • Uses exact Mineralogy slab ingredients without deleting or overriding vanilla and third-party slab recipes.
  • Adds matching slab recombination, 2x2 construction-form brick conversion, sand polishing and brick-block-to-polished-brick convenience routes without allowing mixed materials.
  • Documents the target-native furnace recipe: eight matching Mineralogy slabs around a vanilla furnace. A raw-rock ring intentionally remains the generalized vanilla furnace recipe because those rocks are cobblestone equivalents.
  • Repairs rock-furnace TileEntity construction and lazy material recovery, preserving saved inventory and burn/cook progress.
  • Retains novaculite's Mineralogy 6 3/15/1 properties.
  • Restores replacement semantics for chert flint and DROP_COBBLESTONE.
  • Repairs all hidden double slabs: normal harvest gives two matching slabs, Silk Touch gives one exact full block, Pick Block gives one slab and Fortune does not multiply either result.
  • Includes the pre-existing corrected rock-salt lamp and street-lamp item-model transforms.

Localization and documentation

Build and release metadata

  • Sets the release version to 6.0.1.112021 using the documented Major.Minor.Bug.Target convention.
  • Uses the complete four-component version as the release tag (6.0.1.112021); the Target already identifies Minecraft and loader.
  • Requires orespawn@[4.0.7,5.0.0) and pins released CurseForge file 8685379.
  • Moves Maven coordinates to zone.moddev.mc:Mineralogy:6.0.1.112021.
  • Migrates the build to ForgeGradle 7.0.34 and Gradle 9.6.1, using a Java 8 compilation toolchain and producing exactly main, sources and Javadoc jars.
  • Adds guarded 1.12 CI/tag automation and generalizes the default-branch release dispatcher for both the maintained 1.10.2 and 1.12.2 targets.
  • Repairs ForgeGradle 7 Eclipse generation for Buildship, production-only classpaths, merged FML resources and launcher paths containing spaces.

Issues covered

No issue is automatically closed by this PR; maintainers can close applicable tickets after review and acceptance.

Validation

Validation used the exact released OreSpawn artifact and Java 8 production bytecode:

  • Final current-HEAD release gate passed 84 JUnit tests across 18 suites with zero failures, errors or skips.
  • clean check build javadoc verifyReleaseDependencies verifyReleaseArtifacts writeReleaseChecksums passed.
  • ForgeGradle/Eclipse genEclipseRuns isolateEclipseProductionRuns verifyEclipseProductionClasspath eclipse passed with production-only launch classpaths.
  • Release audits proved Java 8 bytecode, metadata/dependency/version contracts, all 17 locales, seven human guides, valid provider/JSON resources and no retired worldgen, old package, test, probe, agent-note or development-transformer leakage.
  • Development and exact launcher-like packaged client/server fresh-and-reload smokes completed with full log, mod-list, classpath and crash-directory inspection.
  • Preferred-seed generation covered 162 chunks and proved all rock families, all three ores, a covered Ocean oil deposit, no Nether replacement, no duplicate Mineralogy generator and identical reload counts.
  • Oil pickup, placement, flow and container behavior passed, including coexistence with Power Advantage without fluid collision.
  • Ore-event suppression proved Mineralogy does not restore cancelled vanilla ores.
  • Furnace inventory/progress and material recovery passed save/reload qualification.
  • The final JSON recipe set loads all 1,876 advancements; manual fresh-player testing accepted the corrected direct-input and sand-gated recipe-book progression.
  • A disposable Sylvester upgrade/reload retained the historical Cyano/LEGACY profile, stable migration output and Mineralogy/Base Metals identities without modifying the source fixture.
  • git diff --check passed and both the feature branch and fork product branch resolve to the exact same commit.

Candidate

  • Commit: 681a68f1988086137fa225e70d0ce2296f6eca2e
  • Jar: Mineralogy-6.0.1.112021.jar
  • SHA-256: 558AD3403486F3B5CF575494BDF0A36B9F5967EA8D58E94BDBC2C2B3B6AF5D22
  • Sources SHA-256: 0D17D0C66E29C5EE069432144BDF81553F9743197BA11C2F27E08B702CD07E77
  • Javadoc SHA-256: F0E810E8BBD253788EF023E59DC699539076AE523561797014E3F0FB39B78246

This PR does not modify or release OreSpawn and does not publish or tag a Mineralogy artifact.

@SkyBlade1978
SkyBlade1978 merged commit d67796d into MinecraftModDevelopmentMods:master-1.12 Aug 24, 2026
1 check 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