2013-11-03 2 views
0

다음은 내 코드입니다. 맨 아래의 마지막 둥근 괄호에 오류가 있습니다. 이것은 매우 성가신 일이며 나는 그것을 고치려고 노력해 왔습니다. 내가 너무 많은 브라켓이나 뭐 그런 거니? 나는 정말로 곤란하다. 도와주세요.Bukkit 플러그인 구문 오류 : 구문 오류, "}"을 (를) 삽입하여 ClassBody를 완성하십시오.

enter code here 

package me.sapita.medic; 

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

public class medicplugin1 extends JavaPlugin { 


    public void onEnable() { 
     Bukkit.getServer().getLogger().info("Medic enabled!"); 
    } 

    public void onDisable() { 
     Bukkit.getServer().getLogger().info("Medic disabled!"); 
    } 

    @SuppressWarnings("deprecation") 
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ 

    if (!(sender instanceof Player)){ 
     sender.sendMessage(ChatColor.RED + "The console cannot be regenerated!"); 
     return true; 
    } 

    Player player = (Player) sender; 


    if (cmd.getName().equalsIgnoreCase("regen")){ 
     Player target = Bukkit.getServer().getPlayer(args[0]); 
     if (target == null){ 
      player.sendMessage(ChatColor.RED + "Could not find user."); 
      return true; 
     } 

     if (args.length == 0){ 
      player.setHealth(20); 
      player.setFoodLevel(20); 
      player.sendMessage(ChatColor.GREEN + "Your health & food have been regenerated!"); 
     } 
     if (target == null){ 
      player.sendMessage("Please specify a player to regenerate."); 
     } 

     sender.sendMessage(target.getName() + "has been regenerated!"); 

     target.setHealth(20); 
     target.sendMessage(sender.getName()+ "has regenerated your health & food!"); 
     return true; 

     } 

    return true; 

    if (cmd.getName().equalsIgnoreCase("resetfood")){ 

     Player target = Bukkit.getServer().getPlayer(args[0]); 
    if (target == null){ 
     player.setFoodLevel(20); 
     player.sendMessage(ChatColor.GREEN + "Your food health has been regenerated!"); 
     return true; 
    } 

    if (args.length == 0){ 
     sender.sendMessage(ChatColor.GREEN + "You have fed yourself!"); 

     player.setFoodLevel(20); 
     return true; 
    } 


    target.setFoodLevel(20); 



    target.sendMessage(sender.getName() + "has regenerated your food!"); 

    sender.sendMessage(ChatColor.GREEN + target.getName() + "has been food health has been regenerated!");{ 
     return true; 
    } 
+0

이것은 'Java opening {'스타일 - 다음 줄에 여는 중괄호 넣기 - 들여 쓰기 모두 사용하면 문제가있는 곳을 볼 수 있습니다. – Artur

답변

1

당신은이 누락 "}"파일의 끝에서.

  1. 공공 부울 요구시 작동되는()
  2. 나는 당신의 말에 true을 반환 할 생각 언급 JPW

세 번째는, 실제로 여는 중괄호에 문제가 medicplugin1 클래스 if 절.

sender.sendMessage(...); ---> { <--- 
    return true; 
} 

다음 번에 IDE 형식 코드 작성기를 사용하는 것이 좋을 듯합니다. 이 컴파일시에 UnreachableCode 오류에 해결하는 것처럼 또한

...

if (cmd.getName().equalsIgnoreCase("regen")){ ... } 

    return true; 

    if (cmd.getName().equalsIgnoreCase("resetfood")){ ... ] 

이 코드는 잘못 .. 보인다.

0

실제로는 마지막에 }이 누락되었습니다. 적절한 들여 쓰기를하면이 사실이 매우 빨라졌습니다. 닫는 괄호 누락

블록은 다음과 같습니다

if (cmd.getName().equalsIgnoreCase("resetfood"))

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)

public class medicplugin1 extends JavaPlugin