Class PathJobRaiderPathing
java.lang.Object
com.minecolonies.core.entity.pathfinding.pathjobs.AbstractPathJob
com.minecolonies.core.entity.pathfinding.pathjobs.PathJobRaiderPathing
- All Implemented Interfaces:
IPathJob,IDestinationPathJob,Callable<net.minecraft.world.level.pathfinder.Path>
Special raider pathfinding, can go through blocks and place ladders, is finished when reaching close to the intended spawn and is a legit spawn point.
-
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
ConstructorsConstructorDescriptionPathJobRaiderPathing(List<IBuilding> buildings, net.minecraft.world.level.Level world, @NotNull net.minecraft.core.BlockPos start, net.minecraft.core.BlockPos targetSpawnPoint) -
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.net.minecraft.core.BlockPosReturn the destinationprotected intgetGroundHeight(MNode parent, int x, int y, int z) Get the height of the ground at the given x,z coordinate, within 1 step of y.protected booleanReturn true if the given node is a viable final destination, and the path should generate to here.protected booleanisPassable(int x, int y, int z, boolean head, MNode currentnode) Checks passabilityprotected doublemodifyCost(double cost, MNode parent, boolean swimstart, boolean swimming, int x, int y, int z, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.state.BlockState below) Modifies costs if needed for a nodeprotected voidVisits the given node and explores neighboursMethods inherited from class com.minecolonies.core.entity.pathfinding.pathjobs.AbstractPathJob
call, computeCost, exploreInDirection, getActualWorld, getEndNodeScore, getEntity, getPathingOptions, getResult, getStart, handleDebugOptions, initDebug, isPassable, search, setPathingOptions, stopOnNodeLimit, syncDebug, toString
-
Constructor Details
-
PathJobRaiderPathing
-
-
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.
-
isPassable
Description copied from class:AbstractPathJobChecks passability- Overrides:
isPassablein classAbstractPathJob- Parameters:
x-y-z-head-currentnode-- Returns:
-
visitNode
Description copied from class:AbstractPathJobVisits the given node and explores neighbours- Overrides:
visitNodein classAbstractPathJob- Parameters:
node-
-
getGroundHeight
Description copied from class:AbstractPathJobGet the height of the ground at the given x,z coordinate, within 1 step of y.- Overrides:
getGroundHeightin classAbstractPathJob- Parameters:
parent- parent node.- Returns:
- y height of first open, viable block above ground, or -1 if blocked or too far a drop.
-
modifyCost
protected double modifyCost(double cost, MNode parent, boolean swimstart, boolean swimming, int x, int y, int z, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.state.BlockState below) Description copied from class:AbstractPathJobModifies costs if needed for a node- Overrides:
modifyCostin classAbstractPathJob- Parameters:
cost-parent-swimstart-swimming-state-- Returns:
-
getDestination
public net.minecraft.core.BlockPos getDestination()Description copied from interface:IDestinationPathJobReturn the destination- Specified by:
getDestinationin interfaceIDestinationPathJob- Returns:
- destination
-