Fix heuristic(no args) returning wrong values

This commit is contained in:
ZacSharp 2021-01-28 01:27:27 +01:00
parent 9393192036
commit fd61207709
No known key found for this signature in database
GPG Key ID: 9453647B005083A3
2 changed files with 13 additions and 6 deletions

View File

@ -71,7 +71,13 @@ public class GoalNear implements Goal, IGoalRenderPos {
}
}
}
return Collections.max(maybeAlwaysInside);
double maxInside = Double.NEGATIVE_INFINITY;
for (double inside : maybeAlwaysInside) {
if (inside < minOutside) {
maxInside = Math.max(maxInside, inside);
}
}
return maxInside;
}
@Override

View File

@ -23,7 +23,6 @@ import net.minecraft.util.math.BlockPos;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.NoSuchElementException;
/**
* Useful for automated combat (retreating specifically)
@ -114,12 +113,14 @@ public class GoalRunAway implements Goal {
}
}
}
try {
return Collections.max(maybeAlwaysInside);
} catch (NoSuchElementException e) {
return Double.NEGATIVE_INFINITY;
double maxInside = Double.NEGATIVE_INFINITY;
for (double inside : maybeAlwaysInside) {
if (inside < minOutside) {
maxInside = Math.max(maxInside, inside);
}
}
return maxInside;
}
@Override
public String toString() {