Помогите Ошибка NullPointerException

  • Автор темы Автор темы Sergeo
  • Дата начала Дата начала

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Ошибка:


Код:
java.lang.NullPointerException: null
        at ru.solomka.OptionalCommand.basic.BasicCommandHandler.registerHandler(BasicCommandHandler.java:36) ~[?:?]
        at ru.solomka.Main.registrationCommand(Main.java:21) ~[?:?]
        at ru.solomka.Main.onEnable(Main.java:14) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:330) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:383) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [spigot-1_12_2.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]

Класс BasicCommandHandler:


Код:
public abstract class BasicCommandHandler implements CommandHandler, TabCompleter {

        protected Map<String, ECommand> commands = new HashMap<>();

        public Collection<ECommand> getRegisteredCommands() { return commands.values(); }

        private final ECommand defCommand;

        public BasicCommandHandler(ECommand def) { defCommand = def; }

        @Override
        public ECommand getDefaultCommand() { return defCommand; }

        @Override
        public void registerCommand(ECommand command) { commands.put(command.getName(), command); }

        public void registerHandler(JavaPlugin plugin, String key) {
            plugin.getCommand(key).setExecutor(this);
        }

        @Override
        public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

            ECommand cmd;

            if (args.length == 0 || commands.get(args[0]) == null) cmd = defCommand;
            else {
                cmd = commands.get(args[0]);
                args = EText.trimArgs(args);
            }

            if (cmd.getPermission() == null || sender.hasPermission(cmd.getPermission()))
                cmd.use(sender, args);
            else
                sender.sendMessage("Неизвестная команда!");
            return true;
        }

}

Проблемная строка: getInstance().getCommand(key).setExecutor(getInstance());

Регистрация в Main:
Код:
    public void onEnable(){
        getLogger().info("HelperMode enable!");
        registrationCommand();
    }
    public void onDisable(){
        getLogger().info("HelperMode disable!");
    }

    public void registrationCommand() {
        new JoinHandler().registerHandler("/helper");
    }

plugin.yml:

Код:
name: HelperMode
main: ru.solomka.Main
version: 1.0.0
author: Solomka
commands:
  helper:
    description: command to helper
    permission: HelperMode.helper
    usage: /helper
 
Последнее редактирование:
Назад
Верх