[WIP] Multipass - плагин на пермишены

Discussion in 'Разработка плагинов' started by fromgate, 18/5/16.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
Thread Status:
Not open for further replies.
  1. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    В виду того, что пока миру не был явлен плагин на пермишены, который удовлетворял бы моим представлениям каким он должен быть (в т.ч. и по части лицензионной чистоты), я решил написать свой плагин.

    Пока он ещё находится в стадии активной разработки, но вроде бы уже большая часть функционала работает.

    В кратце остановлюсь на особенностях плагина:

    Плагин поддерживает отдельные пермишены как в различных мирах так и обощенные пермишены.
    При этом в отличии от всех прочих плагинов пермишенов, я решил уйти от "традиционной" системы когда настройки групп и игроков строго разделены по мирам. Но при при этому каждый игрок или группа может иметь определённый набор как общих пермишенов/групп так и привязанный к каким-то мирам.

    Т.е. грубо говоря в группе Х можно прописать пермишены общие для всех миров. А также отдельно указать, что в одном мире дополнительно действует один вид пермишенов, а в другом - другие.

    Не знаю, насколько это удобно или нет. Мне это показалось удобнее чем традиционная схема с кучей директорий, разделённых по мирам.

    При этом файл пермишенов игрока может выглядеть, допустим так:
    Code:
    groups:
    
    [list]
    [*]test
    permissions: []
    prefix: ''
    suffix: ''
    priority: 0
    worlds:
    world:
    permissions:
    
    [list]
    [*]test5.test5
    
    [/list]
    [/list]
    В этом примере, игрок наследует пермишены из группы тест. Но когда он находится в мире world - то ещё получает и дополнительный пермишен test5.test5

    Настройка группы по сути, аналогична:
    Code:
    test:
    groups: []
    permissions:
    
    [list]
    [*]test.test2
    [*]test.test
    prefix: ''
    suffix: ''
    priority: 0
    
    [/list]
    Перечня команд приводить пока не будут (мне ещё придётся потратить кучу времени на подготовку инструкции ;))
    но комада /perm help работает ;)
     
    Last edited: 19/5/16
  2. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Ну и примечание. Плагин ещё не завершён и будет меняться. Может сильно, а может и нет.
    Но если у Вас была возможность его опробовать - напишите о впечатлениях. Буду благодарен :)
     
  3. impact

    impact Error #404, User not found In Resignation

    Messages:
    52
    Likes Received:
    20
    Есть такая возможность как '*' ?
     
  4. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    По идее нет - ничего специально я для этого не делал. И не уверен, что можно. Надо будет проверить, что в Nukkit՛е самом есть по этому поводу
     
  5. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    126
    Likes Received:
    27
    Если права зареганы через plugin.yml, то вроде должна быть возможность...
     
    fromgate likes this.
  6. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Обновил. Префиксы работают нормально.
    Проверил на специально написанном плагине - мультичат.

    Исходники MultiChat тут: https://github.com/NukkitRu/MultiChat
     
  7. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    В MultiChat - добавлены неймтаги
    В Mulitpass - добавлено событие, информирующее о том, что произошла смена событий
     
  8. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Multipass v0.0.6

    • Исправлены расчёт префиксов
    • Исправлена путаница, когда префикс дублируется в суффикс
    • Все команды, которые могут поддерживать мир - поддерживают
    • Налажена работа с дефолтной группой (она добавляется игроку при первом входе на сервер или если у него не настроены пермиешены)
    • При первом старте плагина сохраняется файл groups.yml - образец
     
  9. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Multipass v0.0.7

    • В API добавлен метод проверки наличия группы
    MultiChat v0.0.3

    • По просьбам трудящихся добавлена возможность настройки специфических форматов для отдельно взятых групп
    • Добавлен плейсхолдер "%world%", вместо которого подставляется название мира в котором находится игрок.
    • Добавлена команда /chat group chat <имяГруппы> <формата для чата>
    • Добавлена команда /chat group tag <имяГруппы> <формата для NameTag'а>
     
  10. Андрей Терентьев

    Андрей Терентьев Пользователь

    Messages:
    10
    Likes Received:
    0
    Minecraft:
    PickUpBoo
    Удобная штучка)
     
  11. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Изменения:
    Multipass: Поборол (как мне кажется) глюк с тем, что группы с одинаковым приоритетом не обрабатывались. Это касалось и префиксов/суффиксов.
    Multichat: Очередность сконфигурированных групп обрабатывается иначе. Теперь (по идее) проверка групп идёт в порядке очерёдности и игроку выдаётся неймтаг в формате последней, подходящей группы (если он определён).
     
  12. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Multipass: немного переделан подход к проверке находится ли игрок в группе

    MultiChat: добавлен "дефолтный" конфиг, который сохраняется если в директории плагина файла config.yml не существует
     
  13. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Multipass
    Исправлена ситуация, когда некоторые вложенные группы игнорировались при расчёте пермишенов.
     
  14. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Multichat: Что-то исправил
    Miltipass: Теперь при перемещении из группы в группу пермишены не суммируются
     
    Pub4Game likes this.
  15. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    126
    Likes Received:
    27
    Что-то исправил, что-то добавил, зачем-то выложил...
     
    fromgate likes this.
  16. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Mulitpass
    • Добавлена поддержка зеркалирования миров
    • Исправлена ошибка с "неназначением" дефолтной группы

    Multichat
    • Добавлена поддержка DisplayName (имени в списке игроков).
     
    Tee7even likes this.
  17. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Пополнение коллекции "мульти-плагинов". Встречайте MultiPromotions!

    Плагин предназначен для создания системы продвижения игрока. На его основе можно будет создать (пока сразу нельзя, но потом можно будет) систему продвижения при получения опыта/уровней или (уже вполне можно) авто-донат.

    Также в плагине предусмотрена регистрация собственных сторонних систем продвижения, что может значительно упростить создания плагинов, которым нужен подобный функционал.

    Плагин пока не завершён, из команд там есть только тестовая:

    /dbpromote <игрок> <группа> [время начала] <время завершения>

    Время указывается относительно (т.е. 10s - означает через десять секунд, 1m - через 1 минуту).
     

    Attached Files:

    M4Gn1T and Pub4Game like this.
  18. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Последние редакции MulitChat и Multipass.

    В Multipass добавлена поддержка баз данных (нужен плагин DbLib), исправлено несколько ошибок.
     
    Last edited: 10/6/16
  19. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    194
    Пожалуй, это уже пре-релизы :)

    Изменения:

    Multichat

    • Добавлена возможность использования подгрупп для разметки сообщений
    • Изменён формат конфигурации (придётся перенастроиться немного)
    Multipass

    • Добавлены команды для импорта/экспорта пермишенов в один файл (/perm export, /perm import)
     

    Attached Files:

  20. Андрей Терентьев

    Андрей Терентьев Пользователь

    Messages:
    10
    Likes Received:
    0
    Minecraft:
    PickUpBoo
    Как сделать так, чтоб привилегия была во всех мирах через комунду?
     
Thread Status:
Not open for further replies.

Share This Page