Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите И что тут не так?

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheZefirrkka, 1 дек 2016.

  1. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Код:
    @Override
        public boolean onCommand(final CommandSender sender, final Command c, final String l, final String[] a) {
            if (c.getName().equalsIgnoreCase("perm")) {
                Player p = (Player) sender;
                if (!p.hasPermission("perms.perm")) {
                    Utls.PMsg(p, "&4&lУ вас нету прав на использование данной команды!");
                    return true;
                }
                if (a.length == 0) {
                    Utls.sendMsg(p, "&c-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
                    Utls.sendMsg(p, "&c/perm add <nick> <permission> - выдать право");
                    Utls.sendMsg(p, "&c/perm del <nick> <permission> - удалить право");
                    Utls.sendMsg(p, "&c/perm - информация о правах");
                    Utls.sendMsg(p, "&c-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
                    return true;
                }
                if(a.length == 3){
                    if (a[0].equalsIgnoreCase("add")) {
                        Player target = Bukkit.getPlayerExact(a[0]);
                        PermissionsEx.getUser(target).addPermission(a[1]);
                        Utls.PMsg(p, "Вы выдали игроку " + target + " право" + a[1]);
                        return true;
                       
                    }
                    if (a[0].equalsIgnoreCase("del")) {
                        Player target = Bukkit.getPlayerExact(a[0]);
                        PermissionsEx.getUser(target).removePermission(a[1]);
                        Utls.PMsg(p, "Вы отняли у игрока " + target + " право" + a[1]);
                        return true;
                    }
                }
                   
                }
            return false;
    }
    }
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    До этого все команды работали, что тут не так?
     
  4. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    В строке Bukkit.getPlayerExact(a[0]); ты передаешь в параметры метода слово add, а нужно ник игрока.А вообще, этот метод устарел, и может работать некорректно.
     
  5. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Ну это опечатка, исправил, но код всё равно на работает.
     
  6. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Ну, очень сложно понять что именно не работает без лога.Предоставь лог файл с ошибкой, пожалуйста.
     
  7. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Ошибку не выдаёт, возвращает мне usage
     
  8. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    ОРУ
     
  9. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    ???
    Сообщение со встроенных префиксом и с поддержкой & знака вместо §
     
  10. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Делай через кейсы, намного удобнее
     
  11. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Попробуй убрать модификатор final с параметра String[] a.
     
  12. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Тупой бесполезный метод
     
  13. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Отправку сообщений?
     
  14. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    А смысл? Он его не изменяет.
     
  15. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Нету смысла, не поможет.
    final String a и String a - одно и то же, только с final переменную в будующем нельзя изменять
     
  16. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Нет, обработку аргументов[DOUBLEPOST=1480615699,1480615665][/DOUBLEPOST]
     
  17. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    У меня код работает, разве что нужно добавить метод getName() к target'у в этих строчках:
    Код:
    p.sendMessage("Вы выдали игроку " + target.getName() + " право" + a[1]);
    p.sendMessage("Вы отняли у игрока " + target.getName() + " право" + a[1]);
    А проблема скорее всего в регистрации, в plugin.yml должны быть примерно следующие строчки:
    Код:
    commands:
        perm:
            description: This is the help command.
            usage: /perm
            permission: perm.perm
            permission-message: У вас нет прав на использование данной команды!
        perm add:
            description: This will add permission to the user.
            usage: /perm add
            permission: perm.add
            permission-message: У вас нет прав на использование данной команды!
        perm del:
            description: This will remove permission from the user.
            usage: /perm del
            permission: perm.del
            permission-message: У вас нет прав на использование данной команды!
    Они есть?
     
  18. Автор темы
    TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Лс читай
     
  19. IcedwinterZ

    IcedwinterZ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Когда схавает ошибку "за пределами массива" тогда будет использовать case
     
  20. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Аргументы в plugin.yml?
     
  21. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Зачем?
     

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