Ошибка на моей точке с запятой кажется неустранимой
Вот весь мой код:
@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!");
Когда я удаляю точку с запятой, сообщение " " является ошибкой, а когда я вставляю "}" или / и "{", это показывает ошибку, помогите!
3 ответа
Решение
У вас есть метод (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
}
}
Проблема в том, что у вас есть 3 метода: onEnable()
, onCommand()
а также onDisable()
Однако два последних метода определены в onEnable()
что вы не можете сделать. если вы поставите '}' после getLogger()...
позвоните, вы закончите onEnable()
позвоните туда, тогда вам также нужно удалить трейлинг '}', который вы получили в конце блока, который вы нам показываете.
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