wie geht gamemode java programieren?
Hallo ich programiere momentan ein gamemode pl aber irgendwie kommt ein fehler unten ist der consolen log und die class
fehler: https://hasteb.in/uwucupux.md
4 Antworten
if (t != null) {
p.sendMessage(Main.prefix + " §6§lDer Spieler ist offline");
}
if (args[0].equalsIgnoreCase("0")) {
t.setGameMode(GameMode.SURVIVAL);
t.sendMessage(gm0);
p.sendMessage(Main.prefix + " §6§lDu has den Spieler " + t.getPlayer()
+ " §6§lIn den GameMode 0 gesetzt");
}
Dieser Code macht keinen sinn. Wenn t NICHT null ist, dann wird dem Spieler die Nachricht gesendet, dass der Spieler offline ist. Sprich: Die Abfrage ist falsch. Es muss heißen: if(t == null). Außerdem musst du dann abbrechen, sonst läuft der Code ja weiter. Also nach der Nachricht "ist offline" kommt noch ein return true;
Achja, die nächste Abfrage ergibt auch keinen Sinn. Du hilfst dir den Player t aus args[0], frägst abet gleichzeitig ab, ob args[0] gleich mit "0" ist.
Du musst Player t = Bukkit.getPlayer(args[1]); nehmen.
Ich kann dir helfen wenn du willst also ich kenne mich gut mit Spigot API aus also nur falls du was mit Spigot machst
Guten Abend,
Wie fängt dein programm ab welcher Command eingegeben wurde?
Z.B: in meinem fall habe ich im OnCommand() {}
ein If das den eingegebenen command checkt also so:
if (cmd.getName().equalsIgnoreCase("gm")) {
//Code mit Permissions abfrage etc.
}
Der code checkt ob der eingegebene Command (CMD) egal ob klein oder gross geschrieben /GM ist
Player t = Bukkit.getPlayer(args[1]);
Müsste es doch eigentlich heißen oder? Du definierst sowohl in der if-Abfrage als auch im Spieler t das Argument 0
Eigentlich nicht
/gm 1
> der auszuführende Spieler wird bearbeitet
/gm MineTec 1
> der Spielernamen im Argument 0 wird bearbeitet
Nach meinem (nicht Java fähigen) Verständnis ist das richtig.
Dann muss er aber in der if-Abfrage auch das Argument 1 und nicht 0 abfragen.
Und vorallem nicht
[23:32:59 INFO]: CrazyLasy issued server command: /gm 0 CrazyLasy
eingeben ;)
Dadurch, dass es sich um einen CommandExecutor handelt wird der Command beim registrieren in der Main festgelegt.