Fixed several issues that caused exceptions including:
NullPointerException caused by using a power that has a cooldown but no required item
ClassCastException that prevented changing a power or config option's value if it was related to time (e.g. changing cooldowns)
Added a catch clause for packet issues caused by ProtocolLib for MC 1.14+
Players and groups can no longer be assigned utility powers.
Several powers were either changed or optimized:
Aquaphile - Now has fewer configurable options but should have less impact on servers.
Blastwave - Added an option to prevent fall damage for a period of time after using the power.
Dark Regen - Now regenerates hunger like it should, and has been optimized to reduce impact on servers.
Dodge - Player is now notified of a successful dodge. Dodge chance increases on fail instead of success, and the player will actually move when successfully dodging.
Electrified - Now targets the source of damage rather than the cause (e.g. instead of targeting an arrow, it targets who shot the arrow).
Ender Soul - Should now properly refund ender pearls.
Locust Swarm - Silverfish are spawned from blocks closer to the player to prevent underground spawns.
Mob Catcher - Throwing Eye of Ender with nothing stored no longer increases the power's stat.
Ore Detector - Now fully rendered using packets, virtually no chance of leaving Shulkers behind.
Polar Blade - Fixed a NullPointerException when users of this power clicked anywhere in their inventory with nothing selected. Also overhauled how blades are handled, unfortunately old blades won't work anymore.
Summoner - Portals are now facing the right direction.
Trickshot - Fixed a NullPointerException when users of this power interacted with anything while empty-handed.
Internal code has been overhauled in preparation to allow developers to create their own powers.