28 lines
717 B
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;
|
|
}
|
|
}
|