Package net.minecraft.entity.ai.pathing
Class LandPathNodeMaker
java.lang.Object
net.minecraft.entity.ai.pathing.PathNodeMaker
net.minecraft.entity.ai.pathing.LandPathNodeMaker
- Direct Known Subclasses:
AmphibiousPathNodeMaker
,BirdPathNodeMaker
,RavagerEntity.PathNodeMaker
public class LandPathNodeMaker extends PathNodeMaker
-
Field Summary
Fields Modifier and Type Field Description private Long2ObjectMap<PathNodeType>
field_25190
private Object2BooleanMap<Box>
field_25191
protected float
waterPathNodeTypeWeight
Fields inherited from class net.minecraft.entity.ai.pathing.PathNodeMaker
cachedWorld, canEnterOpenDoors, canOpenDoors, canSwim, entity, entityBlockXSize, entityBlockYSize, entityBlockZSize, pathNodeCache
-
Constructor Summary
Constructors Constructor Description LandPathNodeMaker()
-
Method Summary
Modifier and Type Method Description protected PathNodeType
adjustNodeType(BlockView world, boolean canOpenDoors, boolean canEnterOpenDoors, BlockPos pos, PathNodeType type)
void
clear()
PathNodeType
findNearbyNodeTypes(BlockView world, int x, int y, int z, int sizeX, int sizeY, int sizeZ, boolean canOpenDoors, boolean canEnterOpenDoors, EnumSet<PathNodeType> nearbyTypes, PathNodeType type, BlockPos pos)
Adds the node types in the box with the given size to the input EnumSet.protected static PathNodeType
getCommonNodeType(BlockView blockView, BlockPos blockPos)
PathNodeType
getDefaultNodeType(BlockView world, int x, int y, int z)
Gets the path node type at the given position without adjusting the node type according to whether the entity can enter or open doorsstatic double
getFeetY(BlockView world, BlockPos pos)
static PathNodeType
getLandNodeType(BlockView blockView, BlockPos.Mutable mutable)
TargetPathNode
getNode(double x, double y, double z)
private PathNodeType
getNodeType(MobEntity entity, BlockPos pos)
PathNodeType
getNodeType(BlockView world, int x, int y, int z, MobEntity mob, int sizeX, int sizeY, int sizeZ, boolean canOpenDoors, boolean canEnterOpenDoors)
static PathNodeType
getNodeTypeFromNeighbors(BlockView blockView, BlockPos.Mutable mutable, PathNodeType pathNodeType)
private PathNode
getPathNode(int x, int y, int z, int maxYStep, double prevFeetY, Direction direction, PathNodeType pathNodeType)
PathNode
getStart()
int
getSuccessors(PathNode[] successors, PathNode node)
void
init(ChunkCache cachedWorld, MobEntity entity)
private boolean
isValidDiagonalSuccessor(PathNode node, PathNode successor1)
private static boolean
method_27138(BlockState blockState)
private boolean
method_27139(BlockPos blockPos)
private PathNodeType
method_29303(MobEntity mobEntity, int int2, int int3, int int4)
private boolean
method_29304(Box box)
private boolean
method_29578(PathNode pathNode)
private boolean
method_29579(PathNode pathNode, PathNode pathNode2, PathNode pathNode3, PathNode pathNode4)
Methods inherited from class net.minecraft.entity.ai.pathing.PathNodeMaker
canEnterOpenDoors, canOpenDoors, canSwim, getNode, method_27137, setCanEnterOpenDoors, setCanOpenDoors, setCanSwim
-
Field Details
-
waterPathNodeTypeWeight
protected float waterPathNodeTypeWeight -
field_25190
-
field_25191
-
-
Constructor Details
-
LandPathNodeMaker
public LandPathNodeMaker()
-
-
Method Details
-
init
- Overrides:
init
in classPathNodeMaker
-
clear
public void clear()- Overrides:
clear
in classPathNodeMaker
-
getStart
- Specified by:
getStart
in classPathNodeMaker
-
method_27139
-
getNode
- Specified by:
getNode
in classPathNodeMaker
-
getSuccessors
- Specified by:
getSuccessors
in classPathNodeMaker
-
isValidDiagonalSuccessor
-
method_29579
-
method_29578
-
getFeetY
-
getPathNode
@Nullable private PathNode getPathNode(int x, int y, int z, int maxYStep, double prevFeetY, Direction direction, PathNodeType pathNodeType) -
method_29304
-
getNodeType
public PathNodeType getNodeType(BlockView world, int x, int y, int z, MobEntity mob, int sizeX, int sizeY, int sizeZ, boolean canOpenDoors, boolean canEnterOpenDoors)- Specified by:
getNodeType
in classPathNodeMaker
-
findNearbyNodeTypes
public PathNodeType findNearbyNodeTypes(BlockView world, int x, int y, int z, int sizeX, int sizeY, int sizeZ, boolean canOpenDoors, boolean canEnterOpenDoors, EnumSet<PathNodeType> nearbyTypes, PathNodeType type, BlockPos pos)Adds the node types in the box with the given size to the input EnumSet.- Returns:
- The node type at the least coordinates of the input box.
-
adjustNodeType
protected PathNodeType adjustNodeType(BlockView world, boolean canOpenDoors, boolean canEnterOpenDoors, BlockPos pos, PathNodeType type) -
getNodeType
-
method_29303
-
getDefaultNodeType
Gets the path node type at the given position without adjusting the node type according to whether the entity can enter or open doors- Specified by:
getDefaultNodeType
in classPathNodeMaker
-
getLandNodeType
-
getNodeTypeFromNeighbors
public static PathNodeType getNodeTypeFromNeighbors(BlockView blockView, BlockPos.Mutable mutable, PathNodeType pathNodeType) -
getCommonNodeType
-
method_27138
-