Fix failed decompilation in minecraft pathfinder

This commit is contained in:
fullwall 2023-11-26 21:30:36 +08:00
parent ffedf7c81f
commit 9764695899
1 changed files with 9 additions and 11 deletions

View File

@ -66,7 +66,7 @@ public class EntityPathfinder extends PathFinder {
private Path findPath(ProfilerFiller var0, Node var1, Map<Target, BlockPos> var2, float range, int reachRange, private Path findPath(ProfilerFiller var0, Node var1, Map<Target, BlockPos> var2, float range, int reachRange,
float var5) { float var5) {
Set<Target> var6 = var2.keySet(); Set<Target> var6 = var2.keySet();
var1.f = 0.0F; var1.g = 0.0F;
var1.h = this.getBestH(var1, var6); var1.h = this.getBestH(var1, var6);
var1.f = var1.h; var1.f = var1.h;
this.openSet.clear(); this.openSet.clear();
@ -95,22 +95,22 @@ public class EntityPathfinder extends PathFinder {
if (!var9.isEmpty()) { if (!var9.isEmpty()) {
break; break;
} }
if ((var11.distanceTo(var1) < range)) { if (!(var11.distanceTo(var1) >= range)) {
int var12 = this.nodeEvaluator.getNeighbors(this.neighbors, var11); int var12 = this.nodeEvaluator.getNeighbors(this.neighbors, var11);
for (int var13 = 0; var13 < var12; ++var13) { for (int var13 = 0; var13 < var12; ++var13) {
Node var14 = this.neighbors[var13]; Node var14 = this.neighbors[var13];
float var15 = this.distance(var11, var14); float var15 = this.distance(var11, var14);
var14.walkedDistance = var11.walkedDistance + var15; var14.walkedDistance = var11.walkedDistance + var15;
float var16 = var11.f + var15 + var14.costMalus; float var16 = var11.g + var15 + var14.costMalus;
if (var14.walkedDistance < range && (!var14.inOpenSet() || var16 < var14.f)) { if (var14.walkedDistance < range && (!var14.inOpenSet() || var16 < var14.g)) {
var14.cameFrom = var11; var14.cameFrom = var11;
var14.f = var16; var14.g = var16;
var14.h = this.getBestH(var14, var6) * 1.5F; var14.h = this.getBestH(var14, var6) * 1.5F;
if (var14.inOpenSet()) { if (var14.inOpenSet()) {
this.openSet.changeCost(var14, var14.f + var14.h); this.openSet.changeCost(var14, var14.g + var14.h);
} else { } else {
var14.h += var14.f; var14.f = var14.g + var14.h;
this.openSet.insert(var14); this.openSet.insert(var14);
} }
} }
@ -126,10 +126,8 @@ public class EntityPathfinder extends PathFinder {
}).min(Comparator.comparingDouble(Path::getDistToTarget).thenComparingInt(Path::getNodeCount))*/ }).min(Comparator.comparingDouble(Path::getDistToTarget).thenComparingInt(Path::getNodeCount))*/
if (var11.isEmpty()) if (var11.isEmpty())
return null; return null;
else { Path var12 = var11.get();
Path var12 = var11.get(); return var12;
return var12;
}
} }
private float getBestH(Node var0, Set<Target> var1) { private float getBestH(Node var0, Set<Target> var1) {