Class RegisterMultipartTraitsEvent

java.lang.Object
net.neoforged.bus.api.Event
codechicken.multipart.api.RegisterMultipartTraitsEvent
All Implemented Interfaces:
net.neoforged.fml.event.IModBusEvent

public final class RegisterMultipartTraitsEvent extends net.neoforged.bus.api.Event implements net.neoforged.fml.event.IModBusEvent
Fired on the mod bus for mods to register their traits and passthrough interfaces for TileMultipart classes.

This is fired at the end of mod loading, from FMLLoadCompleteEvent.

Created by covers1624 on 20/1/24.

  • Constructor Details

    • RegisterMultipartTraitsEvent

      public RegisterMultipartTraitsEvent(MultipartGenerator generator)
  • Method Details

    • registerTrait

      public void registerTrait(Class<?> marker, Class<? extends TileMultipart> trait)
      Register trait to be mixed into the TileMultipart when marker is found implemented on a MultiPart instance.
      Parameters:
      marker - The part marker class.
      trait - The trait to implement.
    • registerClientTrait

      public void registerClientTrait(Class<?> marker, Class<? extends TileMultipart> trait)
      The same as registerTrait(Class, Class) however, only effective client side.
      Parameters:
      marker - The part marker class.
      trait - The trait to implement.
    • registerServerTrait

      public void registerServerTrait(Class<?> marker, Class<? extends TileMultipart> trait)
      The same as registerTrait(Class, Class) however, only effective server side (including integrated server).
      Parameters:
      marker - The part marker class.
      trait - The trait to implement.
    • registerPassthroughInterface

      public void registerPassthroughInterface(Class<?> iFace)
      Register the specified class, when found on a MultiPart instance:
      - Implemented the interface on the TileMultipart instance with all methods proxied through to your part.
      - Only allow one instance of a part with this interface in the block space.
      Parameters:
      iFace - The interface to register.
    • registerClientPassthroughInterface

      public void registerClientPassthroughInterface(Class<?> iFace)
      The same as registerPassthroughInterface(Class) however, only effective client side.
      Parameters:
      iFace - The interface to register.
    • registerServerPassthroughInterface

      public void registerServerPassthroughInterface(Class<?> iFace)
      The same as registerPassthroughInterface(Class) however, only effective server side (including integrated server).
      Parameters:
      iFace - The interface to register.