Adds random enchants to items

*** Input parameters ***

- "source" <source entity/block> |  Ex. {"source":"entity @s"}
The entity or block that contains the item that will be enchanted

- "item_location" <location of the item> |  Ex. {"item_location":"hotbar.0"}
Inventory location of the item to be enchanted

- "number" <int>  |  Ex. {"number":"3"}
The amount of enchants to put on the item. Can be a range to randomize the amount

- "levels" <int>  |  Ex. {"number":"2"}
The levels of each enchant. Can be a range to randomize each enchants' level

- "allow_incomp" <true|false> |  Ex. {"allow_incomp":false}
(Allow incompatability) Whether the pool of enchants should include ones not normally obtainable on this item



*** Examples ***

~~~~~
# Enchants the item in this block's first slot. It will have between 2 to 4 enchants, each at level 3. Only compatible enchants can be put on this item
/function ac_lib:mechanic/enchant_random/do {"source":"block ~ ~-1 ~","item_location":"container.0","number":"2..4","levels":"3","allow_incomp":"false"}

# Enchants the item in this player's mainhand. It will have 3 enchants, with levels between 1 and 10. Any enchant in the game can be put on this item
/function ac_lib:mechanic/enchant_random/do {"source":"entity @s","item_location":"weapon.mainhand","number":"3","levels":"1..10","allow_incomp":"true"}
~~~~~