Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите This method must return a result of type boolean

Studenikin

Старожил
Пользователь
Баллы
123
Имя в Minecraft
stuvanya
Написал первый плагин (по туториалу) , а он не запускается
Код:
[18:38:07] [Server thread/ERROR]: Could not load 'plugins\CubeCraftWelcome.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:162) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
    at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:412) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:232) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:157) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    ... 5 more
Caused by: java.nio.charset.MalformedInputException: Input length = 1
    at java.nio.charset.CoderResult.throwException(Unknown Source) ~[?:1.7.0_71]
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.7.0_71]
    at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.7.0_71]
    at java.io.InputStreamReader.read(Unknown Source) ~[?:1.7.0_71]
    at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:123) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at java.io.Reader.read(Unknown Source) ~[?:1.7.0_71]
    at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:412) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:232) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:157) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    ... 5 more
вот сам плагин:
http://rghost.ru/59404080
 
Ну, всё ведь понятно: корявый plugin.yml. Мне даже кажется (Input length = 1), что он у тебя всего в 1 байт.
 
можете чуть поподробнее? я в этом полнейший нуб
 
Ну, чтобы понять, что не так с plugin.yml, на него нужно хотя бы взглянуть.
Напиши в посте теги: [ CODE=YAML][ /CODE] (без пробелов), и вставь между ними содержимое твоего plugin.yml.
 
YAML:
name:  First Plugin
main: ru.cubecraft.bukkit.cubehelp.CubeCraftHelp
description: Простой плагин с сайта dmitriymx.ru
version: 1.0

http://dmitriymx.ru/blog/bukkit-tutorial/pishem-prostoj-plagin-dlya-bukkit-2.html я писал (вернее копировал) по этому туториалу
Помогло сохранение plugin.yml в формате utf-8
спасибо за помощь, еще одна проблема:
Java:
package ru.stuvanya.cubehelp;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class CubeHelp  extends JavaPlugin implements Listener{
    public static final Logger _log = Logger.getLogger("Minecraft");
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(command.getName().equalsIgnoreCase("help")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("pl")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("plugins")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("about")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("?")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("bukkit")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }
        return false;
    }
}
Выкидывает ошибку:
Код:
[21:05:57] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'cubecrafthelp:pl' in plugin CubeCraftHelp v0.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
Caused by: java.lang.Error: Unresolved compilation problem:
    This method must return a result of type boolean

    at ru.stuvanya.cubehelp.CubeHelp.onCommand(CubeHelp.java:13) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    ... 13 more
 
Попробуй перекомпилировать полностью, с очисткой временных файлов
 
Java:
package ru.stuvanya.cubehelp;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class CubeHelp  extends JavaPlugin implements Listener{
    public static final Logger _log = Logger.getLogger("Minecraft");
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(command.getName().equalsIgnoreCase("help")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("pl")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("plugins")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("about")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("?")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }else if(command.getName().equalsIgnoreCase("bukkit")){
            sender.sendMessage(ChatColor.GREEN + "какой-то текст");
            return true;
        }
        return false;
    }
}
Java:
package ru.stuvanya.cubehelp;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class CubeHelp  extends JavaPlugin implements Listener{
    public static final Logger _log = Logger.getLogger("Minecraft");
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        switch(command.getName()) {
            case "bukkit":
            case "?":
            case "about":
            case "plugins":
            case "pl":
            case "help":
                sender.sendMessage(ChatColor.GREEN + "какой-то текст");
                break;
            default:
                break;
        }
        return true;
    }
}
 
Java:
package ru.stuvanya.cubehelp;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class CubeHelp  extends JavaPlugin implements Listener{
    public static final Logger _log = Logger.getLogger("Minecraft");
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        switch(command.getName()) {
            case "bukkit":
            case "?":
            case "about":
            case "plugins":
            case "pl":
            case "help":
                sender.sendMessage(ChatColor.GREEN + "какой-то текст");
                break;
            default:
                break;
        }
        return true;
    }
}
спасибо
Я доделал плагин, при вводе команд /help, /pl, /plugins и т.д он выводит то что мне нужно, но команды вида /essentials:help или /bukkit:pl все равно работают можно ли как-то сделать чтобы мой плагин их блокировал, и выводил то же самое?
 
спасибо
Я доделал плагин, при вводе команд /help, /pl, /plugins и т.д он выводит то что мне нужно, но команды вида /essentials:help или /bukkit:pl все равно работают можно ли как-то сделать чтобы мой плагин их блокировал, и выводил то же самое?
Java:
package ru.stuvanya.cubehelp;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class CubeHelp  extends JavaPlugin implements Listener{
    public static final Logger _log = Logger.getLogger("Minecraft");
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().startsWith("bukkit:")) { //Названия метода точно не помню, звиняй.
             sender.sendMessage(ChatColor.GREEN + "какой-то текст");
             return true;
        }
        switch(command.getName()) {
            case "bukkit":
            case "?":
            case "about":
            case "plugins":
            case "pl":
            case "help":
                sender.sendMessage(ChatColor.GREEN + "какой-то текст");
                break;
            default:
                break;
        }
        return true;
    }
}
 
Java:
package ru.stuvanya.cubehelp;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class CubeHelp  extends JavaPlugin implements Listener{
    public static final Logger _log = Logger.getLogger("Minecraft");
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().startsWith("bukkit:")) { //Названия метода точно не помню, звиняй.
             sender.sendMessage(ChatColor.GREEN + "какой-то текст");
             return true;
        }
        switch(command.getName()) {
            case "bukkit":
            case "?":
            case "about":
            case "plugins":
            case "pl":
            case "help":
                sender.sendMessage(ChatColor.GREEN + "какой-то текст");
                break;
            default:
                break;
        }
        return true;
    }
}
спасибо за помощь
 
Я, кстати, сидя вчера вечером с телефона, так и не понял, где у него изначально была Compile Error.
Погуглил, нашёл, что это такое поведение этих ваших эклипсов, самостоятельно генерировать код-заглушку, кидающее исключение. Я пользуюсь NetBeans, и он дрочит меня, чтобы я сам исправил все ошибки времени компиляции :)
 

Поделиться этой страницей

Назад
Верх