Class EntityCapability<T, C extends @Nullable Object>

java.lang.Object
net.neoforged.neoforge.capabilities.BaseCapability<T,C>
net.neoforged.neoforge.capabilities.EntityCapability<T,C>
Type Parameters:
T - type of queried objects
C - type of the additional context

public final class EntityCapability<T, C extends @Nullable Object> extends BaseCapability<T,C>
An EntityCapability gives flexible access to objects of type T from entities.

Querying an entity capability

To get an object of type T, use Entity.getCapability(EntityCapability). For example, to query an item handler from an entity:

Entity entity = ...;
IItemHandler maybeHandler = entity.getCapability(Capabilities.ItemHandler.ENTITY);
if (maybeHandler != null) {
    // Use maybeHandler
}

Providing an entity capability

To provide objects of type T, register providers to RegisterCapabilitiesEvent. For example:

modBus.addListener((RegisterCapabilitiesEvent event) -> {
    event.registerEntity(
        Capabilities.ItemHandler.ENTITY, // capability to register for
        MY_ENTITY_TYPE,
        (myEntity, context) -> <return the IItemHandler for myEntity>);
});