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