Class MoveToTargetExecutor

java.lang.Object
cn.nukkit.entity.ai.executor.MoveToTargetExecutor
All Implemented Interfaces:
EntityControl, IBehaviorExecutor

@PowerNukkitXOnly @Since("1.6.0.0-PNX") public class MoveToTargetExecutor extends Object implements EntityControl, IBehaviorExecutor
  • Field Details

    • memory

      protected MemoryType<? extends Vector3> memory
    • speed

      protected float speed
    • oldTarget

      protected Vector3 oldTarget
    • updateRouteImmediatelyWhenTargetChange

      protected boolean updateRouteImmediatelyWhenTargetChange
    • enableRangeTest

      protected boolean enableRangeTest
    • maxFollowRangeSquared

      protected float maxFollowRangeSquared
    • minFollowRangeSquared

      protected float minFollowRangeSquared
    • clearDataWhenLose

      protected boolean clearDataWhenLose
  • Constructor Details

    • MoveToTargetExecutor

      public MoveToTargetExecutor(MemoryType<? extends Vector3> memory, float speed)
    • MoveToTargetExecutor

      public MoveToTargetExecutor(MemoryType<? extends Vector3> memory, float speed, boolean updateRouteImmediatelyWhenTargetChange)
    • MoveToTargetExecutor

      public MoveToTargetExecutor(MemoryType<? extends Vector3> memory, float speed, boolean updateRouteImmediatelyWhenTargetChange, float maxFollowRange, float minFollowRange)
    • MoveToTargetExecutor

      public MoveToTargetExecutor(MemoryType<? extends Vector3> memory, float speed, boolean updateRouteImmediatelyWhenTargetChange, float maxFollowRange, float minFollowRange, boolean clearDataWhenLose)
  • Method Details

    • execute

      public boolean execute(@NotNull EntityIntelligent entity)
      Description copied from interface: IBehaviorExecutor
      调度器将会持续执行此执行器,直到返回false,或者执行器被中断
      此方法每gt都会调用
      Specified by:
      execute in interface IBehaviorExecutor
      Parameters:
      entity - 执行目标实体
      Returns:
      boolean
    • onInterrupt

      public void onInterrupt(EntityIntelligent entity)
      Description copied from interface: IBehaviorExecutor
      行为非正常中断时(例如被更高级行为覆盖)调用
      Specified by:
      onInterrupt in interface IBehaviorExecutor
      Parameters:
      entity - 目标实体
    • onStop

      public void onStop(EntityIntelligent entity)
      Description copied from interface: IBehaviorExecutor
      行为正常结束时(execute()方法返回false)调用
      Specified by:
      onStop in interface IBehaviorExecutor
      Parameters:
      entity - 目标实体
    • getMemory

      public MemoryType<? extends Vector3> getMemory()
    • getSpeed

      public float getSpeed()
    • getOldTarget

      public Vector3 getOldTarget()
    • isUpdateRouteImmediatelyWhenTargetChange

      public boolean isUpdateRouteImmediatelyWhenTargetChange()
    • isEnableRangeTest

      public boolean isEnableRangeTest()
    • getMaxFollowRangeSquared

      public float getMaxFollowRangeSquared()
    • getMinFollowRangeSquared

      public float getMinFollowRangeSquared()
    • isClearDataWhenLose

      public boolean isClearDataWhenLose()