hGrant [1.16.X-26.X] | PAPI, Vault, Luckperms и много чего ещё поддерживается

Платно Плагин hGrant [1.16.X-26.X] | PAPI, Vault, Luckperms и много чего ещё поддерживается v1.3

Нет прав для приобретения ("199.99" ₽)
Поддерживаемые версии
  1. 1.16
  2. 1.17
  3. 1.18
  4. 1.19
  5. 1.20
  6. 1.21
Ядра и Прокси
  1. Bukkit
  2. Spigot
  3. Paper
Минимальная версия Java
17
hGrant
Система выдачи привилегий через GUI с лимитами, cooldown и PlaceholderAPI

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

hGrant — это настраиваемая система выдачи привилегий, наград и других grant-действий через GUI.

Плагин позволяет игроку или администратору с доступом открыть меню выдачи для выбранного игрока и выдать настроенную привилегию, временную группу, валюту или любую другую награду через actions.

Для каждой выдачи можно настроить отдельный предмет в GUI, лимит, cooldown, восстановление лимита, длительность, действия для выдающего, действия для получателя и PlaceholderAPI-плейсхолдеры.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Основные возможности

  • Открытие GUI через /grant <player>.
  • Отдельные GUI-файлы для разных групп.
  • Настраиваемые лимиты выдач.
  • Настраиваемый cooldown после выдачи.
  • Опциональное восстановление лимитов.
  • Значения duration для временных групп.
  • Значения amount для валютных наград.
  • Отдельные состояния предметов: доступно, cooldown, лимит исчерпан.
  • Кастомные материалы, названия, lore, зачарования и item flags.
  • Декоративные предметы в GUI.
  • PlaceholderAPI-плейсхолдеры для доступных выдач, использованных выдач и cooldown.
  • SQLite-хранилище по умолчанию.
  • Опциональное MySQL-хранилище.
  • Опциональная интеграция с LuckPerms.
  • Опциональные Vault-действия.
  • Публичное событие GrantEvent.
  • Поддержка HEX-цветов.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Как работает

Игрок использует команду:

Код:
/grant <player>

Плагин проверяет доступ, определяет подходящее GUI для выдающего, загружает доступные выдачи и открывает меню для выбранного игрока.

При клике по предмету hGrant проверяет его состояние:

  • available — выдача доступна.
  • cooldown — нужно подождать перед повторной выдачей.
  • notAvailable — лимит выдач исчерпан.

Если выдача доступна, плагин сохраняет обновлённые данные, выполняет actions для выдающего и затем actions для получателя, если он находится онлайн.

────────────────────────────────────────

Выбор GUI по группе

hGrant может использовать группы LuckPerms или permissions для выбора GUI, которое увидит игрок.

GUI-файлы находятся в папке:

Код:
plugins/hGrant/guis/

В комплекте есть шаблоны GUI:

Код:
phoenix.yml
overlord.yml
vlastelin.yml
paladin.yml
xozyain.yml
dadmin.yml
shulker.yml
downer.yml
yt.yml
tiktok.yml
tiktokplus.yml

Каждый файл может иметь свой title, размер, предметы выдачи и декоративные элементы.

────────────────────────────────────────

Лимиты выдач

У каждой выдачи могут быть свои ограничения.

Поддерживаемые параметры:

Код:
cooldown
uncooldown
max
duration
amount

cooldown отвечает за задержку после выдачи.

uncooldown отвечает за восстановление использованных лимитов.

max задаёт максимальное количество выдач.

duration можно использовать в actions для временных групп.

amount можно использовать в actions для валютных наград.

────────────────────────────────────────

Состояния предметов GUI

Каждый предмет выдачи может иметь три состояния:

  • available
  • cooldown
  • notAvailable

Для каждого состояния можно отдельно настроить:

  • материал
  • название
  • lore
  • зачарования
  • item flags
  • actions для выдающего
  • actions для получателя

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

────────────────────────────────────────

Система actions

hGrant использует настраиваемые actions для сообщений, команд, звуков, визуальных эффектов и экономики.

Примеры поддерживаемых действий:

Код:
[Message]
[Console]
[Player]
[Sound]
[Close]
[Vault]
[Title]
[ActionBar]
[BossBar]
[Particle]
[Firework]
[Effect]
[Broadcast]

Пример actions для выдачи:

Код:
grantorActions:
  - "[Console] lp user {target} parent addtemp prince 14d"
  - "[Message] {prefix} Вы выдали prince игроку {target}"
  - "[Close]"

targetActions:
  - "[Message] {prefix} Вы получили prince от {grantor}"
  - "[Sound] sound: ENTITY_PLAYER_LEVELUP"

────────────────────────────────────────

Интеграция с LuckPerms

Если поддержка LuckPerms включена, hGrant может читать группы выдающего и использовать их для выбора GUI и доступных правил выдачи.

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

────────────────────────────────────────

Хранилище данных

hGrant сохраняет данные о выдачах в базу данных.

Поддерживаемые режимы хранения:

  • SQLite
  • MySQL

Сохраняются:

  • UUID игрока
  • ID выдачи
  • количество использований
  • время окончания cooldown
  • время следующего восстановления

SQLite используется по умолчанию. MySQL можно включить в config.yml.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Конфигурация

