Class EventEndCondition

java.lang.Object
com.hypixel.hytale.builtin.adventure.worldevents.condition.EventEndCondition
All Implemented Interfaces:
EventCondition, EventCondition.Event<EventEndEcsEvent>

public class EventEndCondition extends Object implements EventCondition.Event<EventEndEcsEvent>
  • Field Details

  • Constructor Details

    • EventEndCondition

      public EventEndCondition()
  • Method Details

    • test

      public boolean test()
      Description copied from interface: EventCondition
      Returns true when this condition has been satisfied.

      This method is called frequently and must be side-effect free. Update internal state in EventCondition.Ticking.tick(float, Store) or EventCondition.Event.handle(World, T) instead.

      Specified by:
      test in interface EventCondition
      Returns:
      true if the condition is met
    • reset

      public void reset()
      Description copied from interface: EventCondition
      Resets the condition to its unsatisfied state before a new stage iteration begins.

      Called before EventCondition.onStart(WorldEvent) at the start of a stage. All transient fields (timers, flags, cached context references) should be cleared here.

      Specified by:
      reset in interface EventCondition
    • eventType

      @Nonnull public Class<EventEndEcsEvent> eventType()
      Description copied from interface: EventCondition.Event
      Returns the exact class of the ECS event this condition handles.
      Specified by:
      eventType in interface EventCondition.Event<EventEndEcsEvent>
      Returns:
      the event class; must match the type parameter T exactly
    • handle

      public void handle(@Nonnull World world, @Nonnull EventEndEcsEvent event)
      Description copied from interface: EventCondition.Event
      Processes an incoming ECS event and updates internal state.

      This is called for every matching event, not only for events that are relevant to this specific condition instance. Implementations must check (e.g. by comparing UUIDs) whether the event is relevant before updating state.

      Specified by:
      handle in interface EventCondition.Event<EventEndEcsEvent>
      Parameters:
      world - the world in which the event was fired
      event - the ECS event
    • onStart

      public boolean onStart(@Nonnull WorldEvent event)
      Description copied from interface: EventCondition
      Called when the stage this condition belongs to begins, after EventCondition.reset().

      Implementations typically use this to look up values in the event context that the condition needs in order to operate (e.g. a location or a child event reference). If a required context value is absent, log a warning and return false to abort the stage immediately.

      Specified by:
      onStart in interface EventCondition
      Parameters:
      event - the world event whose stage is starting
      Returns:
      false to abort the stage before it runs
    • onComplete

      public boolean onComplete(@Nonnull WorldEvent event)
      Description copied from interface: EventCondition
      Called after all conditions in the stage have returned true from EventCondition.test(), before the stage's actions are run.

      This is the correct place to write results into the event context (e.g. LocationCondition writes the chosen location as a LocationContext here). Return false if the condition cannot produce a valid result, which will treat the stage as failed.

      Specified by:
      onComplete in interface EventCondition
      Parameters:
      event - the world event whose stage just completed
      Returns:
      false to treat the stage as failed