new BukkitRunnable() {
@Override
public void run() {
players.stream().filter(uuid -> Bukkit.getPlayer(uuid) != null).forEach(uuid -> { // Durch eine Liste mit Java 8 Lambda iterieren
Player player = Bukkit.getPlayer(uuid);
Location location = player.getLocation();
location.setPitch(0);
location.setYaw(0);
Location locTo = player.getLocation().add(1, 0, 0); // z-Wert um 1 erhöhen
locTo.setPitch(0);
locTo.setYaw(0);
Vector vector = location.subtract(locTo).getDirection().multiply(0.38); // <-- der "spannende" Teil:
//Eigentlich nur einfache Mathematik mit Vektoren - man bekommt die Richtung von zwei Orten, indem man den alten Vektor vom neuen Vektor subtrahiert.
//'multiply(0.38)' vergrößert die Länge oder "Stärke" des Vektors um den Faktor 0.38.
player.setVelocity(vector);
});
}
}.runTaskTimer(this, 0, 20); // wird jede Sekunde ausgeführt