-
Notifications
You must be signed in to change notification settings - Fork 14
Duplicate Config
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 |
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"
}
},
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"
}
}
}
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.