ProjectAres/PGM/src/main/java/tc/oc/pgm/points/DirectedYawProvider.java

28 lines
717 B
Java

package tc.oc.pgm.points;
import static com.google.common.base.Preconditions.checkNotNull;
import org.bukkit.util.Vector;
import tc.oc.commons.core.inspect.Inspectable;
public class DirectedYawProvider extends Inspectable.Impl implements AngleProvider {
private final @Inspect Vector target;
public DirectedYawProvider(Vector target) {
this.target = checkNotNull(target, "target");
}
@Override
public float getAngle(Vector from) {
double dx = this.target.getX() - from.getX();
double dz = this.target.getZ() - from.getZ();
return (float) Math.toDegrees(Math.atan2(-dx, dz));
}
@Override
public boolean isConstant() {
return true;
}
}