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.

Woher ich das weiß:Hobby – Ich spiele Minecraft seit >5 Jahren
SALEGAMERMC  22.05.2020, 06:49

Cool, dass einfach nal der halbe Code den ich eingefügt habe, fehlt.

0

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

Woher ich das weiß:eigene Erfahrung
Bennnii  21.05.2020, 23:49

Dadurch, dass es sich um einen CommandExecutor handelt wird der Command beim registrieren in der Main festgelegt.

1
Soracent  21.05.2020, 23:51
@Bennnii

Achso wusste ich nicht bin halt noch old school bei Minecraft Plugins :D

1
BoomCrafterXDHD 
Fragesteller
 21.05.2020, 23:54

hi das habe ich in der main gemacht

0
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

Woher ich das weiß:Studium / Ausbildung – Gelernter Fachinformatiker Anwendungsentwicklung
MrCommandBlock  21.05.2020, 23:50

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.

0
Bennnii  21.05.2020, 23:51
@MrCommandBlock

Dann muss er aber in der if-Abfrage auch das Argument 1 und nicht 0 abfragen.

0
codinghelp  22.05.2020, 00:03
@MrCommandBlock

Und vorallem nicht

[23:32:59 INFO]: CrazyLasy issued server command: /gm 0 CrazyLasy

eingeben ;)

0