Skip to content

Modifing ingredients list and adding support to moded enchantments.

TheCuteFox edited this page Nov 12, 2024 · 1 revision

⚙ Configuration and compatibility

You can find a configuration file named enchantment_ingredients.json that lets you edit which ingredients should be used for each enchantment.

Editing existing configuration :

The conif file is in Json format and consist of a sucetion of Json object index by the enchantment internal identifier (Ex. : "minecraft:thorns" reference the vanillia enchant Thorns). Inside the brakets [] is a list of items defined by their internal identifier (E.G.: "minecraft:cactus" reference the Minecraft cactus), and separated by a comma ,. The first item correspond to the levl 1 enchant, the second item to the level 2 encahnt etc... So in the above exemple for the Thorns enchant :

"minecraft:thorns": [
    "minecraft:cactus",
    "minecraft:pufferfish_bucket",
    "betterenchanting:essence_of_thorn"
]

The Thorns entry will require Cactus fot Thorns I, Pufferfish Buckt for Thorn II and an Essence Of Thorn for Thorns III. Each enchantments entries are also separated by a comma ,.
You can edit existing entries of present enchantment by modifying items entries for enchantments. Be sure to respect the same naming convention as the one above. You can reference vanilla items or moded ones. If you do reference modded itmes, be sure to have the mod instaled as well, as it may crash your game if it's not.
If you do not put an item entry for each possible level, the missing ones will be replace by the Barrier Block. If you put more entries than the max level for the enchantment (Ex. : putting a seconf entry for Mending), the exceeding entries will be ingnored.

You can reference any items from Minecraft or another mod as long as you follow the standard naming convention modName:item_name.

Adding configuration for modded enchantment :

To add compatibility for a modded enchantment not natively supported by the mod, simply put a new entry at the end en the file (the closing } at the end of the enchantment_ingredients.json file). You have to respect the same naming convention and format explained in th precedent section.

Exemple for an hypotetical enchant named My Custom Enchant of the mod My Custom Mod with an internal name of my_custom_mod:my_custom_enchant and three levels will have the folowing entrie :

 //[All the config file ...]
  "minecraft:channeling": [
    "betterenchanting:essence_of_channeling"
  ],
  "`my_custom_mod:my_custom_enchant": [
    "minecraft:bone_block",
    "the_bumblezone:porous_honeycomb_block",
    "my_custom_mod:my_rare_custom_item"
  ],
}

This mod has full compatibility (with custom items and recipes) for the following mods :