"Syntax error on token "else", delete this token" Fehlermeldung beseitigen?
Ich habe ein Bukkit Plugin programmieren Tutorial geguckt und bin auf folgendes Problem gestoßen, als ich das selbst ausprobiert hab:
package com.Akutaplug;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Akutaplug extends JavaPlugin {
private static final String ChatColor = null;
private static final String Chatcolor = null;
public void onEnable() {
// TODO Auto-generated method stub
super.onEnable();
System.out.println("TESTAUSGABE Akutaplug von Akutasan geladen.");
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
//Falls sender ein Player ist, machen wir den sender zum Player
Player player = null;
if(sender instanceof Player) {
player = (Player) sender;
}
//Kommandos
//Kommando "test"
if(command.getName().equalsIgnoreCase("test"));
if(player == null)
sender.sendMessage("Glückwunsch! Der Test war erfolgreich!");
return true;
} else {
player.setHeatlth (20);
player.
player.sendMessage(ChatColor.GREEN + "[Akutaplugin] " + Chatcolor.WHITE + " Glückwunsch! Der Test war erfolgreich!");
}
}
2 Antworten
Das passt bei den ifs mit den Klammern nicht. Du musst beim ersten statt dem Semikolon eine geschweifte Klammer setzen. Schließen musst du sie natürlich auch noch.
Es fehlt eine öffnende geschweifte Klammer nach diesem if:
if(command.getName().equalsIgnoreCase("test"));
Das Semikolon hingegen muss weg.
Lies in Zukunft die Fehlermeldung und überlege, was sie bedeutet. Von Tutorials, deren Quellcode du nicht verstehst, solltest du ebenso Abstand nehmen. Blind etwas abkopieren bringt dich kaum weiter.
Ich vermute mal, der Code wurde irgendwo her übernommen und dass ChatColor eine eigene Klasse ist, die als public static final eine eigene Konstante zur Verfügung stellt.
Ich würde mal versuchen, die Deklarationen für ChatColor aus der Klasse zu entfernen und dann in Eclipse mit STRG+Shift+O ("Organize imports") nachsehen, ob es eine Klasse "ChatColor" zum Importieren gibt.
Danke für die schnelle und ausführliche Antwort!
Und wie kann ich das Problem lösen?
Bei Chatcolor.GREEN steht "GREEN can't be resolved or is not a field." Und das selbe auch bei Chatcolor.WHITE.
Wäre nett wenn du das beantworten könntest. Danke