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:

Last change: 2025-01-19