If you’ve seen my EnchantmentAPI, this plugin is similar in the fact that it allows you to create custom effects. The major difference though is that this has more features and instead of going through enchantments, it does it in a class system with skill trees! A skill pack will be coming out in the near future for those of you who do not want to code your own skills.
Here are the main features:
New in version 2.0 are dynamic skills and classes. With these, you can create skills and classes by just defining them in the configuration! Of course, the possibilities are limited as it only contains whatever mechanics I have made for it so far, but it is a great system for anyone who wants custom skills and cannot code their own!
These can also be used in conjunction with coded skills to lighten the load on what needs to be coded.
For details on how to use this feature, view the tutorials section for the dynamic skill and class tutorials.
Skill trees are dynamically generated according to the skills a class has and what they require. Skills can require other skills before upgrading them and the skill trees arrange them accordingly. The skill tree provides details on all of the skills attributes, along with the required level, points, and skills (if any) with a brief description at the bottom. Users just need to left click on any of the skill icons to upgrade it when they have met the requirements!
Classes are able to profess from one to the next at configurable levels. You can choose to reset back to level one upon professing or continue on with your level and skills. Each profession has its own set of skills for players to enjoy.
To be able to unlock better skills, it requires skill points. These skill points are obtained by leveling up. You level up by fighting monsters. The experience yield from monsters is also configurable.
Skills can be upgraded multiple times (unless they have a max level of 1), improving them in various ways whether it be more damage, less cooldown, less mana, longer effect, or any other effects the skill has. The skill tree visualizes these upgrades when you are viewing its details so you know what you are investing in!
To prevent players from just spamming abilities and having the system become overpowered, both a mana and cooldown system were implemented. Mana is a recharging stat that is needed to cast skills. The amount of mana required to cast a given skill and how fast it is regenerated is all configurable. With the mana, there are also cooldowns that require at least a minimum amount of time between casting skills (unless its a passive ability of course)
There are passive, target, and skill shot abilities. Each one has its own requirements for use. Passive abilities are always active, target abilities require you to cast the ability while pointing directly at your target, and skill shots can be cast at any time.
In regions of PvP protection, skills will not affect other players (unless the person making the skills codes around my safeguards). This prevents exploiting the abilities in protected regions!
Every attribute of each skill is automatically configurable along with their display names, descriptions, and icons. Each skill receives its own config file that can be edited at any time and will apply upon reload. Classes also receive their own configuration file and their prefixes (if you are using MCCore, my other plugin), profession level, skills, and child class are all configurable as well (automatically!).
Skills can be bound to held items for quick and easy use in even the most active battles!
There are built-in statuses for easy-to-use and shared effects for skills. Statuses include:
Since this is an API, new skills and classes can be added or removed at any time. You can mesh together several skill plugins and create an expansive and unique experience on your server!
New with v1.0, there are now equipment requirements that can be added to items via lore. There are two kinds of requirements that are used right now.
You can use one, both, or neither of these on every piece of equipment. This is a per-item specific thing so you can create all sorts of weapons
Note: There is a task to check the equipment that only does a certain number of players per tick (default 1). If you are noticing delays in the removal of equipment, try increasing the amount (maximum delay = (playersOnline / playersPerCheck)). The players per check setting is in the config.yml.