a bit more elegant
This commit is contained in:
@@ -71,12 +71,21 @@ class Path extends PathBase {
|
||||
|
||||
Path(BetterBlockPos realStart, PathNode start, PathNode end, int numNodes, Goal goal, CalculationContext context) {
|
||||
this.start = realStart;
|
||||
var startNodePos = new BetterBlockPos(start.x, start.y, start.z);
|
||||
this.end = new BetterBlockPos(end.x, end.y, end.z);
|
||||
this.numNodes = numNodes;
|
||||
this.movements = new ArrayList<>();
|
||||
this.goal = goal;
|
||||
this.context = context;
|
||||
|
||||
// If the position the player is at is different from the position we told A* to start from
|
||||
// see PathingBehavior#createPathfinder and https://github.com/cabaletta/baritone/pull/4519
|
||||
var startNodePos = new BetterBlockPos(start.x, start.y, start.z);
|
||||
if (!realStart.equals(startNodePos)) {
|
||||
PathNode fakeNode = new PathNode(realStart.x, realStart.y, realStart.z, goal);
|
||||
fakeNode.cost = 0;
|
||||
start.previous = fakeNode;
|
||||
}
|
||||
|
||||
PathNode current = end;
|
||||
List<BetterBlockPos> tempPath = new ArrayList<>();
|
||||
List<PathNode> tempNodes = new ArrayList<>();
|
||||
@@ -85,13 +94,6 @@ class Path extends PathBase {
|
||||
tempPath.add(new BetterBlockPos(current.x, current.y, current.z));
|
||||
current = current.previous;
|
||||
}
|
||||
// If the position the player is at is different from the position we told A* to start from
|
||||
if (!realStart.equals(startNodePos)) {
|
||||
PathNode fakeNode = new PathNode(realStart.x, realStart.y, realStart.z, goal);
|
||||
fakeNode.cost = 0;
|
||||
tempNodes.add(fakeNode);
|
||||
tempPath.add(realStart);
|
||||
}
|
||||
// Nodes are traversed last to first so we need to reverse the list
|
||||
this.path = Lists.reverse(tempPath);
|
||||
this.nodes = Lists.reverse(tempNodes);
|
||||
|
||||
Reference in New Issue
Block a user