语法错误Java Bukkit插件

时间:2014-03-12 09:44:51

标签: java eclipse plugins syntax-error bukkit

我尝试了一个bukkit插件。我从一个小的治疗插件开始,但是我在这里遇到了一些语法错误,如果你们可以帮助我的话会很棒,并向我解释!谢谢:))

我在最后一行收到此错误:

此行有多个标记     - 语法错误,插入“}”以完成MethodBody     - 语法错误,插入“else语句”完成    BlockStatements

package P1;

import org.bukkit.ChatColor;
import org.bukkit.Effect;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class ultimateHeal extends JavaPlugin {

@Override
public void onEnable() {

    System.out.println("uHeal by xGumBax activated!");
}

@Override
public void onDisable() {

    System.out.println("uHeal by xGumBax deactivated!");
}

@SuppressWarnings("deprecation")
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if(cmd.getName().equalsIgnoreCase("heal")) {
    if(!(sender instanceof Player)) {

        System.out.println("Dieser Befehl ist nur für Spieler!");
        return true;

    }
    Player p = (Player) sender;
    if(args.length == 0) {
        if(p.hasPermission("uheal.heal.self")) {
            p.setHealth(20);
            p.setFoodLevel(40);
            p.sendMessage(ChatColor.DARK_RED + "[" + getDescription().getName() + "]" + ChatColor.GRAY + " Deine Lebensanzahl wurde aufgefüllt.");
            p.playEffect(p.getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
            return true;
        }
        else {
            p.sendMessage(ChatColor.DARK_RED + "[" + getDescription().getName() + "]" + ChatColor.GRAY + " Du hast keine Rechte um diesen Befehl auszuführen!");
            return true;
        }



    }
    else if(args.length == 1) {
        if(p.hasPermission("uheal.heal.others")) {
        Player target = this.getServer().getPlayer(args[0]);
        target.setHealth(20);
        p.sendMessage(ChatColor.DARK_RED + "[" + getDescription().getName() + "]" + ChatColor.GRAY + " Spieler " + args[0] + " wurde geheilt!");
        target.playEffect(target.getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
        target.playEffect(target.getLocation(), Effect.POTION_BREAK, 1);
        target.sendMessage(ChatColor.DARK_RED + "[" + getDescription().getName() + "]" + ChatColor.GRAY + " Du wurdest geheilt!");  
    } else {
        p.sendMessage(ChatColor.DARK_RED + "[" + getDescription().getName() + "]" + ChatColor.GRAY + " Du hast keine Rechte um diesen Befehl auszuführen!");
    }

    return false;
}















} 

1 个答案:

答案 0 :(得分:0)

您的onCommand方法中似乎有错误匹配的括号。

代码末尾的括号结束了其中一个if语句,但是没有完成方法的括号,或者没有完成该类的括号。

如果在代码末尾添加另外两个括号,则此问题应该消失。我建议您使用IDE或编辑器来帮助您检查括号是否匹配。