Bukkit Plugin Problem mit Argumenten

04/06/2013 14:24 manimax3#1
(Falls im falschen Bereich bitte verschieben)
So ich fange gerade an mit dem Plugins programmieren, leider bin ich dabei
auf ein Problem gestoßen und zwar möchte ich wenn man ein bestimmtest
Argument hinter einem Befehl eingibt das dann auch etwas ganz anderes dafür ausgeführt wird.
Leider wird bei mir kein Fehler ausgegeben deshalb weis ich auch nicht wo das Problem liegt. Ich schick euch einfach mal den (die) Befehle.
[Fragt nicht wie auch auf etwas so sinnlose gekommen bin das war nachts um 3 und ein Kumpel hatte die Idde ihn selbst zu verarschen :3 (weil er KoalaxDD heißt)]
Quote:
public boolean onCommand(CommandSender sender, Command cmd,
String commandLabel, String[] args) {
if (sender instanceof Player) {
Player p = (Player) sender;
if (cmd.getName().equalsIgnoreCase("huhu")) {
p.sendMessage("Huhu " + p.getName());
p.sendMessage("Dafür das du gegrüßt hast bekommst du eine magische Heilung ;)");
p.setHealth(20);
return true;
}
if (cmd.getName().equalsIgnoreCase("koalas")) {
if (args.length == 0) {
p.sendMessage("Möchtest du die Koalas unterstützen?");
p.sendMessage("Verwende /koalas unterstuetzen oder /koalas ausrotten");
return false;
}
if (args.length == 1) {
if (args[0] == "unterstuetzen") {
p.sendMessage("Danke für deine Unterstuetzung. Dafür wirst du geheilt!");
p.setHealth(20);
} else if (args[0] == "ausrotten") {
p.sendMessage("So jetzt komm aber die Peta");
p.kickPlayer("Bye Bye");
}
return true;
}

}
} else {
System.out.println("Bitte nur als Spieler ausfuehren");
return false;
Ich bin auch schon den ganzen Tag dabei den Fehler selbst zu finden leider ohne Erfolg.
04/06/2013 14:36 ComputerBaer#2
Hast du in der plugin.yml auch beide Befehle drin?
04/06/2013 14:48 manimax3#3
Quote:
commands:
huhu:
description: Huhu
usage: /<command>
koalas:
description: pointless
usage: /<command> <arg[0]>
Das habe ich zu plugin.yml mit rein geschrieben
04/06/2013 15:21 ComputerBaer#4
Das die letzte Klammer zu fehlt, liegt vermutlich daran, dass du die nicht mit kopiert hast, oder?

An welcher Stelle hakt es genau? Reagiert der / die Befehle überhaupt nicht? Oder funktionieren nur die "unterstuetzen" und "ausrotten" Teile des Befehls nicht?

Achja, das "So jetzt komm aber die Peta", wird der Spieler nicht sehen, wenn du ihn sofot kickst.
04/06/2013 15:26 manimax3#5
Ja es geht genau ab da nicht sobald ich den Befehl mit einem der Argumente eingebe. sprich es kommt nirgents ein Feedback (weder im Chat noch in der Konsole). Alles andere funktioniert einwandfrei.

Ja die letzte Klammer hab ich vergessen.

Kann man iwie eine pause einbinden oder gibt es sowas unter Java nicht?
04/06/2013 15:32 ComputerBaer#6
Versuch es mal mit "if (args.length > 0)" und schick dir dann mal eine Nachricht mit args[0]. Es könnte sein, dass er der Befehlsname args[0] ist.
04/06/2013 15:40 manimax3#7
er will einfach nichts machen
kann es sein das er da schon nicht mehr weis wer p ist?
04/06/2013 15:57 ComputerBaer#8
Dann sollte dir deine Entwicklungsumgebung spätestens beim kompilieren einen Fehler anzeigen.
04/06/2013 16:04 manimax3#9
hmmm ich bin echt ratlos