d31zySubscribe | Продвинутая система Подписок, MiniMessage

Плагин d31zySubscribe | Продвинутая система Подписок, MiniMessage 1.0

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.16
  2. 1.17
  3. 1.18
  4. 1.19
  5. 1.20
  6. 1.21
Ядра и Прокси
  1. Paper
Минимальная версия Java
17
Исходный код
https://github.com/d31zy/d31zySubscribe
d31zySubscribe - это плагин для Paper, который добавляет на сервер гибкую систему подписок (донат-привилегий). Позволяет создавать неограниченное количество тарифов, выдавать их на срок или бессрочно, автоматически снимать по истечении и выполнять любые команды при выдаче и снятии.

Ключевые особенности:
  • ♾️ Неограниченное число подписок - каждая настраивается отдельным файлом в папке subscribes/ (например vip.yml, mvp.yml)
  • ⏳ Срочные и бессрочные подписки - выдача на N дней либо навсегда
  • 🔄 Автоматическое снятие истёкших подписок с выполнением привязанных команд
  • ⚙️ Команды при выдаче/снятии - интеграция с любым плагином прав (LuckPerms и др.)
  • 💾 Хранение в базе данных: SQLite «из коробки» или MySQL (пул соединений на HikariCP)
  • 🎨 Полная поддержка MiniMessage — HEX-цвета, градиенты, форматирование во всех сообщениях
  • 📊 Плейсхолдеры PlaceholderAPI — вывод статуса и оставшегося времени подписки
  • 🚀 Оптимизированный код — обращения к базе не блокируют основной поток
Технические требования:
  • Java 17 или новее
  • Ядро Paper (или его форки, например Purpur) версии 1.16.5+ (не Spigot/CraftBukkit)
  • Опциональные зависимости: PlaceholderAPI, LuckPerms
  • Поддерживаемые версии: 1.16.5 – 1.21.11
