Package cn.nukkit.entity.ai.executor
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 Summary
Modifier and TypeFieldDescriptionprotected boolean
protected boolean
protected float
protected MemoryType<? extends Vector3>
protected float
protected Vector3
protected float
protected boolean
-
Constructor Summary
ConstructorDescriptionMoveToTargetExecutor
(MemoryType<? extends Vector3> memory, float speed) MoveToTargetExecutor
(MemoryType<? extends Vector3> memory, float speed, boolean updateRouteImmediatelyWhenTargetChange) MoveToTargetExecutor
(MemoryType<? extends Vector3> memory, float speed, boolean updateRouteImmediatelyWhenTargetChange, float maxFollowRange, float minFollowRange) MoveToTargetExecutor
(MemoryType<? extends Vector3> memory, float speed, boolean updateRouteImmediatelyWhenTargetChange, float maxFollowRange, float minFollowRange, boolean clearDataWhenLose) -
Method Summary
Modifier and TypeMethodDescriptionboolean
execute
(EntityIntelligent entity) 调度器将会持续执行此执行器,直到返回false,或者执行器被中断
此方法每gt都会调用float
MemoryType<? extends Vector3>
float
float
getSpeed()
boolean
boolean
boolean
void
onInterrupt
(EntityIntelligent entity) 行为非正常中断时(例如被更高级行为覆盖)调用void
onStop
(EntityIntelligent entity) 行为正常结束时(execute()方法返回false)调用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.EntityControl
removeLookTarget, removeRouteTarget, setLookTarget, setRouteTarget
Methods inherited from interface cn.nukkit.entity.ai.executor.IBehaviorExecutor
onStart
-
Field Details
-
memory
-
speed
protected float speed -
oldTarget
-
updateRouteImmediatelyWhenTargetChange
protected boolean updateRouteImmediatelyWhenTargetChange -
enableRangeTest
protected boolean enableRangeTest -
maxFollowRangeSquared
protected float maxFollowRangeSquared -
minFollowRangeSquared
protected float minFollowRangeSquared -
clearDataWhenLose
protected boolean clearDataWhenLose
-
-
Constructor Details
-
MoveToTargetExecutor
-
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
Description copied from interface:IBehaviorExecutor
调度器将会持续执行此执行器,直到返回false,或者执行器被中断
此方法每gt都会调用The scheduler will continue to execute this executor until it returns false or the executor is interrupted
This method will be called every gt- Specified by:
execute
in interfaceIBehaviorExecutor
- Parameters:
entity
- 执行目标实体- Returns:
- boolean
-
onInterrupt
Description copied from interface:IBehaviorExecutor
行为非正常中断时(例如被更高级行为覆盖)调用Called when behavior breaks abnormally (e.g. overridden by higher-level behavior)
- Specified by:
onInterrupt
in interfaceIBehaviorExecutor
- Parameters:
entity
- 目标实体
-
onStop
Description copied from interface:IBehaviorExecutor
行为正常结束时(execute()方法返回false)调用Called when the behavior ends normally (the execute() method returns false)
- Specified by:
onStop
in interfaceIBehaviorExecutor
- Parameters:
entity
- 目标实体
-
getMemory
-
getSpeed
public float getSpeed() -
getOldTarget
-
isUpdateRouteImmediatelyWhenTargetChange
public boolean isUpdateRouteImmediatelyWhenTargetChange() -
isEnableRangeTest
public boolean isEnableRangeTest() -
getMaxFollowRangeSquared
public float getMaxFollowRangeSquared() -
getMinFollowRangeSquared
public float getMinFollowRangeSquared() -
isClearDataWhenLose
public boolean isClearDataWhenLose()
-