Капабили предназначены для того, чтобы прикреплять кастомные структуры данных к произвольным игровым объектам.
Обычно капабилити состоит из трех сущностей:
Хранимой структуры данных
Реализация ICapabilitySerializable - провайдер капабилити, предоставляет экземпляр структуры данных
Реализация IStorage - определяет, как структура данных будет сохраняться
Чтобы объект имел определенную капабилити, ее нужно к нему прикрепить. Легче всего это сделать, обрабатывая событие AttachCapabilityEvent. Капабилити может быть прикреплен к: ItemStack, TileEntity, Entity, World, Chunk, еще че-то что я забыл, чекни в ссылках ниже.
Если не нужно сохранять данные при сохранении мира, то вместо ICapabilitySerializable стоит использовать ICapabilityProvider, а в IStorage ничего не записывать и не читать в/из нбт.
Материалы по теме:
Capabilities: A Primer (tm). GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
mcforge.readthedocs.io
Примеры реализации лучше всего смотреть в опенсорсных модах. Например, если в моде есть система маны(в мире или в игроке), то с большой вероятностью она сделана на капабилити