Справочник config.conf
plugins/AbstractMenus/config.conf - глобальный конфиг плагина. Формат HOCON (надмножество JSON, синтаксис разобран в Формате HOCON). Все ключи опциональны; при первом запуске AbstractMenus создаст файл со значениями по умолчанию (см. ниже).
После правок выполни /am reload. Перезапуск не нужен.
Полный конфиг по умолчанию
Заголовок раздела «Полный конфиг по умолчанию»# Сохранять значения /var и /varp между перезапусками.# SQLite, файл plugins/AbstractMenus/variables.db.variables: true
# Синхронизировать переменные между серверами BungeeCord. Актуально# только в сети, где несколько бэкендов делят состояние переменных.syncVariables: false
# Регистрировать плагин-канал BungeeCord. Нужно, чтобы действие# bungeeConnect могло реально отправлять игроков на другие серверы.bungeecord: false
# Периодически пинговать настроенные серверы BungeeCord, чтобы# правила bungeeOnline/bungeeIsOnline видели свежие данные.bungeePing: false
# Включить активаторы по регионам (regionJoin/regionLeave) и# правило WorldGuard. Требует плагин WorldGuard.useWorldGuard: false
# Парсить теги MiniMessage (<red>, <click:...>, <hover:...>,# <gradient:...> и т.д.) в сообщениях и тексте предметов. Выключено# по умолчанию, чтобы пропустить лишний проход парсера на каждом рендере.useMiniMessage: false
# Путь к папке меню. "default" означает# plugins/AbstractMenus/menus/. Замени на абсолютный путь, если# несколько серверов должны раздавать одинаковые меню с общего# NFS/SMB монта.menusFolder: "default"
# Логировать каждое открытие меню в лог сервера. Полезно при отладке# активаторов; в продакшене выключай.logOpenMenus: false
# Путь к файлу variables.db. "default" кладёт его внутрь папки# плагина. Замени, чтобы перенести (например, на SSD).dbFolder: "default"
# Суффиксы форматирования времени для плейсхолдеров времени.time { day: "d" hour: "h" minute: "min" second: "sec"}
# Провайдер по умолчанию для каждой секции. Возможные значения:# - "auto" - выигрывает зарегистрированный провайдер с наивысшим приоритетом# - явный id - например "vault", "playerpoints", "luckperms"## Переопределения на уровне действия в меню (provider: "...")# всегда побеждают это значение.providers { economy = "auto" permissions = "auto" levels = "auto" placeholders = "auto" skins = "auto"}
# Минимальные пороги дебаунса кликов, в миллисекундах. Активны# только на предметах с clickCooldown > 0; кулдаун предмета# побеждает, если он больше порога. Поставь clickCooldown: 0 на# предмете, чтобы полностью обойти.## Зачем это: ванильный клиент Minecraft присылает лишние пакеты# на каждый физический клик при быстром нажатии. Отличить их от# настоящих кликов на стороне сервера нельзя. Порог ограничивает# частоту срабатывания, чтобы один физический клик оставался# одним действием.clickDebounce { default = 80 # клики LEFT/RIGHT/MIDDLE shift = 250 # клики SHIFT_LEFT/SHIFT_RIGHT}Справка по ключам
Заголовок раздела «Справка по ключам»Сохранение и BungeeCord
Заголовок раздела «Сохранение и BungeeCord»| Ключ | По умолчанию | Что делает |
|---|---|---|
variables | true | Сохранять значения /var и /varp в variables.db. Поставь false, чтобы все переменные жили только в памяти. |
syncVariables | false | В сети BungeeCord рассылать записи переменных на все бэкенды через bungee-канал. |
bungeecord | false | Регистрировать плагин-канал BungeeCord. Нужно для действия bungeeConnect. |
bungeePing | false | Периодически пинговать настроенные бэкенды, чтобы правила bungeeOnline видели свежее состояние. |
Внешние интеграции
Заголовок раздела «Внешние интеграции»| Ключ | По умолчанию | Что делает |
|---|---|---|
useWorldGuard | false | Включить активаторы/правила регионов. Требует WorldGuard на сервере. |
useMiniMessage | false | Парсить теги MiniMessage в сообщениях и тексте предметов. Выключено по умолчанию, чтобы пропустить парсинг на серверах, где это не используется. |
Пути файлов
Заголовок раздела «Пути файлов»| Ключ | По умолчанию | Что делает |
|---|---|---|
menusFolder | "default" | Откуда AbstractMenus читает .conf меню. "default" разрешается в plugins/AbstractMenus/menus/. Замени на абсолютный путь для общей папки меню между серверами. |
dbFolder | "default" | Где лежит variables.db. "default" разрешается в plugins/AbstractMenus/. |
logOpenMenus | false | Логировать каждое открытие меню в консоль сервера. Полезно при отладке. |
Форматирование времени
Заголовок раздела «Форматирование времени»Блок time {} настраивает суффиксы плейсхолдеров времени (например, отображение кулдаунов):
| Ключ | По умолчанию |
|---|---|
time.day | "d" |
time.hour | "h" |
time.minute | "min" |
time.second | "sec" |
Провайдеры
Заголовок раздела «Провайдеры»Блок providers {} говорит AbstractMenus, через какой плагин ходить за каждой категорией данных (деньги, права, уровни, плейсхолдеры, скины). Из коробки зарегистрированы Vault (экономика и права), LuckPerms (права и группы), Bukkit XP (уровни), PlaceholderAPI (плейсхолдеры), SkinsRestorer (скины). Аддоны могут добавлять свои провайдеры (например, PlayerPointsAddon добавит экономику на PlayerPoints).
| Ключ | По умолчанию | Возможные значения |
|---|---|---|
providers.economy | "auto" | "auto", "vault", "playerpoints" (с PlayerPointsAddon), или любой другой зарегистрированный id экономики. |
providers.permissions | "auto" | "auto", "vault", "luckperms" и т.д. |
providers.levels | "auto" | "auto", "bukkit" и т.д. |
providers.placeholders | "auto" | "auto", "papi", "internal". |
providers.skins | "auto" | "auto", "skinsrestorer" и т.д. |
Что значит "auto": в одной секции может быть зарегистрировано несколько провайдеров (например, в economy живут Vault и PlayerPointsAddon одновременно). Каждый при регистрации указывает свой приоритет: у встроенных - 50, у аддонов обычно 100. При "auto" AbstractMenus возьмёт провайдера с самым высоким приоритетом - то есть аддон выиграет у встроенного Vault, если оператор не указал явный id.
Чтобы зафиксировать конкретный плагин, вместо "auto" пиши его id (например, "vault") - тогда AbstractMenus будет ходить только в него, даже если появится более приоритетный аддон.
Можно переопределить и на отдельное действие в меню (provider: "..." прямо внутри действия или правила) - это бьёт значение из конфига. Подробнее про это в Выбор провайдера.
Дебаунс кликов
Заголовок раздела «Дебаунс кликов»Блок clickDebounce {} задаёт серверные минимальные кулдауны кликов в миллисекундах. Работают только на предметах, где автор меню выставил clickCooldown больше нуля.
| Ключ | По умолчанию | Назначение |
|---|---|---|
clickDebounce.default | 80 | Порог для кликов LEFT/RIGHT/MIDDLE. Ловит синтетические DOUBLE_CLICK пакеты, которые клиент Minecraft шлёт на каждый физический клик. |
clickDebounce.shift | 250 | Порог для кликов SHIFT_LEFT/SHIFT_RIGHT. Ловит ~3 лишних QUICK_MOVE пакета, которые клиент шлёт на каждый shift-клик. Подними, если всё ещё видишь дубли; снизь, если ощущается лагово. |
Что происходит при перезагрузке
Заголовок раздела «Что происходит при перезагрузке»/am reload перепарсит config.conf и каждый файл меню. Большинство ключей применяются сразу. Исключения:
variables- переключение сохранения вкл/выкл требует перезапуска сервера (SQLite-файл открывается на старте плагина).bungeecord,bungeePing- канал регистрируется только при включении плагина; после переключения перезапусти сервер.dbFolder- файл базы открывается на старте плагина; чтобы перенести - перезапусти.useWorldGuard- слушатель регионов подключается на старте; после переключения перезапусти.
Всё остальное (menusFolder, useMiniMessage, time.*, providers.*, clickDebounce.*, logOpenMenus) перезагружается без перезапуска.