Ability API
The IAbility interface is the main entry point for creating new abilities. This interface is used to implement a bunch
of methods used by all abilities for various scenarios, such as possible display icons or names (for more
customization), onEquip and onRemove events, callbacks for using the ability, saving/loading data and more.
The Ability and PassiveAbility classes offer a set of defaults that build on top of IAbility, they are not
mandatory to use however they are pretty feature complete and used by all abilities in the mod, so unless your needs are
extremely specific they will work just fine.
This document will focus more on IAbility and what it can do rather than what Ability and PassiveAbility can do,
they will however be used as examples throughout.
More indepth explanations for different parts of the API here: