- Баллы
- 76
- Имя в Minecraft
- Solomka
Ошибка:
Класс BasicCommandHandler:
Проблемная строка: getInstance().getCommand(key).setExecutor(getInstance());
Регистрация в Main:
plugin.yml:
Код:
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
Последнее редактирование: