add option for pythagorean metric
This commit is contained in:
parent
2d7b465844
commit
5baa56bb29
@ -107,6 +107,11 @@ public class Settings {
|
|||||||
*/
|
*/
|
||||||
public Setting<Boolean> minimumImprovementRepropagation = new Setting<>(true);
|
public Setting<Boolean> minimumImprovementRepropagation = new Setting<>(true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use a pythagorean metric (as opposed to the more accurate hybrid diagonal / traverse).
|
||||||
|
*/
|
||||||
|
public Setting<Boolean> pythagoreanMetric = new Setting<>(false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* After calculating a path (potentially through cached chunks), artificially cut it off to just the part that is
|
* After calculating a path (potentially through cached chunks), artificially cut it off to just the part that is
|
||||||
* entirely within currently loaded chunks. Improves path safety because cached chunks are heavily simplified.
|
* entirely within currently loaded chunks. Improves path safety because cached chunks are heavily simplified.
|
||||||
|
@ -64,6 +64,9 @@ public class GoalXZ implements Goal {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static double calculate(double xDiff, double zDiff) {
|
public static double calculate(double xDiff, double zDiff) {
|
||||||
|
if (Baritone.settings().pythagoreanMetric.get()) {
|
||||||
|
return Math.sqrt(xDiff * xDiff + zDiff * zDiff) * Baritone.settings().costHeuristic.get();
|
||||||
|
}
|
||||||
//This is a combination of pythagorean and manhattan distance
|
//This is a combination of pythagorean and manhattan distance
|
||||||
//It takes into account the fact that pathing can either walk diagonally or forwards
|
//It takes into account the fact that pathing can either walk diagonally or forwards
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user