1

这是我的所有代码:

@Override
public void onEnable()
{
    getLogger().info("Plugin Enabled!");

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    {
        if(cmd.getName().equalsIgnoreCase("Plugin"))
        { 
            // If the player typed /plugin then do the following...
            if (sender instanceof Player) 
            {
                Player player = (Player) sender;

                // Gives player item
                return true;
            } 
            else 
            {
                sender.sendMessage("You must be a player!");
                return false;
            }
        }   
    }

    @Override
    public void onDisable() 
    {
        getLogger().info("Plugin Disabled!");
    }
}

如果您不知道,这是 Minecraft Bukkit 的插件。

这是错误行:

getLogger().info("Plugin Enabled!");

当我删除分号时,“”中的消息是一个错误,当我插入一个“}”或/和一个“{”时,它会显示一个错误。

我该如何解决?

4

3 回答 3

1

onCommand在另一个方法 ( ) 中有一个方法 ( onEnable) - 这是不可能的。

我想您}之前缺少一个右括号public boolean onCommand

public void onEnable() {
    getLogger().info("Plugin Enabled!");
} //HERE ADD THE MISSING BRACE

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("Plugin")) { // If the player typed /plugin then do the following...
        if (sender instanceof Player) {
            Player player = (Player) sender;

            // Gives player item
            return true;
        } else {
            sender.sendMessage("You must be a player!");
            return false;
        }
    } else {
        return false; //HERE YOU NEED TO RETURN FROM THE ELSE TOO
    }
}
于 2013-01-27T13:51:33.050 回答
0

问题是您有 3 种方法:onEnable(),但是onCommand()最后onDisable()两种方法是定义的onEnable(),您不能在其中执行。如果您在getLogger()...通话后添加“}”,您将在那里结束onEnable()通话,那么您还需要删除您在向我们展示的块末尾获得的尾随“}”。

于 2013-01-27T13:55:01.903 回答
0
public void onEnable(){
    getLogger().info("Plugin Enabled!");
}// Add braces

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
        if(cmd.getName().equalsIgnoreCase("Plugin")){ // If the player typed /plugin then do the following...
            if (sender instanceof Player) {
                   Player player = (Player) sender;

                   // Gives player item
                   return true;
                } else {
                   sender.sendMessage("You must be a player!");
                   return false;
                }
        } 

    }

@Override
public void onDisable() {
    getLogger().info("Plugin Disabled!");
}
// } Delete this braces
于 2013-01-27T14:03:28.777 回答