1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как получить group из PermissionsEx (Permissions) для игрока

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

Статус темы:
Закрыта.
  1. Автор темы
    timonikch

    timonikch Новичок Пользователь

    Баллы:
    6
    Простите за такой "каверзный" вопрос, но последний раз я занимался плагинами примерно 5 лет назад и сейчас очень туплю.:good:

    Задача очень простая, мне нужно просто, чтобы при вводе игроком команды abc выводилось сообщение: "Твоя группа пермишонов - %группа пермишонов%, твой префикс - %префикс%"
    Нужен коллаб только с плагином Permissions, никакаих чатексов мне не надо упаси ведро

    Только не надо плиз на меня плеваться и говорить умными словами, с большой вероятностью я могу ничего не понять. Спасибо! :lol:
     
  2. Nikolai_Faint

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

    Баллы:
    96
    Учи LuckPerms.
     
  3. Автор темы
    timonikch

    timonikch Новичок Пользователь

    Баллы:
    6
    Хм а можно пример кода чуть (не знаю порядки форума и нагло ли это):coffee:
    Чтобы я понимал насколько все плохо
     
  4. Nikolai_Faint

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

    Баллы:
    96
    Держи.
     
  5. Автор темы
    timonikch

    timonikch Новичок Пользователь

    Баллы:
    6
    Спасибо! Я во всем разобрался! То что внизу неактуально, а понадобится для тех кто имеет похожую задачу как у меня!

    ---- Решение задачи ----

    Откуда мне получить этот collection<string> в onCommand
    Вот мои функции:

    public static String getPlayerGroup(Player player, Collection<String> possibleGroups) {
    for (String group : possibleGroups) {
    if (player.hasPermission("group." + group)) {
    return group;
    }
    }
    return null;
    }
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel){
    if(cmd.getName().equalsIgnoreCase("chd")){
    Player player = (Player) sender;
    player.sendMessage("Твоя группа пермишонов - " + getPlayerGroup(player, ???));
    }
    return false;
    }

    Там где ??? я ничегонепонимаю

    udp может надо массив...
    как-то так

    Collection<String> possibleGroups = new ArrayList<String>();
    possibleGroups.add("default");
    possibleGroups.add("employer");
    possibleGroups.add("employerplus");
    possibleGroups.add("chief");
    possibleGroups.add("admin");

    udp Все получилось!
    исходник:

    public class Main extends JavaPlugin {
    Logger log = getLogger();
    public void onEnable() {
    log.info("Плагин запущен успешно!");
    }
    public static String getPlayerGroup(Player player, Collection<String> possibleGroups) {
    for (String group : possibleGroups) {
    if (player.hasPermission("group." + group)) {
    return group;
    }
    }
    return null;
    }
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    if(cmd.getName().equalsIgnoreCase("chd")){
    Player player = (Player) sender;
    Collection<String> possibleGroups = new ArrayList<String>();
    possibleGroups.add("default");
    possibleGroups.add("employer");
    possibleGroups.add("employerplus");
    possibleGroups.add("chief");
    possibleGroups.add("admin");
    player.sendMessage("Твоя группа пермишонов - " + getPlayerGroup(player, possibleGroups));
    return true;
    }
    return false;
    }
    }



     
    Последнее редактирование: 9 мар 2019
  6. IlyaHaker

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

    Баллы:
    76
    Можешь брать список групп через конфиг, хз:
    Код:
    groupList:
    - group1
    - group2
    - group3
    
    Метод их получения, вроде, getStringList("groupList");
    P.S Скорее всего есть способ брать этот список групп из самого permissions.yml, без промежуточного конфига, хз
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Первый раз такой бред вижу. Можно же getPrimaryGroup(player) из Vault.
     
Статус темы:
Закрыта.

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