Class AttachCapabilitiesEvent<T>

java.lang.Object
net.minecraftforge.eventbus.api.Event
net.minecraftforge.eventbus.api.GenericEvent<T>
net.minecraftforge.event.AttachCapabilitiesEvent<T>
All Implemented Interfaces:
net.minecraftforge.eventbus.api.IGenericEvent<T>

public class AttachCapabilitiesEvent<T> extends net.minecraftforge.eventbus.api.GenericEvent<T>
Fired whenever an object with Capabilities support {currently TileEntity/Item/Entity) is created. Allowing for the attachment of arbitrary capability providers. Please note that as this is fired for ALL object creations efficient code is recommended. And if possible use one of the sub-classes to filter your intended objects.
  • Field Details

  • Constructor Details

    • AttachCapabilitiesEvent

      public AttachCapabilitiesEvent(Class<T> type, T obj)
  • Method Details

    • getObject

      public T getObject()
      Retrieves the object that is being created, Not much state is set.
    • addCapability

      public void addCapability(ResourceLocation key, ICapabilityProvider cap)
      Adds a capability to be attached to this object. Keys MUST be unique, it is suggested that you set the domain to your mod ID. If the capability is an instance of INBTSerializable, this key will be used when serializing this capability.
      Parameters:
      key - The name of owner of this capability provider.
      cap - The capability provider
    • getCapabilities

      public Map<ResourceLocation,​ICapabilityProvider> getCapabilities()
      A unmodifiable view of the capabilities that will be attached to this object.
    • addListener

      public void addListener(Runnable listener)
      Adds a callback that is fired when the attached object is invalidated. Such as a Entity/TileEntity being removed from world. All attached providers should invalidate all of their held capability instances.
    • getListeners

      public List<Runnable> getListeners()