Spielername im Command herausfinden?
Hi leute,
Wie finde ich den Spielernamen heraus.
zum beispiel "/player [spielername]" wie mach ich das?
Ich denke mal du willst wissen, wie man das Programmiert? (Spigot Plugin?)
ja genau danke
3 Antworten
In deiner onCommand-Methode hast du ein String-Array, in den meisten Fällen heißt dieses args.
public boolean onCommand(CommandSender commandSender, Command command, String label, String[] args) {
In diesem String-Array stehen alle Argumente drin, also alles was nach dem /<command> kommt.
Möchtest du jetzt also einen Command entwickeln, welcher bspw. /player <Name> lautet, musst du auf dieses Array zugreifen:
String playerName = args[0];
Jetzt hast du dein 1. Argument, also in diesem Falle den Spielernamen. Um diesen jetzt als Spieler zu behandeln, benötigst du jetzt natürlich noch den Spieler selbst. Dafür hat die Bukkit-Klasse eine getPlayer(String) Methode. Heißt, du würdest das ganze folgendermaßen angehen:
Player targetPlayer = Bukkit.getPlayer(args[0]);
Dann hast du den Spieler den du im Command angegeben hast und kannst mit diesem agieren.
Eine kleine Warnung gebe ich jedoch noch: Den Code bitte nicht 1:1 so übernehmen. Hier fehlen noch null-Checks und co., für den Fall dass bspw. keine Argumente angegeben wurden oder der Spieler nicht Online ist.
Der steht in den String[] args.
In dem Fall also einfach mit
String name = args[0];
Denke schon, kommt drauf an was für Infos du willst und woher
Einfach die Tab Taste (unter Escape {ESC}) drücken und du siehst alle Spieler ..
Ich mache so einen Playerinfo Command, also ich muss dann auch zum beispiel: