我尝试了一个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;
}
}
答案 0 :(得分:0)
您的onCommand
方法中似乎有错误匹配的括号。
代码末尾的括号结束了其中一个if语句,但是没有完成方法的括号,或者没有完成该类的括号。
如果在代码末尾添加另外两个括号,则此问题应该消失。我建议您使用IDE或编辑器来帮助您检查括号是否匹配。