Goal
Expand Magic Storage beyond its current exact crafting, cooking, stonecutting, Smithing Transform, and deterministic axe-transformation families while preserving server authority and atomic execution.
Candidate families
Evaluate and implement each family separately:
Smithing Trim with exact component preservation.
Loom and cartography operations.
Grindstone, anvil, and enchanting operations.
Supported special/dynamic vanilla recipe subclasses.
Explicit block-tool transformations and mod block hooks.
Other player/world/event-dependent transformations only when their complete behavior can be modeled and revalidated.
Required approach
Build each family through the normalized adapter platform tracked in [Epic] Build a modded recipe and station compatibility platform #1 .
Audit the real vanilla/NeoForge implementation before defining its contract.
Define exact input identities, output assembly, component preservation, catalysts/tools, costs, remainders, station requirements, simulation, and commit behavior.
Keep unsupported or context-incomplete operations fail closed.
Preserve deterministic recipe ordering and component-sensitive output variants.
Non-goals
No blanket support based only on Recipe#getIngredients().
No approximate registry-default reconstruction when output depends on source components.
No event, random, player-state, or world mutation that cannot be simulated and atomically committed.
Brewing is tracked separately.
Acceptance criteria
Every added family has a written execution contract and dedicated adapter.
Preview and execution use the current server RecipeManager or an explicitly bounded server catalog.
Exact components, multiplicity, tools/catalysts, remainders, destinations, capacity, and rollback are tested.
Craftable discovery preserves distinct component-sensitive output variants.
Unsupported variants produce a neutral unsupported/no-recipe state rather than an incorrect craft.
Tests cover recipe reloads, stale selections, missing stations, full destinations, and dedicated-server classloading.
RED-first SelfTest/GameTest coverage and all CI gates pass.
GUI-visible recipe presentations pass the current fullscreen Prism manual gate.
Dependencies
References
Goal
Expand Magic Storage beyond its current exact crafting, cooking, stonecutting, Smithing Transform, and deterministic axe-transformation families while preserving server authority and atomic execution.
Candidate families
Evaluate and implement each family separately:
Required approach
Non-goals
Recipe#getIngredients().Acceptance criteria
RecipeManageror an explicitly bounded server catalog.Dependencies
References