@hohserg1, всё зависит от того что в конечном счёте нужно сделать.
Все капабилити сущности хранит экземпляр CapabilityDispatcher (инициализируется в конструкторе Entity
запуская AttachCapabilitiesEvent для этой Entity).
CapabilityDispatcher хранит данные для капабилити разделяя их по трём массивам (имена (String),
хранилища (INBTSerializable<NBTBase>) и провайдеры (ICapabilityProvider)) для быстрой работы с ними.
Не имея инстанса конкретного ICapabilityProvider не представляю как можно работать с капой при таком уровне абстракции,
я не вникал.
Однако можно получить актуальные данные всех капабилити в виде одного NBTCompoundTag сереализовав
CapabilityDispatcher (CapabilityDispatcher#serializeNBT()) или каждое хранилище по отдельности для конкретной капы.
По идее можно и перезаписать эти данные (CapabilityDispatcher#deserializeNBT(NBTCompoundTag)), но на загруженную
сущность эффекта это не окажет.
Я накидал пример получения данных капабилити игрока, если интересно могу залить на GitHub и скинуть.