Ich empfehle dir auch noch bevor du den CommandSender zum Player castest:
Code:
Player p = (Player)sender;
zu prüfen ob der CommandSender überhaupt eine Instanz von Player ist. Wenn du das nicht machst, dann kann es passieren, dass wenn du diesen Befehl von der Konsole ausführst, du Fehlermeldungen bekommst.
Hier ein Beispiel, wie du das machen kannst:
Code:
if(!(sender instanceof Player)){
sender.sendMessage("Du musst ein Spieler sein, um diesen Befehl ausführen zu können");
return;
}
Kleine Erklärung:
- ! - Dreht die Bedingung der If-Clause um. Statt, dass das nachfolgende, true sein muss, damit der code ausgeführt werden muss, muss es nun false sein.
- (sender instanceof Player) - Prüft ob sender (CommandSender) eine Instaz von Player ist. Die Klammern müssen da sein, damit wir nicht prüfen ob sender false ist, sondern damit das Ergebnis von sender instanceof Player gewertet wird.
- sender.SendMessage(String) - Sollte sich von selber erklären.
- return - Unterbricht die weitere Ausführung der Funktion.
Mit freundlichen Grüßen
Floppy012