Class PathJobCanSee
java.lang.Object
com.minecolonies.core.entity.pathfinding.pathjobs.AbstractPathJob
com.minecolonies.core.entity.pathfinding.pathjobs.PathJobCanSee
- All Implemented Interfaces:
IPathJob,ISearchPathJob,Callable<net.minecraft.world.level.pathfinder.Path>
Pathing job for moving into vision of the given entity
-
Field Summary
Fields inherited from class com.minecolonies.core.entity.pathfinding.pathjobs.AbstractPathJob
cachedBlockLookup, debugDrawEnabled, debugNodesExtra, debugNodesNotVisited, debugNodesOrgPath, debugNodesPath, debugNodesVisited, debugNodesVisitedLater, entity, extraNodes, heuristicMod, MAX_NODES, maxNodes, result, start, tempWorldPos, totalNodesVisited, world -
Constructor Summary
ConstructorsConstructorDescriptionPathJobCanSee(net.minecraft.world.entity.Mob searchingEntity, net.minecraft.world.entity.LivingEntity lookTarget, net.minecraft.world.level.Level world, @NotNull net.minecraft.core.BlockPos searchAroundPos, int range) -
Method Summary
Modifier and TypeMethodDescriptionprotected doublecomputeHeuristic(int x, int y, int z) Compute the heuristic cost ('h' value) of a given position x,y,z.doublegetEndNodeScore(@NotNull MNode n) Calculate the distance to the target.protected booleanReturn true if the given node is a viable final destination, and the path should generate to here.Methods inherited from class com.minecolonies.core.entity.pathfinding.pathjobs.AbstractPathJob
call, computeCost, exploreInDirection, getActualWorld, getEntity, getGroundHeight, getPathingOptions, getResult, getStart, handleDebugOptions, initDebug, isPassable, isPassable, modifyCost, search, setPathingOptions, stopOnNodeLimit, syncDebug, toString, visitNode
-
Constructor Details
-
PathJobCanSee
public PathJobCanSee(net.minecraft.world.entity.Mob searchingEntity, net.minecraft.world.entity.LivingEntity lookTarget, net.minecraft.world.level.Level world, @NotNull @NotNull net.minecraft.core.BlockPos searchAroundPos, int range)
-
-
Method Details
-
computeHeuristic
protected double computeHeuristic(int x, int y, int z) Description copied from class:AbstractPathJobCompute the heuristic cost ('h' value) of a given position x,y,z.Returning a value of 0 performs a breadth-first search. Returning a value less than actual possible cost to goal guarantees shortest path, but at computational expense. Returning a value exactly equal to the cost to the goal guarantees shortest path and least expense (but generally. only works when path is straight and unblocked). Returning a value greater than the actual cost to goal produces good, but not perfect paths, and is fast. Returning a very high value (such that 'h' is very high relative to 'g') then only 'h' (the heuristic) matters as the search will be a very fast greedy best-first-search, ignoring cost weighting and distance.
- Specified by:
computeHeuristicin classAbstractPathJob- Returns:
- the heuristic.
-
isAtDestination
Description copied from class:AbstractPathJobReturn true if the given node is a viable final destination, and the path should generate to here.- Specified by:
isAtDestinationin classAbstractPathJob- Parameters:
n- Node to test.- Returns:
- true if the node is a viable destination.
-
getEndNodeScore
Calculate the distance to the target.- Specified by:
getEndNodeScorein interfaceISearchPathJob- Overrides:
getEndNodeScorein classAbstractPathJob- Parameters:
n- Node to test.- Returns:
- double of the distance.
-