UniDict Mod — Reference
Core Mechanics
UniDict operates by scanning the Ore Dictionary (OreDict) and identifying items that share the same name (e.g., ingotCopper). It then selects one specific mod's version of that item as the 'Primary' or 'Preferred' output. All recipes that would normally produce a different version of that item are redirected to produce the preferred version instead.
The Priority System
The heart of UniDict is the Priority List. Users define a list of mod IDs in the configuration file. UniDict will look at this list from top to bottom; the first mod on the list that provides a specific OreDict entry will become the owner of that entry's output.
Recipe Unification
UniDict modifies the following recipe types to ensure consistency: * Crafting Table: Standard 2x2 and 3x3 recipes. * Furnace: Smelting recipes that result in unified resources. * Machine Outputs: Processing recipes in crushers, grinders, and pulverizers. * Hidden Items: Optionally, UniDict can hide non-preferred versions of items from JEI (Just Enough Items) to reduce clutter.
CraftTweaker Support
UniDict provides a dedicated API for CraftTweaker, allowing script writers to manually interact with the unification engine. This is useful for custom items that may not follow standard OreDict naming conventions.
Available Methods:
mods.unidict.api.Unidict.addUnificationEntry(IItemStack stack, String name);- Manually adds an item to a specific unification group.
mods.unidict.api.Unidict.removeUnificationEntry(String name);- Removes an OreDict name from UniDict's processing list.
mods.unidict.api.Unidict.getPreferredItem(String oreName);- Returns the IItemStack that UniDict has chosen as the preferred output for that OreDict entry.