Skip to content

Duplicate Config

Relentless edited this page Oct 19, 2022 · 6 revisions

The duplicates config can be used to configure how duplicate recipes should be handled after the unification process.

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

Key Description Example
ignoredRecipeTypes List of recipe types which should be ignored. ["minecraft:smelting"]
ignoredRecipes List of recipe ids which should be ignored. ["minecraft:iron_ingot_from_blasting"]
defaultDuplicateRules How recipes should be handled per default. See below
overrideDuplicateRules Override rules for specific recipe types. See below
strictMode Whether the duplicate check should be strict. See below

defaultDuplicateRules

The field ignoredFields describes which fields should be completely ignored when comparing two recipes to find the duplicate, e.g. conditions. This is useful because recipes may be equal but one recipe may only load under specific conditions even though the condition is met anyways.

rules defines how recipes should be handled if they are considered equal. The key (e.g. cookingtime) describes the field name inside the recipe JSON. Currently, possible values for the rules are HigherRule and LowerRule. The HigherRule will choose the recipe with the higher value for the field and the LowerRule will choose the recipe with the lower value for the field. This is useful when two recipes have the same input and output but different cookingtime and the recipe where the cookingtime is higher should be preferred.

  "defaultDuplicateRules": {
    "ignoredFields": [
      "conditions"
    ],
    "rules": {
      "cookingtime": "HigherRule",
      "energy": "HigherRule",
      "experience": "HigherRule"
    }
  },

overrideDuplicateRules

Recipe types can be overridden to follow different rules, e.g. for the minecraft:smelting recipe type, ignore the cookingtime field and just choose the recipe with the higher experience value.

  "overrideDuplicateRules": {
    "minecraft:smelting": {
      "ignoredFields": [
        "cookingtime"
      ],
      "rules": {
        "experience": "HigherRule"
      }
    }
  }

strictMode

Default value: false

The strictMode defines the duplicate checking strategy. When false (default), recipes that were unified are only checked against other recipes that were unified, thus not checking against any recipes that already existed in the game before the unification process.
When true, all unified recipes will be checked against all existing recipes of the same recipe type, including recipes that were not unified. This is useful if you want to make sure that no duplicate recipes exist in your modpack. The disadvantage is that this will take a bit longer to process.

Clone this wiki locally