public abstract class PathNavigate
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected Path |
currentPath |
protected EntityLiving |
entity |
private Vec3d |
lastPosCheck |
private long |
lastTimeoutCheck |
private long |
lastTimeUpdated |
protected float |
maxDistanceToWaypoint |
protected NodeProcessor |
nodeProcessor |
private PathFinder |
pathFinder |
private IAttributeInstance |
pathSearchRange |
protected double |
speed |
private BlockPos |
targetPos |
private int |
ticksAtLastPos |
private Vec3d |
timeoutCachedNode |
private double |
timeoutLimit |
private long |
timeoutTimer |
protected int |
totalTicks |
protected boolean |
tryUpdatePath |
protected World |
world |
Constructor and Description |
---|
PathNavigate(EntityLiving entityIn,
World worldIn) |
Modifier and Type | Method and Description |
---|---|
boolean |
canEntityStandOnPos(BlockPos pos) |
protected abstract boolean |
canNavigate() |
boolean |
canUpdatePathOnTimeout() |
protected void |
checkForStuck(Vec3d positionVec3) |
void |
clearPath() |
protected void |
debugPathFinding() |
protected abstract Vec3d |
getEntityPosition() |
NodeProcessor |
getNodeProcessor() |
Path |
getPath() |
protected abstract PathFinder |
getPathFinder() |
float |
getPathSearchRange() |
Path |
getPathToEntityLiving(Entity entityIn) |
Path |
getPathToPos(BlockPos pos) |
Path |
getPathToXYZ(double x,
double y,
double z) |
protected abstract boolean |
isDirectPathBetweenPoints(Vec3d posVec31,
Vec3d posVec32,
int sizeX,
int sizeY,
int sizeZ) |
protected boolean |
isInLiquid() |
boolean |
noPath() |
void |
onUpdateNavigation() |
protected void |
pathFollow() |
protected void |
removeSunnyPath() |
boolean |
setPath(Path pathentityIn,
double speedIn) |
void |
setSpeed(double speedIn) |
boolean |
tryMoveToEntityLiving(Entity entityIn,
double speedIn) |
boolean |
tryMoveToXYZ(double x,
double y,
double z,
double speedIn) |
void |
updatePath() |
protected EntityLiving entity
protected World world
@Nullable protected Path currentPath
protected double speed
private final IAttributeInstance pathSearchRange
protected int totalTicks
private int ticksAtLastPos
private Vec3d lastPosCheck
private Vec3d timeoutCachedNode
private long timeoutTimer
private long lastTimeoutCheck
private double timeoutLimit
protected float maxDistanceToWaypoint
protected boolean tryUpdatePath
private long lastTimeUpdated
protected NodeProcessor nodeProcessor
private BlockPos targetPos
private final PathFinder pathFinder
public PathNavigate(EntityLiving entityIn, World worldIn)
protected abstract PathFinder getPathFinder()
public void setSpeed(double speedIn)
public float getPathSearchRange()
public boolean canUpdatePathOnTimeout()
public void updatePath()
@Nullable public final Path getPathToXYZ(double x, double y, double z)
public boolean tryMoveToXYZ(double x, double y, double z, double speedIn)
public boolean tryMoveToEntityLiving(Entity entityIn, double speedIn)
public boolean setPath(@Nullable Path pathentityIn, double speedIn)
@Nullable public Path getPath()
public void onUpdateNavigation()
protected void debugPathFinding()
protected void pathFollow()
protected void checkForStuck(Vec3d positionVec3)
public boolean noPath()
public void clearPath()
protected abstract Vec3d getEntityPosition()
protected abstract boolean canNavigate()
protected boolean isInLiquid()
protected void removeSunnyPath()
protected abstract boolean isDirectPathBetweenPoints(Vec3d posVec31, Vec3d posVec32, int sizeX, int sizeY, int sizeZ)
public boolean canEntityStandOnPos(BlockPos pos)
public NodeProcessor getNodeProcessor()