2021-07-12 18:24:10 -05:00
|
|
|
package net.nuggetmc.ai.utils;
|
2021-07-12 18:20:17 -05:00
|
|
|
|
|
|
|
|
import org.bukkit.Location;
|
|
|
|
|
import org.bukkit.block.Block;
|
|
|
|
|
import org.bukkit.util.BoundingBox;
|
|
|
|
|
import org.bukkit.util.Vector;
|
|
|
|
|
|
2021-07-12 18:24:10 -05:00
|
|
|
import java.util.UUID;
|
|
|
|
|
|
2021-07-12 18:20:17 -05:00
|
|
|
public class BotUtils {
|
|
|
|
|
|
2021-07-12 18:24:10 -05:00
|
|
|
public static UUID randomSteveUUID() {
|
|
|
|
|
UUID uuid = UUID.randomUUID();
|
|
|
|
|
|
|
|
|
|
if (uuid.hashCode() % 2 == 0) {
|
|
|
|
|
return uuid;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return randomSteveUUID();
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-12 18:20:17 -05:00
|
|
|
public static boolean solidAt(Location loc) { // not perfect, still cuts corners of fences
|
|
|
|
|
Block block = loc.getBlock();
|
|
|
|
|
BoundingBox box = block.getBoundingBox();
|
|
|
|
|
Vector position = loc.toVector();
|
|
|
|
|
|
|
|
|
|
double x = position.getX();
|
|
|
|
|
double y = position.getY();
|
|
|
|
|
double z = position.getZ();
|
|
|
|
|
|
|
|
|
|
double minX = box.getMinX();
|
|
|
|
|
double minY = box.getMinY();
|
|
|
|
|
double minZ = box.getMinZ();
|
|
|
|
|
|
|
|
|
|
double maxX = box.getMaxX();
|
|
|
|
|
double maxY = box.getMaxY();
|
|
|
|
|
double maxZ = box.getMaxZ();
|
|
|
|
|
|
|
|
|
|
return x > minX && x < maxX && y > minY && y < maxY && z > minZ && z < maxZ;
|
|
|
|
|
}
|
|
|
|
|
}
|