So weit ich weiß, bietet Bukkit dafür auch keine Möglichkeit. Ich habe auch noch nie ein Plugin gesehen, dass das verwendet.
Daher wirst du wohl nicht daran vorbei kommen das selbst zu implementieren. Ich kenn jetzt keinen Algorithmus, der so etwas kann, daher einfach mal eine Vermutung, wie man das am effektivsten machen könnte.
1. Maximale Reichweite festlegen.
2. Alle potentiellen Spieler innerhalb dieser Reichweite in eine Liste aufnehmen
Den Blick des Spielers kann man als Gerade betrachten. Nun zerlegen wir die Welt in ihre Achsen. Also wir "schneiden" die Welt jeweils an genau der Stelle des Ursprünglichen Spielers, also der, der den Command eingegeben hat durch.
Dabei erhält man 3 Ansichten: Eine Draufsicht, eine Ansicht von "Vorne" und eine Ansicht von der "Seite". Nun musst du deine Linie für diese 3 Ebenen aufteilen, so dass du eine Funktion hast, die deine Linien in jeder dieser Ebenen beschreibt.
Und ab hier wird einfach nurnoch Mathematik verwendet. Du berechnest den Wert deiner Funktion für jede Ebene an der Stelle jedes Spielers in deiner Liste und checkst dabei, ob dieser Wert innerhalb einer gewissen Tolleranz liegt, die die Breite der Spielerentity entspricht.
Wenn dies der Fall ist, prüfst du für die nächste Ebene, wenn nicht, kannst du die restlichen Ebenen überspringen und zum nächsten Spieler geben.
Keine Ahnung, ob das verständlich war, ich denke mal eher nicht. Die Lösung erfordert einiges an räumlicher Vorstellung und eigentlich auch ein bisschen Erfahrung mit solchen Berechnungen. (Daher gibt es das vermutlich auch nicht in Bukkit

)
Ich hab sowas aber noch nie gemacht, kann sein, dass es eine einfachere Lösung gibt.
- - - Aktualisiert - - -
Vlt mit player.getEyeLocation() versuchen welches eine LivingEntity wiedergibt und dann schauen ob diese Entity ein Player ist?
Also
Player p = (Player)cs;
Entity e = p.getEyeLocation();
if (e instanceof Player) {
Player target = (Player) e;
}
Hoffe das hilft dir weiter

Code wurde von mir nicht getestet
Les nochmal genau die Dokumentation, das gibt dir nur die Location der Augen der Enitity wieder. Das braucht er zwar für die Berechnung auch, aber so wie du dir das vorstellst geht das absolut nicht.