Class SimpleTicket<T>

Type Parameters:
T - The type that will be used to check if your ticket matches
Direct Known Subclasses:

public abstract class SimpleTicket<T> extends Object
Common class for a simple ticket based system.
  • Field Details

    • masterManager

      @Nullable private ITicketManager<T> masterManager
    • dummyManagers

      private ITicketManager<T>[] dummyManagers
    • isValid

      protected boolean isValid
  • Constructor Details

    • SimpleTicket

      public SimpleTicket()
  • Method Details

    • setManager

      @SafeVarargs public final void setManager(@Nonnull ITicketManager<T> masterManager, @Nonnull ITicketManager<T>... dummyManagers)
      Internal method that sets the collection from the managing system.
      Should not be called if you just want to register a ticket to a system like the FarmlandWaterManager
    • isValid

      public boolean isValid()
      Checks if your ticket is still registered in the system.
    • invalidate

      public void invalidate()
      Removes the ticket from the managing system. After this call, any calls to isValid() should return false unless it is registered again using validate()
    • unload

      public boolean unload(ITicketManager<T> unloadingManager)
      Called by the managing system when a ticket wishes to unload all of it's tickets, e.g. on chunk unload
      The ticket must not remove itself from the manager that is calling the unload! The ticket must ensure that it removes itself from all of it's dummies when returning true
      unloadingManager - The manager that is unloading this ticket
      true if this ticket can be removed, false if not.
    • validate

      public void validate()
      Re-adds your ticket to the system.
    • matches

      public abstract boolean matches(T toMatch)
    • forEachManager

      protected final void forEachManager(Consumer<ITicketManager<T>> consumer)
    • getMasterManager

      protected final ITicketManager<T> getMasterManager()
    • getDummyManagers

      protected final ITicketManager<T>[] getDummyManagers()