Основной файл:

Код:
plugins/hGrant/config.yml

GUI-файлы:

Код:
plugins/hGrant/guis/

Пример структуры группы:

Код:
settings:
  groups:
    paladin:
      priority: 40
      list:
        prince:
          cooldown: 259200
          uncooldown: -1
          max: 5
          duration: "14d"
        rubles:
          cooldown: 864000
          uncooldown: -1
          max: 3
          amount: 500

Пример предмета GUI:

Код:
gui:
  title: "&0Grant menu"
  size: 45
  grantItems:
    prince:
      priority: 1
      slots: [21]
      available:
        material: ORANGE_SHULKER_BOX
        displayName: "#FDBE00Prince"
        lore:
          - "Доступно: %hgrant_available_prince%"
          - "Нажмите, чтобы выдать"
        grantorActions:
          - "[Console] lp user {target} parent addtemp prince 14d"
          - "[Close]"

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Команды

Код:
/grant <player>

Открывает GUI выдачи для выбранного игрока онлайн.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Права

Код:
hgrant.grant.*

Разрешает доступ к системе выдачи.

Также можно использовать права под конкретные группы:

Код:
hgrant.grant.phoenix
hgrant.grant.overlord
hgrant.grant.vlastelin
hgrant.grant.paladin
hgrant.grant.xozyain
hgrant.grant.dadmin
hgrant.grant.shulker
hgrant.grant.downer
hgrant.grant.yt
hgrant.grant.tiktok
hgrant.grant.tiktokplus

Эти права можно использовать, если доступ не должен зависеть только от определения группы через LuckPerms.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PlaceholderAPI

hGrant регистрирует PlaceholderAPI-плейсхолдеры с идентификатором:

Код:
hgrant

Форматы плейсхолдеров:

Код:
%hgrant_cooldown_<grant>%
%hgrant_uncooldown_<grant>%
%hgrant_max_<grant>%
%hgrant_used_<grant>%
%hgrant_available_<grant>%

Примеры:

Код:
%hgrant_cooldown_prince%
%hgrant_available_prince%
%hgrant_used_prince%
%hgrant_max_prince%

Их можно использовать в lore GUI, scoreboard, меню и других плагинах с поддержкой PlaceholderAPI.

────────────────────────────────────────

Внутренние плейсхолдеры

Плейсхолдеры для actions и текста GUI:

Код:
{prefix}
{target}
{grantor}
{sender}
{type}
{grant}
{duration}
{formattedDuration}
{formatted_duration}
{duration_formatted}
{amount}
{permission}
{player}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

API для разработчиков

hGrant может вызывать публичное событие GrantEvent после успешной выдачи.

API включается или выключается в конфиге:

Код:
settings:
  api: true

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Требования

  • Java 16 или новее.
  • Minecraft 1.16 или новее.
  • Spigot / Paper / совместимое ядро.
  • PlaceholderAPI.

Опционально:

  • LuckPerms
  • Vault
  • MySQL

Важно: PlaceholderAPI обязателен для работы плагина.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Установка

  1. Установите PlaceholderAPI.
  2. Поместите hGrant.jar в папку plugins.
  3. Запустите или перезапустите сервер.
  4. Откройте config.yml.
  5. Настройте группы, лимиты и базу данных.
  6. Настройте GUI-файлы в папке guis.
  7. Перезапустите сервер после изменения конфигурации.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Примечания

  • Команда работает с игроками, которые находятся онлайн.
  • GUI выбирается на основе группы или прав доступа.
  • У каждой выдачи могут быть отдельные визуальные состояния.
  • Использования выдач сохраняются в базе данных.
  • LuckPerms и Vault являются опциональными интеграциями.
  • Actions позволяют использовать систему для групп, наград, сообщений и эффектов.
Зависимости
Vault, LuckPerms (Не обязательно), PlaceholderAPI (Обязательно)
Команды и права
Выше всё написано
  • Мне нравится (+1)
Реакции: HarukO
Автор
He3HaukaX
Просмотры
1 495
Первый выпуск
Обновление
Оценка
5.00 звёзд 4 оценок

Другие ресурсы пользователя He3HaukaX

Поделиться ресурсом

Последние обновления

  1. Обновление!

    1. Для предметов в гуи добавил настройку "itemFlags" 2. Для предметов в гуи добавил настройку...
  2. Обновление!

    1. Vault удалена из обязательных зависимостей 2. Оптимизации и мелкие фиксы в коде 3. Новый...
  3. Обновление!

    1. Состояние blocked перенесено в cooldown 2. Добавлено новое состояние "blocked" --> в том...

Последние рецензии

Долго искал плагины на /grant и выбрал этот, я советую его всем, потому что он шикарен и у автора очень частые обновления! Лучший плагин на выдачу донатика
H
He3HaukaX
спасибо
Молодец! Это как раз-таки тот вариант, который мне нужен был для моего сервера
H
He3HaukaX
спасибо
Очень хороший плагин, всё идеально работает, есть менюшка, лучший из многих которых я пробовал.
H
He3HaukaX
спасибо
Плагин хороший, все работает как нужно, есть даже менюшка, альтернатив этому плагину нет. 10/10
H
He3HaukaX
спасибо
Назад
Сверху Снизу