package in.twizmwaz.cardinal.module.modules.regions.type;
import in.twizmwaz.cardinal.GameHandler;
import in.twizmwaz.cardinal.module.modules.regions.parsers.PointParser;
import in.twizmwaz.cardinal.util.Numbers;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.util.Vector;
public class PointRegion extends BlockRegion {
private final float yaw, pitch;
public PointRegion(String name, double x, double y, double z, float yaw, float pitch) {
super(name, x, y, z);
this.yaw = yaw;
this.pitch = pitch;
}
public PointRegion(String name, double x, double y, double z) {
this(name, x, y, z, 0F, 0F);
}
public PointRegion(String name, Vector vector, float yaw, float pitch) {
this(name, vector.getX(), vector.getY(), vector.getZ(), yaw, pitch);
}
public PointRegion(String name, Vector vector) {
this(name, vector.getX(), vector.getY(), vector.getZ());
}
public PointRegion(PointParser parser) {
this(parser.getName(), parser.getVector(), parser.getYaw(), parser.getPitch());
}
@Override
public Vector getVector() {
return Numbers.clone(vector);
}
@Override
public PointRegion getRandomPoint() {
return this;
}
@Override
public Location getLocation() {
return new Location(GameHandler.getGameHandler().getMatchWorld(), vector.getX(), vector.getY(), vector.getZ(), getYaw(), getPitch());
}
public float getYaw() {
return yaw;
}
public float getPitch() {
return pitch;
}
public Block getBlock() {
return vector.toLocation(GameHandler.getGameHandler().getMatchWorld()).getBlock();
}
}