Fix heuristic(no args) returning wrong values
This commit is contained in:
parent
9393192036
commit
fd61207709
@ -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
|
||||
|
@ -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() {
|
||||
|
Loading…
Reference in New Issue
Block a user