- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 17
hTops
Топы игроков на базе PlaceholderAPI с табличками, скин-стойками и базой данных
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Топы игроков на базе PlaceholderAPI с табличками, скин-стойками и базой данных
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
hTops — это плагин для создания топов игроков на основе значений PlaceholderAPI.
Вы можете создавать лидерборды из числовых плейсхолдеров, автоматически обновлять их, выводить позиции через PlaceholderAPI, привязывать топы к табличкам и создавать скин-стойки для конкретных мест в топе.
Плагин сохраняет данные в базу и поддерживает SQLite, MySQL, MariaDB и H2.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Основные возможности
- Создание топов из PlaceholderAPI-плейсхолдеров.
- Автоматическое обновление топов.
- Настраиваемый интервал обновления.
- Поддержка сохранённых офлайн-игроков в топах.
- Исключение игроков по праву.
- Исключение игроков по списку ников.
- Поддержка SQLite, MySQL, MariaDB и H2.
- PlaceholderAPI-вывод для мест в топе.
- PlaceholderAPI-вывод позиции текущего игрока.
- Отображение топов на табличках.
- Автоматическая привязка табличек через настроенный тег.
- Скин-стойки для мест в топе.
- Меню редактирования armor stand.
- Настраиваемый формат табличек.
- Настраиваемые параметры скин-стоек.
- Список и удаление отображений через команды.
- Предупреждение о подозрительных форматированных плейсхолдерах.
- Очистка runtime-данных с подтверждением.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Как работает
Топ создаётся из PlaceholderAPI-плейсхолдера.
Пример:
Код:
/htops create balance %vault_eco_balance% 10
Плагин считывает значение плейсхолдера у игроков, преобразует его в число и строит отсортированный топ.
После создания топ можно использовать в PlaceholderAPI, на табличках и через скин-отображения.
────────────────────────────────────────
Проверка плейсхолдеров
hTops умеет предупреждать о плейсхолдерах, которые могут возвращать форматированное или нечисловое значение.
Например, подозрительными могут считаться плейсхолдеры с суффиксами fixed, format, formatted, rounded, short или compact.
Это помогает не создать топ из значения, которое нельзя корректно отсортировать.
Если вы уверены в плейсхолдере, плагин может попросить подтверждение перед созданием топа.
────────────────────────────────────────
Автообновление
Топы обновляются автоматически.
Стандартная настройка:
Код:
settings:
leaderboards:
refreshSeconds: 300
includeOfflinePlayers: true
Параметр refreshSeconds отвечает за интервал обновления топов.
Если includeOfflinePlayers включён, сохранённые офлайн-игроки могут оставаться в топах.
────────────────────────────────────────
Исключение игроков
Игроков можно исключить из обновления топов.
Поддерживаются:
- исключение по праву
- исключение по списку ников
Стандартная настройка:
Код:
settings:
excluded:
permission: true
players: []
Игроки с правом htops.excluded не обновляются в топах, если включено исключение по праву.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Отображения
hTops поддерживает несколько типов отображения созданных топов.
Доступные типы:
- таблички
- скин-стойки
Созданные отображения можно просматривать и удалять через команды.
────────────────────────────────────────
Таблички
Топ можно привязать к табличке командой:
Код:
/htops addsign <id>
Игрок должен смотреть на табличку при использовании команды.
Также можно использовать стандартный тег таблички:
Код:
[htops]
Стандартные строки таблички:
Код:
{title}
#1 %htops_{board}_1%
#2 %htops_{board}_2%
#3 %htops_{board}_3%
Настройки табличек находятся в:
Код:
plugins/hTops/sign.yml
────────────────────────────────────────
Скин-стойки
hTops может создавать скин-отображения для конкретных мест в топе.
Формат команды:
Код:
/htops npc add <id>_<position>
/htops npc remove <id>_<position>
Пример:
Код:
/htops npc add balance_1
Эта команда создаёт отображение для первого места топа balance.
Настройки скин-стоек находятся в:
Код:
plugins/hTops/npc.yml
────────────────────────────────────────
Редактор Armor Stand
Скин-отображения можно редактировать через меню armor stand.
Редактор позволяет изменять:
- смещение X, Y и Z
- yaw и pitch
- видимость
- руки
- гравитацию
- base plate
- small mode
- слоты экипировки
- позы частей тела
Это позволяет настраивать внешний вид и положение отображений прямо в игре.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
База данных
hTops хранит данные топов, кеш плейсхолдеров и привязки отображений в базе данных.
Поддерживаемые типы:
- SQLite
- MySQL
- MariaDB
- H2
Стандартная конфигурация:
Код:
settings:
database:
type: "SQLITE"
host: "127.0.0.1"
port: 3306
name: "htops"
username: "root"
password: ""
file: "htops.db"
pool:
maximumPoolSize: 10
minimumIdle: 2
connectionTimeoutMs: 10000
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PlaceholderAPI
hTops регистрирует плейсхолдеры с идентификатором:
Код:
htops
Основной формат плейсхолдера топа:
Код:
%htops_<board>_<position>%
Примеры:
Код:
%htops_balance_1%
%htops_balance_2%
%htops_balance_3%
По умолчанию возвращается ник игрока на выбранной позиции.
────────────────────────────────────────
Значения позиции
Можно получить разные данные записи в топе.
Код:
%htops_<board>_<position>_name%
%htops_<board>_<position>_value%
%htops_<board>_<position>_uuid%
Примеры:
Код:
%htops_balance_1_name%
%htops_balance_1_value%
%htops_balance_1_uuid%
────────────────────────────────────────
Позиция игрока
Можно получить позицию текущего игрока в топе:
Код:
%htops_<board>_position%
Пример:
Код:
%htops_balance_position%
Если игрок не найден в топе, плейсхолдер возвращает -.
────────────────────────────────────────
Дополнительный вывод
Система плейсхолдеров может запросить другой PlaceholderAPI-плейсхолдер для игрока, который находится на позиции топа.
Формат:
Код:
%htops_<board>_<position>_{some_placeholder}%
Это можно использовать, чтобы показывать дополнительную информацию по игроку из конкретной позиции топа.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Команды
Код:
/htops
/htops create <id> <placeholder> <size>
/htops delete <id>
/htops size <id> <size>
/htops placeholder <id> <placeholder>
/htops addsign <id>
/htops npc add <id>_<position>
/htops npc remove <id>_<position>
/htops removedisplay <displayId>
/htops update
/htops reload
/htops list
/htops clear
Описание команд
Код:
/htops create <id> <placeholder> <size> - создать топ
/htops delete <id> - удалить топ
/htops size <id> <size> - изменить размер топа
/htops placeholder <id> <placeholder> - изменить исходный плейсхолдер
/htops addsign <id> - привязать табличку
/htops npc add <id>_<position> - создать скин-отображение
/htops npc remove <id>_<position> - удалить скин-отображение
/htops removedisplay <displayId> - удалить отображение по ID
/htops update - вручную обновить топы
/htops reload - перезагрузить конфиг
/htops list - показать список топов и отображений
/htops clear - очистить runtime-данные и отображения
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Права
Код:
htops.admin - доступ к административным командам hTops
htops.armorstand - доступ к редактированию armor stand
htops.excluded - исключает игрока из обновления топов, если включено
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Требования
- Java 17 или новее.
- Minecraft 1.16 или новее.
- Spigot / Paper / совместимое ядро.
- PlaceholderAPI.
Важно: PlaceholderAPI обязателен для работы плагина.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Установка
- Установите PlaceholderAPI.
- Поместите hTops.jar в папку plugins.
- Запустите или перезапустите сервер.
- Откройте созданные конфигурационные файлы.
- При необходимости настройте базу данных.
- Создайте первый топ командой /htops create.
- Используйте плейсхолдеры, таблички или скин-отображения для вывода топа.
Файлы конфигурации:
Код:
plugins/hTops/config.yml
plugins/hTops/sign.yml
plugins/hTops/npc.yml
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Примечания
- Исходный плейсхолдер должен возвращать числовое значение.
- Форматированные значения могут быть отклонены или потребовать подтверждение.
- Плагин может сохранять офлайн-игроков в топах.
- Таблички и скин-отображения хранятся отдельно от самих топов.
- Команда clear требует подтверждения в течение 15 секунд.
- Редактирование armor stand контролируется отдельным правом.
- Зависимости
- PlaceholderAPI (Обязательно)
- Команды и права
- Всё выше написано