Package cn.nukkit.entity.ai.executor
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 Summary
Modifier and TypeFieldDescriptionprotected boolean
protected int
protected Class<? extends Vector3Memory<?>>
protected int
protected Vector3
protected float
protected boolean
-
Constructor Summary
ConstructorDescriptionMoveToTargetExecutor
(Class<? extends Vector3Memory<?>> memoryClazz, float speed) MoveToTargetExecutor
(Class<? extends Vector3Memory<?>> memoryClazz, float speed, boolean updateRouteImmediatelyWhenTargetChange) MoveToTargetExecutor
(Class<? extends Vector3Memory<?>> memoryClazz, float speed, boolean updateRouteImmediatelyWhenTargetChange, int maxFollowRange, int minFollowRange) -
Method Summary
Modifier and TypeMethodDescriptionboolean
execute
(EntityIntelligent entity) 调度器将会持续执行此执行器,直到返回false,或者执行器被中断
此方法每gt都会调用int
Class<? extends Vector3Memory<?>>
int
float
getSpeed()
boolean
boolean
void
onInterrupt
(EntityIntelligent entity) 行为非正常中断时(例如被更高级行为覆盖)调用void
onStop
(EntityIntelligent entity) 行为正常结束时(execute()方法返回false)调用protected void
removeLookTarget
(EntityIntelligent entity) protected void
removeRouteTarget
(EntityIntelligent entity) protected void
setLookTarget
(EntityIntelligent entity, Vector3 vector3) protected void
setRouteTarget
(EntityIntelligent entity, Vector3 vector3) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface cn.nukkit.entity.ai.executor.IBehaviorExecutor
onStart
-
Field Details
-
memoryClazz
-
speed
protected float speed -
oldTarget
-
updateRouteImmediatelyWhenTargetChange
protected boolean updateRouteImmediatelyWhenTargetChange -
enableRangeTest
protected boolean enableRangeTest -
maxFollowRangeSquared
protected int maxFollowRangeSquared -
minFollowRangeSquared
protected int minFollowRangeSquared
-
-
Constructor Details
-
MoveToTargetExecutor
-
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
Description copied from interface:IBehaviorExecutor
调度器将会持续执行此执行器,直到返回false,或者执行器被中断
此方法每gt都会调用- Specified by:
execute
in interfaceIBehaviorExecutor
- Parameters:
entity
- 执行目标实体- Returns:
- boolean
-
onInterrupt
Description copied from interface:IBehaviorExecutor
行为非正常中断时(例如被更高级行为覆盖)调用- Specified by:
onInterrupt
in interfaceIBehaviorExecutor
- Parameters:
entity
- 目标实体
-
onStop
Description copied from interface:IBehaviorExecutor
行为正常结束时(execute()方法返回false)调用- Specified by:
onStop
in interfaceIBehaviorExecutor
- Parameters:
entity
- 目标实体
-
setRouteTarget
-
setLookTarget
-
removeRouteTarget
-
removeLookTarget
-
getMemoryClazz
-
getSpeed
public float getSpeed() -
getOldTarget
-
isUpdateRouteImmediatelyWhenTargetChange
public boolean isUpdateRouteImmediatelyWhenTargetChange() -
isEnableRangeTest
public boolean isEnableRangeTest() -
getMaxFollowRangeSquared
public int getMaxFollowRangeSquared() -
getMinFollowRangeSquared
public int getMinFollowRangeSquared()
-