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
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,11 +113,13 @@ 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