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

Как выдать разрешения игроку?

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

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

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

    Баллы:
    16
    На пример имеется конфиг:
    Код:
    groups:
      player:
         - perm.player
        - perm.etc
      admin:
         - perm.*
    players:
      ivan: admin
    
    Далее игрок заходит на сервер, ему выдаются права игрока, и если его ник ivan, еще и права админа.
    И вот суть вопроса: как эти права выдать?
    В гугле нашел только про PermissionAttachment, но я не понял как его использовать.
    Заранее благодарен.
     
  2. Хостинг MineCraft
    <
  3. Mr_RoboMan

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

    Баллы:
    123
    Кстати подписываюсь, тоже интересна тема как сделать что-то вроде своего PEX..
     
  4. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Проверяете ник игрока, если = ivan, выставляете ему группу, которую берёте по имени.
     
  5. Mr_RoboMan

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

    Баллы:
    123
    Я думаю я и ТС говорим не про это..
    Свою системку прав я уже реализовал у себя, НО, например проверить есть ли у игрока право, мне надо делать так:
    GWMServerPlugin.plugin.permission.hasPlayerPerm(....)!
    А вот как можно засунуть это глубоко в bukkit, чтоб можно было юзать player.hasPermission()?[DOUBLEPOST=1467555311,1467555254][/DOUBLEPOST]Ведь насколько я помню, если установить PEX, то права можно проверять и по player.hasPermission() и права установленный в PEX тоже будут работать..
     
  6. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Почему вы все так ленитесь декомпилировать чужие плагины?
    Инстанс главного класса - плохо.
     
    Последнее редактирование: 3 июл 2016
  7. Bohdan_Hrytsak

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

    Баллы:
    76
    Имя в Minecraft:
    NegaTiV
    декомпиляция PeX тебе в помощь.
     
  8. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Убейся, пожалуйста, и не пиши то, что уже было написано.

    Существует такой прекрасный плагин, как rscPermissions.
    Исходник открыт и доступен всем - смотрите.
     
  9. Mr_RoboMan

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

    Баллы:
    123
  10. Автор темы
    Earl Morze

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

    Баллы:
    16
    Да я просто попросил помощи в этом вопросе. Я гуглил, декомпилировал, но так и не смог понять как реализовывается выдача прав.
     
  11. Mr_RoboMan

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

    Баллы:
    123
    Декомпилировать то можно, но лично я - могу прочитать только небольшие плгинчики, не больше 10ки классов, но прочитать PEX с его колвом классов и понять хоть что-то - для меня IMPOSSIBLE..
    Ага, а еще статики, а еще вся джава костыли.
     
  12. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Воу воу воу, спасибо :)
    Работать с PermissionAttachment легко, это просто некая обёртка над какой-то другой коллекцией (скорее всего HashMap, но роли никакой не играет).
    https://github.com/SimSonic/rscPerm...Bukkit/BukkitPermissionManager.java#L107-L113
    Код:
    PermissionAttachment attachment = player.addAttachment(plugin);
    attachment.setPermission("permission", true); // или false, если отобрать.
     
  13. Автор темы
    Earl Morze

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

    Баллы:
    16
    Огромное спасибо. Целый день ломал голову, а все так просто.
     
Статус темы:
Закрыта.

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