Java Bukkit插件的语法错误

Java Bukkit插件的语法错误,java,eclipse,plugins,syntax-error,bukkit,Java,Eclipse,Plugins,Syntax Error,Bukkit,我尝试了一个bukkit插件。我从一个小的heal插件开始,但我在这里遇到了一些语法错误,如果你们能帮我解决这个问题,并向我解释一下,那就太棒了!谢谢:) 我在最后一行遇到这个错误: 这条线上有多个标记 -语法错误,请插入“}”以完成MethodBody -语法错误,请插入“else语句”以完成 区块语句 package P1; import org.bukkit.ChatColor; import org.bukkit.Effect; import org.bukkit.command.Co

我尝试了一个bukkit插件。我从一个小的heal插件开始,但我在这里遇到了一些语法错误,如果你们能帮我解决这个问题,并向我解释一下,那就太棒了!谢谢:)

我在最后一行遇到这个错误:

这条线上有多个标记 -语法错误,请插入“}”以完成MethodBody -语法错误,请插入“else语句”以完成 区块语句

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;
}















} 

看起来您的
onCommand
方法中的括号不匹配

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


如果在代码末尾再添加两个括号,这个问题就会消失。我鼓励您使用IDE或编辑器来帮助您检查括号是否正确匹配。

您好-欢迎使用stackoverflow。如果您还可以显示您收到的编译错误,那么我们可以更容易地提供帮助。我添加了我现在遇到的错误如果您使用的是IDE,那么它们通常会内置代码格式规则。这将自动缩进您的代码,并使查找这些类型的错误变得更加容易。我在哪里可以找到IDE?Eclipse是一个很好的起点—它免费、功能完善且大量使用。它确实需要一点时间来适应,并且可以从下载。是的,我用eclipse编写了这个。没有你的帮助,我无法找到它。哈哈