Class LocationCondition

java.lang.Object
com.hypixel.hytale.builtin.adventure.worldevents.condition.LocationCondition
All Implemented Interfaces:
EventCondition, EventCondition.Ticking

public class LocationCondition extends Object implements EventCondition.Ticking
  • Field Details

  • Constructor Details

    • LocationCondition

      public LocationCondition()
  • 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
    • onCancel

      public void onCancel(@Nonnull WorldEvent event)
      Description copied from interface: EventCondition
      Called if the condition belongs to a Fork that has been canceled due to a different Fork at the same Stage completing first.

      Implementations should use this to clean up any Context that they added to the WorldEvent in EventCondition.onStart(WorldEvent) that they would have removed in EventCondition.onComplete(WorldEvent) if the Fork were successful.

      Specified by:
      onCancel in interface EventCondition
      Parameters:
      event - the world event whose fork just canceled
    • tick

      public void tick(float dt, @Nonnull Store<EntityStore> store)
      Description copied from interface: EventCondition.Ticking
      Updates the condition's internal state.

      Set a flag or update a counter here; do not call EventCondition.test() from within this method. The manager reads EventCondition.test() after tick returns.

      Specified by:
      tick in interface EventCondition.Ticking
      Parameters:
      dt - elapsed seconds since the last tick dispatch for this condition type
      store - the entity store for the world the condition is running in
    • 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