Конфигурации:
  • YAML:
    # ██████╗░██████╗░░░███╗░░███████╗██╗░░░██╗# ██╔══██╗╚════██╗░████║░░╚════██║╚██╗░██╔╝
    # ██║░░██║░█████╔╝██╔██║░░░░███╔═╝░╚████╔╝░
    # ██║░░██║░╚═══██╗╚═╝██║░░██╔══╝░░░░╚██╔╝░░
    # ██████╔╝██████╔╝███████╗███████╗░░░██║░░░
    # ╚═════╝░╚═════╝░╚══════╝╚══════╝░░░╚═╝░░░
    # Разработано с любовью от студии d31zyStudio
    #
    # Связь:
    #   Telegram: t.me/d31zy
    #   VK: vk.ru/d.asspi4
    #
    
    storage:
      # sqlite ИЛИ mysql
      type: "sqlite"
      sqlite:
        file: "data.db"
      mysql:
        host: "localhost"
        port: 3306
        database: "d31zysubscribe"
        username: "root"
        password: ""
        use-ssl: false
        pool-size: 10
    
    settings:
      # Как часто (в секундах) проверять и снимать просроченные подписки
      expire-check-interval-seconds: 60
    
    messages:
      no-permission: "<gray>У Вас <red><underlined>недостаточно</underlined></red> <gray>прав!"
      reload: "<gray>Вы <#E74C2E>успешно</#E74C2E> перезагрузили плагин!"
      unknown-subscription: "<gray>Подписки с ID <yellow>%id%</yellow> не существует!"
      no-args:
        - "<#E74C2E>d31zySubscribe <dark_gray>|</dark_gray> <gray>Помощь:"
        - ""
        - "<#E74C2E>/subscribe give <dark_gray>(</dark_gray><#E74C2E>игрок</#E74C2E><dark_gray>)</dark_gray> <dark_gray>(</dark_gray><#E74C2E>подписка</#E74C2E><dark_gray>)</dark_gray> <dark_gray>(</dark_gray><#E74C2E>дни/forever</#E74C2E><dark_gray>)</dark_gray> <dark_gray>-</dark_gray> <gray>выдать подписку"
        - "<#E74C2E>/subscribe take <dark_gray>(</dark_gray><#E74C2E>игрок</#E74C2E><dark_gray>)</dark_gray> <dark_gray>(</dark_gray><#E74C2E>подписка</#E74C2E><dark_gray>)</dark_gray> <dark_gray>-</dark_gray> <gray>снять подписку"
        - "<#E74C2E>/subscribe info <dark_gray>(</dark_gray><#E74C2E>игрок</#E74C2E><dark_gray>)</dark_gray> <dark_gray>-</dark_gray> <gray>посмотреть подписки игрока"
        - "<#E74C2E>/subscribe list <dark_gray>-</dark_gray> <gray>список всех доступных подписок"
        - "<#E74C2E>/subscribe reload <dark_gray>-</dark_gray> <gray>перезагрузить плагин"
      null-player: "<gray>Игрок не найден."
      no-exists: "<gray>У игрока нет такой подписки!"
      give-duration: "<gray>Вы выдали подписку <yellow>%subscription%</yellow> игроку <#E74C2E>%player%</#E74C2E> на <#E74C2E>%duration%</#E74C2E> дн.!"
      give-forever: "<gray>Вы выдали подписку <yellow>%subscription%</yellow> игроку <#E74C2E>%player%</#E74C2E> навсегда!"
      take: "<gray>Вы забрали подписку <yellow>%subscription%</yellow> у игрока <#E74C2E>%player%</#E74C2E>!"
      incorrect-duration: "<gray>Вы ввели некорректный срок подписки!"
      info-header: "<gray>Подписки игрока <#E74C2E>%player%</#E74C2E><dark_gray>:"
      info-line-forever: "  <yellow>%subscription%</yellow> <dark_gray>-</dark_gray> <#E74C2E>навсегда"
      info-line-timed: "  <yellow>%subscription%</yellow> <dark_gray>-</dark_gray> <#E74C2E>%time%"
      info-empty: "  <gray>нет активных подписок"
      list-header: "<gray>Доступные подписки<dark_gray>:"
      list-line: "  <yellow>%id%</yellow> <dark_gray>-</dark_gray> <gray>%name%"
    
    # Форматы, используемые плейсхолдером %d31zysubscribe_time_<id>%
    placeholder:
      forever: "<gray>(<#E74C2E>∞</#E74C2E>)"
      remaining: "<gray>(<#E74C2E>%days%д. %hours%ч. %minutes%м.</#E74C2E>)"
      none: "<red>Нету"
      has-yes: "<green>Да"
      has-no: "<red>Нет"
  • YAML:
    # Пример подписки. Имя файла (без .yml) - это её ID, используемый в командах и плейсхолдерах.
    # Можно создать сколько угодно таких файлов в папке subscribes/, например vip.yml, mvp.yml, premium.yml.
    display-name: "VIP"
    symbol: "&6&l+ &7"
    
    # Префикс игрока, пока подписка активна. %prefix% - префикс из LuckPerms, %symbol% - значение выше.
    prefix-with-subscription: "%prefix%%symbol%"
    # Префикс игрока, когда подписки нет или она истекла.
    prefix-without-subscription: "%prefix% &7"
    
    commands-on-give:
      - "lp user %player% permission set essentials.god true"
      - "lp user %player% parent add vip"
    
    commands-on-take:
      - "lp user %player% permission unset essentials.god"
      - "lp user %player% parent remove vip"
Зависимости
Опционально: LuckPerms, PlaceholderAPI
Команды и права
/d31zysubscribe || /subscribe
Главные команды плагина.

Использование:

  • /subscribe give <игрок> <подписка> <дни|forever> - Выдать подписку на срок или навсегда
    • Право: d31zysubscribe.admin ( Сразу доступно при OP )
  • /subscribe take <игрок> <подписка> - Снять подписку
    • Право: d31zysubscribe.admin ( Сразу доступно при OP )
  • /subscribe info <игрок> - Показать активные подписки
    • Право: d31zysubscribe.admin ( Сразу доступно при OP )
  • /subscribe list - Список доступных подписок
    • Право: d31zysubscribe.admin ( Сразу доступно при OP )
  • /subscribe reload - Перезагрузить плагин
    • Право: d31zysubscribe.admin ( Сразу доступно при OP )
Права:
  • d31zysubscribe.admin - Доступ к командам /subscribe
Автор
deadwithme
Скачивания
1
Просмотры
42
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

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

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

Назад
Сверху Снизу