public class GoToRememberedPositionTask<T> extends Task<MobEntityWithAi>
Task.Status
Modifier and Type | Field and Description |
---|---|
private MemoryModuleType<T> |
entityMemory |
private Function<T,Vec3d> |
posRetriever |
private int |
range |
private float |
speed |
requiredMemoryStates
Constructor and Description |
---|
GoToRememberedPositionTask(MemoryModuleType<T> memoryType,
float speed,
int range,
boolean requiresWalkTarget,
Function<T,Vec3d> posRetriever) |
Modifier and Type | Method and Description |
---|---|
private Vec3d |
getPos(MobEntityWithAi entity) |
private boolean |
isWalkTargetPresentAndFar(MobEntityWithAi entity) |
protected void |
run(ServerWorld serverWorld,
MobEntityWithAi mobEntityWithAi,
long long2) |
private static void |
setWalkTarget(MobEntityWithAi entity,
Vec3d pos,
float speed) |
protected boolean |
shouldRun(ServerWorld serverWorld,
MobEntityWithAi mobEntityWithAi) |
static GoToRememberedPositionTask<BlockPos> |
toBlock(MemoryModuleType<BlockPos> memoryType,
float speed,
int range,
boolean requiresWalkTarget) |
static GoToRememberedPositionTask<? extends Entity> |
toEntity(MemoryModuleType<? extends Entity> memoryType,
float speed,
int range,
boolean requiresWalkTarget) |
finishRunning, getStatus, isTimeLimitExceeded, keepRunning, shouldKeepRunning, stop, tick, toString, tryStarting
private final MemoryModuleType<T> entityMemory
private final float speed
private final int range
public GoToRememberedPositionTask(MemoryModuleType<T> memoryType, float speed, int range, boolean requiresWalkTarget, Function<T,Vec3d> posRetriever)
public static GoToRememberedPositionTask<BlockPos> toBlock(MemoryModuleType<BlockPos> memoryType, float speed, int range, boolean requiresWalkTarget)
public static GoToRememberedPositionTask<? extends Entity> toEntity(MemoryModuleType<? extends Entity> memoryType, float speed, int range, boolean requiresWalkTarget)
protected boolean shouldRun(ServerWorld serverWorld, MobEntityWithAi mobEntityWithAi)
shouldRun
in class Task<MobEntityWithAi>
private Vec3d getPos(MobEntityWithAi entity)
private boolean isWalkTargetPresentAndFar(MobEntityWithAi entity)
protected void run(ServerWorld serverWorld, MobEntityWithAi mobEntityWithAi, long long2)
run
in class Task<MobEntityWithAi>
private static void setWalkTarget(MobEntityWithAi entity, Vec3d pos, float speed)