Class TimerDecorator

java.lang.Object
net.citizensnpcs.api.ai.tree.BehaviorGoalAdapter
net.citizensnpcs.api.ai.tree.TimerDecorator
All Implemented Interfaces:
Goal, Behavior

public class TimerDecorator extends BehaviorGoalAdapter
Wraps a Behavior and enforces a tick limit, after which it will return BehaviorStatus.FAILURE and reset the child Behavior.
  • Method Details

    • reset

      public void reset()
      Description copied from interface: Goal
      Resets the goal and any resources or state it is holding.
    • run

      public BehaviorStatus run()
      Description copied from interface: Behavior
      Runs the behavior for one 'tick', optionally changing the state that it is in.
      Returns:
      The new state
    • shouldExecute

      public boolean shouldExecute()
      Description copied from interface: Behavior
      Returns whether the behavior is ready to run. Note this is called once when deciding whether to start execution of a leaf node. The actual execution status is determined by the return value of Behavior.run() which is repeatedly called by the executing node.
    • tickLimiter

      public static TimerDecorator tickLimiter(Behavior wrapping, int tickLimit)