27 lines
781 B
Java
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;
|
|
}
|
|
}
|