Record Class EventPhase

java.lang.Object
java.lang.Record
net.ixdarklord.coolcatcore.api.event.v2.core.EventPhase
All Implemented Interfaces:
Comparable<EventPhase>

public record EventPhase(@NotNull String name, int order) extends Record implements Comparable<EventPhase>
When a listener runs relative to the others of the same event. Listeners run from the lowest order() to the highest; listeners in the same phase run in the order they were registered.

The built-in phases leave room between them, so a mod can slot its own in with of(String, int).

Phases also place a listener among other mods' own listeners of the same game event (their NeoForge or Fabric listeners, which CoolCatLib doesn't run), by band(): FIRST and earlier run before them, LAST and later after them, and the phases between with them. Only events whose loader hook fires each band at its own place do this (their documentation says so); for the others every phase runs at once, in order.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Where a phase's listeners run among other mods' own listeners of the game event: before them (NeoForge's highest priority, a Fabric phase before the default one), with them, or after them (the lowest priority, a phase after the default one).
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final EventPhase
     
    static final EventPhase
     
    static final EventPhase
     
    static final EventPhase
     
    static final EventPhase
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    EventPhase(@NotNull String name, int order)
    Creates an instance of a EventPhase record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    A phase running just after this one.
    Where listeners of this phase run among other mods' own listeners of the game event.
    A phase running just before this one.
    int
    compareTo(@NotNull EventPhase other)
     
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    @NotNull String
    Returns the value of the name record component.
    static EventPhase
    of(String name, int order)
    A custom phase, e.g.
    int
    Returns the value of the order record component.
    final String
    Returns a string representation of this record class.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • EventPhase

      public EventPhase(@NotNull @NotNull String name, int order)
      Creates an instance of a EventPhase record class.
      Parameters:
      name - the value for the name record component
      order - the value for the order record component
  • Method Details

    • of

      public static EventPhase of(String name, int order)
      A custom phase, e.g. EventPhase.of("after_defaults", 500).
    • before

      public EventPhase before()
      A phase running just before this one.
    • after

      public EventPhase after()
      A phase running just after this one.
    • band

      public EventPhase.Band band()
      Where listeners of this phase run among other mods' own listeners of the game event.
    • compareTo

      public int compareTo(@NotNull @NotNull EventPhase other)
      Specified by:
      compareTo in interface Comparable<EventPhase>
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • name

      @NotNull public @NotNull String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • order

      public int order()
      Returns the value of the order record component.
      Returns:
      the value of the order record component