A plugin for Paper that adds a fully custom and configurable enchanting system inspired by Tinkers' Construct.
This release adds 2 new compatible plugins: ServerLevels (my own plugin) and CraftEngine.
CraftEngine can be used just like ItemsAdder, where you can use your custom items from CraftEngine as materials in your materials.yml AND as your cost preview item set in your config.yml.
ServerLevels introduces a new feature: Custom Enchanting Requirements. Using ServerLevels, you can require that a player reach a certain level in any of your custom level systems before they're allowed to apply any enchant of any given level. This is useful for something like an RPG server where you may not want players to be able to enchant their gear with Protection 4 until they've reached something like Enchanting level 20.
This release also introduces the beginning of the NouveauEnchanting API. Currently, this is just one new custom Event: the PlayerEnchantEvent.
This event fires when a player enchants an item using the NEW SYSTEM ONLY and gives you all the details you'd need, such as the player who was enchanting, the enchantment in question, the material they were enchanting with, the level of the enchant they applied, how much of the material it costed, and how much exp it costed. It CANNOT be canceled, though in the future I intend to make this event cancellable so that developers can add their own custom enchant conditions without needing to fork the plugin.