Помогите Не работают приоритеты по группам Pex.

  • Автор темы Автор темы bristol
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

bristol

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
bristol
Qq all!
Писал свои баны, столкнулся с проблемкой, а вернее проблема с приоритетами по группа Pex.
Вот код команды кика:
Код:
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(sender instanceof Player) {
            if(sender.hasPermission("bristbans.kick")) {
                if(args.length == 0 || args.length == 1) {
                    sender.sendMessage("§7[§4§l!§7] §cВведите никнейм и причину! \n§7[§4§l!§7] §c/kick [Никнейм] [Причина] \n§7[§4§l!§7] §c/kick NaryIIIitel 1.1");
                    return true;
                } else if(args.length >= 2) {
                    if(Bukkit.getPlayer(args[0]) != null) {
                        if(Bukkit.getPlayer(args[0]).isOnline()) {
                            Player p = Bukkit.getPlayer(sender.getName());
                            Player p2 = Bukkit.getPlayer(args[0]);
                            if(Main.getPriority().get(Main.getGroup(p)) >= Main.getPriority().get(p2)) {
                                StringBuilder sb = new StringBuilder();
                                for (int i = 1; i < args.length; i++) {
                                    sb.append(args[i]);
                                    sb.append(" ");
                                }
                                String reason = sb.toString();
                                Kick kick = new Kick(System.currentTimeMillis(), args[0], sender.getName(), reason);
                                kickPlayer(kick);
                                sendKick(kick);
                                return true;
                            }
                        } else {
                            sender.sendMessage("§7[§4§l!§7] §cТакого игрока не существует или нет на сервере!");
                            return true;
                        }
                    } else {
                        sender.sendMessage("§7[§4§l!§7] §cТакого игрока не существует или нет на сервере!");
                        return true;
                    }
                }
            } else {
                sender.sendMessage("§7[§4§l!§7] §cУ вас нету прав на выполнение данной команды!");
                return true;
            }
        } else {
            //TODO
            return true;
        }
        return true;
    }
Вот код главного класса:
Код:
    public static HashMap<PermissionGroup, Integer> priorities = new HashMap<PermissionGroup, Integer>();
    
    public static HashMap<PermissionGroup, Integer> getPriority() {
        return priorities;
    }
    
    @SuppressWarnings("deprecation")
    public static PermissionGroup getGroup(Player sender) {
        PermissionGroup[] group = PermissionsEx.getUser(sender.getName()).getGroups();
        return group[0];
    }

    public void onEnable() {
        getCommand("kick").setExecutor(new KickCommand());
        int i = 0;
        for(PermissionGroup pg : PermissionsEx.getPermissionManager().getGroupList()) {
            i++;
            priorities.put(pg, i);
            Bukkit.getLogger().info("Идет сортировка групп!");
        }
    }
    
    public void onDisable() {
        
    }
Выдает ошибку в 37 строке класса с командой Kick.
Вот сама ошибка:
Код:
null
org.bukkit.command.CommandException: Unhandled exception executing command 'kick' in plugin BristBans v1.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
    at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchCommand(CraftServer.java:647) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.PlayerConnection.handleCommand(PlayerConnection.java:1358) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1193) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_151]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_151]
    at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:732) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:400) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [Spigot.jar:git-Spigot-72c2605-251a5b6]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.lang.NullPointerException
    at ru.bristol.bristbans.commands.KickCommand.onCommand(KickCommand.java:37) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
    ... 15 more
Всем спасибо за помощь заранее!
 
Проблема решена, решил использовать weight в pex.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх