Skip to content

Unification Config

Relentless edited this page Aug 5, 2023 · 9 revisions

Description

The unify config can be used to configure the the way recipes are unified.

Location: config/almostunified/unify.json
If you don't find the config, make sure you already loaded a world once.

Explanation

Key Description Example
modPriorities List of mods defining the priority order for dominant items.
higher = more priority
["minecraft", "kubejs", "crafttweaker", "create"]
stoneStrata List of stone types used to filter different variants in recipe results. ["nether", "deepslate", "granite", "diorite", "andesite"]
tags List of tags used for unification.
Using {material} inside a tag will work as a placeholder for all materials from the materials list below.
["forge:nuggets/{material}", "forge:ingots/{material}", "silicon"]
materials List of the materials the {material} placeholder from above is replaced with. ["iron", "gold", "emerald", "bronze"]
priorityOverrides Override the priority mod for a specific tag. {"forge:ingots/tin": "mekanism"}
tagOwnerships Specify tags that should be converted to other tags. See below
ignoredTags List of tags to ignore for unification.
Placeholders like {material} can't be used here.
["forge:nuggets/copper"]
ignoredItems List of item IDs to ignore for unification.
supports regex
["minecraft:iron_ingot"]
ignoredRecipeTypes List of recipe types to ignore for unification.
supports regex
["minecraft:smelting"]
ignoredRecipes List of recipe IDs to ignore for unification.
supports regex
["minecraft:iron_ingot_from_blasting"]
hideJeiRei Whether items that are no longer in use are automatically hidden from JEI or REI true or false

Tag Ownerships

This option allows you define tags that should be converted to other tags.
Tags that group other under them are called owner tags while the tags that are grouped are called reference tags.

An owner tag can host multiple reference tags. Owner tags must be part of the unify tag list while reference tags should not.

This feature can be used to merge tags with different formats so that all recipes can make use of them.

Example

Let's say some mods use the tag forge:coals to group their custom coal items while another mod is using forge:gems/coal. Both of them also add recipes where they use their own tags. When you define both of these tags in the unify config, the recipes will be unified but they will never use the same ingredients because the tags differ. And they are also not detected as duplicates.

The same principle could be applied to Fabric, where some mods use the convention c:tin_ingots while other mods use the Forge styled variant c:ingots/tin.

To solve this problem, you can define the config option like this:

"tagOwnerships": {
  "forge:coals": [
    "forge:gems/coal"
  ],
  "c:tin_ingots": [
    "c:ingots/tin",
    "some_mod:tin_ingots"
  ]
}

As you can see, you can assign multiple reference tags to an owner tag.

The unification will automatically add all items of each reference tag to the owner tag and then replace all occurrences of the reference tags in recipes with the owner tag.
After that, it will automatically hide all items of the grouped tags that are not the dominant item.

Tag Inheritance

TODO

Default Config

Forge

{
  "modPriorities": [
    "minecraft",
    "kubejs",
    "crafttweaker",
    "create",
    "thermal",
    "immersiveengineering",
    "mekanism"
  ],
  "stoneStrata": [
    "stone",
    "nether",
    "deepslate",
    "granite",
    "diorite",
    "andesite"
  ],
  "tags": [
    "forge:nuggets/{material}",
    "forge:dusts/{material}",
    "forge:gears/{material}",
    "forge:gems/{material}",
    "forge:ingots/{material}",
    "forge:raw_materials/{material}",
    "forge:ores/{material}",
    "forge:plates/{material}",
    "forge:rods/{material}",
    "forge:wires/{material}",
    "forge:storage_blocks/{material}",
    "forge:storage_blocks/raw_{material}"
  ],
  "materials": [
    "aeternium",
    "aluminum",
    "amber",
    "apatite",
    "bitumen",
    "brass",
    "bronze",
    "charcoal",
    "chrome",
    "cinnabar",
    "coal",
    "coal_coke",
    "cobalt",
    "constantan",
    "copper",
    "diamond",
    "electrum",
    "elementium",
    "emerald",
    "enderium",
    "fluorite",
    "gold",
    "graphite",
    "invar",
    "iridium",
    "iron",
    "lapis",
    "lead",
    "lumium",
    "mithril",
    "netherite",
    "nickel",
    "obsidian",
    "osmium",
    "peridot",
    "platinum",
    "potassium_nitrate",
    "ruby",
    "sapphire",
    "signalum",
    "silver",
    "steel",
    "sulfur",
    "tin",
    "tungsten",
    "uranium",
    "zinc"
  ],
  "priorityOverrides": {},
  "tagOwnerships": {},
  "ignoredTags": [],
  "ignoredItems": [],
  "ignoredRecipeTypes": [
    "cucumber:shaped_tag"
  ],
  "ignoredRecipes": [],
  "itemsHidingJeiRei": true
}

Fabric

{
  "modPriorities": [
    "minecraft",
    "kubejs",
    "crafttweaker",
    "create",
    "thermal",
    "immersiveengineering",
    "mekanism"
  ],
  "stoneStrata": [
    "stone",
    "nether",
    "deepslate",
    "granite",
    "diorite",
    "andesite"
  ],
  "tags": [
    "c:nuggets/{material}",
    "c:dusts/{material}",
    "c:gears/{material}",
    "c:gems/{material}",
    "c:ingots/{material}",
    "c:raw_materials/{material}",
    "c:ores/{material}",
    "c:plates/{material}",
    "c:rods/{material}",
    "c:wires/{material}",
    "c:storage_blocks/{material}",
    "c:storage_blocks/raw_{material}",
    "c:{material}_nuggets",
    "c:{material}_dusts",
    "c:{material}_gears",
    "c:{material}_gems",
    "c:{material}_ingots",
    "c:{material}_raw_materials",
    "c:{material}_ores",
    "c:{material}_plates",
    "c:{material}_rods",
    "c:{material}_wires",
    "c:{material}_storage_blocks",
    "c:raw_{material}_storage_blocks"
  ],
  "materials": [
    "aeternium",
    "aluminum",
    "amber",
    "apatite",
    "bitumen",
    "brass",
    "bronze",
    "charcoal",
    "chrome",
    "cinnabar",
    "coal",
    "coal_coke",
    "cobalt",
    "constantan",
    "copper",
    "diamond",
    "electrum",
    "elementium",
    "emerald",
    "enderium",
    "fluorite",
    "gold",
    "graphite",
    "invar",
    "iridium",
    "iron",
    "lapis",
    "lead",
    "lumium",
    "mithril",
    "netherite",
    "nickel",
    "obsidian",
    "osmium",
    "peridot",
    "platinum",
    "potassium_nitrate",
    "ruby",
    "sapphire",
    "signalum",
    "silver",
    "steel",
    "sulfur",
    "tin",
    "tungsten",
    "uranium",
    "zinc"
  ],
  "priorityOverrides": {},
  "tagOwnerships": {},
  "ignoredTags": [],
  "ignoredItems": [],
  "ignoredRecipeTypes": [],
  "ignoredRecipes": [],
  "itemsHidingJeiRei": true
}

Clone this wiki locally