Files
purpur-base/src/main/java/games/dmg/spigotbase/BaseNavigationVisibility.java
T
dmg f36c40d5aa
Release / release (push) Successful in 2m22s
CI / build (push) Successful in 1m0s
fix(navigation): hide guidance near base
2026-08-10 22:51:19 -04:00

27 lines
781 B
Java

package games.dmg.spigotbase;
final class BaseNavigationVisibility {
static final int BORDER_BUFFER = 25;
private BaseNavigationVisibility() {
}
static boolean isBeyondBorderBuffer(
BaseLocation base,
int radius,
double playerX,
double playerZ
) {
if (base == null) {
throw new IllegalArgumentException("base is required");
}
if (radius <= 0) {
throw new IllegalArgumentException("base radius must be positive");
}
double deltaX = playerX - (base.x() + 0.5);
double deltaZ = playerZ - (base.z() + 0.5);
double minimumDistance = radius + BORDER_BUFFER;
return deltaX * deltaX + deltaZ * deltaZ > minimumDistance * minimumDistance;
}
}