Class MoveToTargetExecutor

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

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

    • memoryClazz

      protected Class<? extends Vector3Memory<?>> memoryClazz
    • speed

      protected float speed
    • oldTarget

      protected Vector3 oldTarget
    • updateRouteImmediatelyWhenTargetChange

      protected boolean updateRouteImmediatelyWhenTargetChange
    • enableRangeTest

      protected boolean enableRangeTest
    • maxFollowRangeSquared

      protected int maxFollowRangeSquared
    • minFollowRangeSquared

      protected int minFollowRangeSquared
  • Constructor Details

    • MoveToTargetExecutor

      public MoveToTargetExecutor(Class<? extends Vector3Memory<?>> memoryClazz, float speed)
    • MoveToTargetExecutor

      public MoveToTargetExecutor(Class<? extends Vector3Memory<?>> memoryClazz, float speed, boolean updateRouteImmediatelyWhenTargetChange)
    • MoveToTargetExecutor

      public MoveToTargetExecutor(Class<? extends Vector3Memory<?>> memoryClazz, float speed, boolean updateRouteImmediatelyWhenTargetChange, int maxFollowRange, int minFollowRange)
  • 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 - 目标实体
    • setRouteTarget

      protected void setRouteTarget(@NotNull EntityIntelligent entity, Vector3 vector3)
    • setLookTarget

      protected void setLookTarget(@NotNull EntityIntelligent entity, Vector3 vector3)
    • removeRouteTarget

      protected void removeRouteTarget(@NotNull EntityIntelligent entity)
    • removeLookTarget

      protected void removeLookTarget(@NotNull EntityIntelligent entity)
    • getMemoryClazz

      public Class<? extends Vector3Memory<?>> getMemoryClazz()
    • getSpeed

      public float getSpeed()
    • getOldTarget

      public Vector3 getOldTarget()
    • isUpdateRouteImmediatelyWhenTargetChange

      public boolean isUpdateRouteImmediatelyWhenTargetChange()
    • isEnableRangeTest

      public boolean isEnableRangeTest()
    • getMaxFollowRangeSquared

      public int getMaxFollowRangeSquared()
    • getMinFollowRangeSquared

      public int getMinFollowRangeSquared()