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

Помогите Ограничения в правах

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    FeatureTeam
    Здравствуйте, я хочу дать право игроку testperm.limit.5
    как в плагине сделать проверку чтобы при проверки права testperm.limit.3 вернуло true, а testperm.limit.6 false
    и по возможности сделать запрос testperm.limit и получить 5

    надеюсь это делается не циклом с проверкой каждого числа
     
  2. FeniksDEV

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

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    В самой безнадежной ситуации без нужного API под рукой так и делается, либо выбирается другой способ хранения мета-информации.

    Если делать по уму, то можно использовать LuckPerms API и хранить нужное число в мете (https://luckperms.net/wiki/Prefixes,-Suffixes-&-Meta#meta). Мета тоже выглядит как разрешение, но у нее свой паттерн – meta.<key>.<value>. Значение можно будет читать и обновлять по ключу меты, все остальные перечисленные проверки делаются в рамках одного метода, который сравнивает числа.
     
  3. alexandrage

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

    Баллы:
    173
    Само ведро является нужным апи, уже давно есть PersistentDataContainer у юзеров.
     
  4. FeniksDEV

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

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    Механизм хранения выбирается в зависимости от задачи, в числе которых может быть и PDC.
     
  5. alexandrage

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

    Баллы:
    173
    хз что это, но PersistentDataContainer не зависит ни от кого, это запись напрямую в юзер дат.
     
  6. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Это не задача для системы прав. По крайней мере решается не так, как ты хочешь.

    Создаётся конфиг и там настраивается лимит для каждой группы. У игрока может быть только одна приоритетная группа, по ней и будет определяться лимит.

    Если нужна возможность гибкой настройки без привязки к группам, то уже нужно иметь систему, в которой у каждого игрока может находиться это значение лимита. И всё это хранить либо на диске, либо в базе, либо ещё где-то, но точно не в системе прав.
    Для хранения на диске как раз может подойти PersistentDataContainer (PDC)
     

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