This repository ports Thaumcraft 6 from Minecraft 1.12.2 to Minecraft 1.20.1 (Forge).
- Preserve and modernize Thaumcraft gameplay on a current Forge target.
- Rebuild legacy systems in a maintainable 1.20.1 architecture.
- Keep the mod playable during migration by shipping stable baselines first, then tightening parity.
Legacy source of truth:
old-1.12.2
Active port source:
src/main
The port follows a wide-first, then parity workflow:
- Register and render all legacy IDs/resources so the whole content surface exists in-game.
- Restore core systems in vertical slices (stations, aura/aspects, alchemy, infusion, research).
- Replace placeholder implementations with legacy-equivalent behavior.
- Finish model/render parity, missing mechanics, and polish.
Based on PORTING.md, PORTING_MEMORY.md, and PORTING_MANIFEST.md:
- Legacy scope inventory captured: 823 Java files, 97 block IDs, 99 item handles, and full asset/research counts.
- Foundation and migration scaffolding are complete (registries, datagen, migration manifest, compile/data checkpoints).
- Legacy block/item baselines are registered and visible in-game.
- Core station framework is functional (
arcane_workbench,research_table,crucible,infusion_matrix). - Aura/aspect/scanning persistence foundations are in place.
- Alchemy has a working baseline (crucible recipes, jars, quartz-sliver catalyst path, base vis crystal crucible recipes).
- Bucket of Pure / Bucket of Death now have baseline placement/pickup behavior with placeholder fluid interactions.
- Full parity still pending for major systems (essentia transport network, full infusion/research parity, warp/insanity loop, armor/tool behavior, model fidelity backlog).
Use this checklist each time you want a progress read:
- Read phase checkboxes in
PORTING.md. - Read implementation handoff notes and recent direction in
PORTING_MEMORY.md. - Use
PORTING_MANIFEST.mdto confirm migration scope and legacy inventory references. - Run compile checkpoint:
./gradlew compileJava -q - Run datagen checkpoint:
./gradlew runData - Validate in-game smoke tests for the systems touched in the current phase (station interaction, crafting loops, item/block behavior).
Progress is considered real when:
- the phase checkbox/status is updated in
PORTING.md, - the implementation is reflected in source (or source TODOs where intentionally deferred),
- compile/data checkpoints pass.
- Main plan and phase tracking:
PORTING.md - Context-compressed handoff memory:
PORTING_MEMORY.md - Legacy migration inventory/IDs:
PORTING_MANIFEST.md