SteamWar/FightSystem
Archiviert
13
1
Dieses Repository wurde am 2024-08-05 archiviert. Du kannst Dateien ansehen und es klonen, aber nicht pushen oder Issues/Pull-Requests öffnen.
FightSystem/src/me/yaruma/fightsystem/utils/Region.java

37 Zeilen
1.5 KiB
Java

package me.yaruma.fightsystem.utils;
import org.bukkit.Location;
public class Region {
2019-06-08 12:57:08 +02:00
private Region(){}
2019-02-23 16:59:25 +01:00
public static boolean isInRange(Location location, int minX, int minY, int minZ, int xRange, int yRange, int zRange, int margin) {
return isInRegion(location, minX, minY, minZ, minX + xRange, minY + yRange, minZ + zRange, margin);
}
2019-02-23 16:59:25 +01:00
public static boolean isInRegion(Location location, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, int margin) {
return isIn2DRegion(location, minX, minZ, maxX, maxZ, margin) && inRange(location.getBlockY(), minY, maxY, margin);
}
2019-02-23 16:59:25 +01:00
public static boolean isIn2DRange(Location location, int minX, int minZ, int xRange, int zRange, int margin){
return isIn2DRegion(location, minX, minZ, minX + xRange, minZ + zRange, margin);
}
private static boolean isIn2DRegion(Location location, int minX, int minZ, int maxX, int maxZ, int margin){
2019-02-23 16:59:25 +01:00
return inRange(location.getBlockX(), minX, maxX, margin) && inRange(location.getBlockZ(), minZ, maxZ, margin);
}
public static boolean isIn2DRegion(Location location, int minX, int minZ, int maxX, int maxZ){
return inRange(location.getBlockX(), minX, maxX) && inRange(location.getBlockZ(), minZ, maxZ);
2019-02-23 16:59:25 +01:00
}
private static boolean inRange(double value, int min, int max, int margin){
2019-02-23 16:59:25 +01:00
return inRange(value, min-margin, max+margin);
}
private static boolean inRange(double value, int min, int max){
2019-02-23 16:59:25 +01:00
return min <= value && value <= max;
}
}