Spigot Spielernamen überprüfen?

Hallo liebe Programmierer,

Ich schreibe grade ein Varo-Plugin und versuche nun, einen Spieler zu kicken, es sei dem, der Spieler heißt "Water_Storm"(mein MC-Name xD). Nun habe ich den unten stehenden Code programmiert. Das Problem ist das im Spiel nicht abgefragt, ob ich "Water_Storm" heiße, also werde ich vom Server gekickt.

Wie kann man sowas abfragen?

Danke im Voraus,

Halllomenschen

Code:

if (Bukkit.getPlayer(name1) == null)
            continue;
          if (Bukkit.getPlayer(name1).getName() != "Water_Storm") {
          if ((((Integer)Varo.this.recordingTime.get(name1)).intValue() == 15) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 10) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 5) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 4) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 3) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 2))
            Bukkit.broadcastMessage("§e" + name1 + " §3wird in §e" + Varo.this.recordingTime.get(name1) + " §3Sekunden gekickt.");
          else if (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 1)
            Bukkit.broadcastMessage("§e" + name1 + " §3wird in §eeiner §3Sekunde gekickt.");
          else if (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 0 && (Bukkit.getPlayer(name1).getName() != "Water_Storm")){
            Bukkit.getPlayer(name1).kickPlayer("§4Deine Aufnahmezeit ist aufgebraucht. §cDu wurdest deshalb gekickt.");
          }
          }
          else{
        	  if ((((Integer)Varo.this.recordingTime.get(name1)).intValue() == 15) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 10) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 5) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 4) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 3) || (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 2)) {
                  Bukkit.broadcastMessage("§e" + name1 + " §3wird in §e" + Varo.this.recordingTime.get(name1) + " §3Sekunden gekickt.");
        	  	  Bukkit.getPlayer(name1).sendMessage("§3Deine Runde endet in §e" + Varo.this.recordingTime.get(name1) + " §3Sekunden.");}
                else if (((Integer)Varo.this.recordingTime.get(name1)).intValue() == 1)
                  Bukkit.getPlayer(name1).sendMessage("§eDeine Runde§3 endet in einer Sekunde.");
                Bukkit.getPlayer(name1).sendMessage("§4Deine Aufnahmezeit ist aufgebraucht. Da du der Owner des Servers bist, kannst du dich noch im Server umschauen");
        	  Bukkit.getPlayer(name1).setGameMode(GameMode.SPECTATOR);
          }
...zur Frage

Da es relativ schlecht formatiert ist, kann ich die Klammersetzung nicht wirklich beurteilen. Aber versuch mal den String nicht mit "!=" zu vergleichen sondern mit:

if (!"Water_Storm".equals(Bukkit.getPlayer(name1).getName()))

(Habe den String ganz vorne gesetzt, da man immer zuerst die Konstanten hinschreiben sollte)

...zur Antwort

Nein du kannst keine Methode in der Sysout aufrufen, zumindest nicht wenn die Methode void zurückgibt. Deine Methode "vollerName" muss in etwa so aussehen:

public String vollerName(String vorname, String nachname){
        return vorname + " " + nachname;
}

Obwohl eigentlich die Methodennamen und Parameter auf Englisch sein sollten, schätze aber, dass dies erst etwas später dazu kommt. Auf jeden Fall kannst du die "vollerName" Methode jetzt ohne Probleme in deiner Sysout aufrufen.

(Sysout = System.out.println();)

...zur Antwort

Habe selbst einen mit 250 Ohm und kann ihn ohne Probleme an einer normalen Soundkarte am PC betreiben, selbst auf dem onboard Soundchip. Ich muss es nicht mal bis 100% aufdrehen, dann wäre es mir schon zu laut.

...zur Antwort

Es ist deine Entscheidung. Ich habe auch ein Mädchen in der Mannschaft, normal ist sie immer zuhause duschen gegangen, wo sie aber gemerkt hat das ich sie mag mag, ist sie beim Nächsten Training mit den Jungs duschen gekommen , und hat dabei die Dusche neben mir genommen. Seit diesem Tag sind wir zusammen <3

...zur Antwort

So vllt ein bisschen Spät, aber als auf Klärung 

Internal exception: java.io.IOException: Received string length longer than maximum allowed (36 > 16) bedeutet, nicht viel mehr, das ein String bzw. Name zu lang ist,Ist oft ein Fehler von den Mojang Auth Server(n) , Oft erkennen die Server mehr zeichen von einem Namen als er hat, Hatte mal so ein Tab Plugin Programmiert, hatte mal mehr als Sechszehn zeichen benutzt z.b. &bDeveloper &7¦ &b Die & und Zahlen und Buchstaben stehen für die Farbcodes, und werden mit gezählt (mit dem Abstand ist es das gleiche), Das bedeutet, hat Jemand die Prefix bzw. Das vor dem namen Stehen, Wird es von den Mojang Auth Server(n) als Ganzer Name erkannt, das Heisst hat er mehr als 16 Zeichen, Crasht das Minecraft, bzw. nicht nur von  Demjenigen sondern von allen.

MFG StaPlerLP

Für Weitere Informationen, Schreibe mich an.

...zur Antwort

Drück mal bei steam Rechtsklick auf CSGO dann Einstellungen, Dann unten Startoptionen festlegen heisst das glaub ich, dann schau ob da -insecure steht wenn ja weg nehmen wenn nein, schreib rein starte und mach es dann wieder raus

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.