Команды
Все команды AbstractMenus защищены правом am.admin. У оп-игроков оно есть автоматически; для персонала без опа выдай его через плагин прав.
Главная команда плагина. Подкоманды:
| Подкоманда | Что делает |
|---|---|
/am open <menu> | Открыть меню себе (без контекста активатора). |
/am open <menu> <player> | Открыть меню другому игроку. |
/am reload | Перезагрузить все файлы меню из plugins/AbstractMenus/menus/. Заново парсит HOCON, сбрасывает открытые меню. |
/am serve | Следить за папкой меню и перезагружать при изменениях. Включается/выключается повторным запуском команды. Инструмент для авторов меню, не оставляй включённым на проде. |
/am version | Вывести текущую версию плагина. |
/am addons
Заголовок раздела «/am addons»Управление аддонами - и обычными (jar в plugins/AbstractMenus/addons/), и аддонами как плагинами.
| Подкоманда | Что делает |
|---|---|
/am addons list | Список всех загруженных аддонов. У обычных аддонов метки нет, аддоны как плагины помечены [as-plugin], встроенный core - [built-in]. |
/am addons info <name> | Полные метаданные: статус, версия, авторы, описание, зависимости. Для обычного аддона тянет из addon.conf; для аддона как плагина - из Bukkit plugin.yml. |
/am addons load <name> | Загрузить аддон, который лежит в plugins/AbstractMenus/addons/, но ещё не загружен. Автодополнение показывает доступные незагруженные аддоны. |
/am addons reload <name> | Отключить аддон, пересобрать classloader и включить заново. Для аддонов как плагинов так нельзя - им нужен серверный /reload. |
/am addons rescan | Просканировать addons/ на новые jar и загрузить ещё не загруженные. |
Автодополнение настроено для info, reload и load. info дополняет всё (включая встроенный core); reload и load - только подходящие подмножества.
Управление глобальными переменными - те же данные, что доступны через плейсхолдеры %var_*% и через действия с переменными внутри меню. Аргументы каждой подкоманды:
| Подкоманда | Аргументы | Эффект |
|---|---|---|
get <name> | name | Вывести текущее значение. |
set <name> <value> | name, value | Заменить значение. Создаёт переменную, если её нет. |
rem <name> | name | Удалить переменную. |
inc <name> <amount> | name, amount | Прибавить к числовому значению. |
dec <name> <amount> | name, amount | Вычесть из числового значения. |
mul <name> <factor> | name, factor | Умножить числовое значение. |
div <name> <divisor> | name, divisor | Разделить числовое значение. |
set принимает два дополнительных аргумента в конце:
/var set <name> <value> <time>- сделать переменную временной; истекает через<time>(например1h30m,10s,2d)./var set <name> <value> <replace>-trueперезаписывает существующую переменную,falseоставляет старое значение, если оно есть./var set <name> <value> <time> <replace>- всё сразу.
Третий аргумент интерпретируется как <replace>, если он буквально true или false, иначе - как <time>.
Тот же формат, что и у /var, но для персональных переменных. Каждая подкоманда принимает первым аргумент <player>:
/varp get <player> <name>/varp set <player> <name> <value>/varp set <player> <name> <value> <time>/varp set <player> <name> <value> <replace>/varp set <player> <name> <value> <time> <replace>/varp rem <player> <name>/varp inc <player> <name> <amount>/varp dec <player> <name> <amount>/varp mul <player> <name> <factor>/varp div <player> <name> <divisor>set принимает те же дополнительные аргументы <time> и <replace>, что и /var set, с той же логикой - просто для конкретного игрока.
Персональные переменные сохраняются между переподключениями - они хранятся в том же SQLite-файле, что и глобальные.
Только одно право:
am.admin- все команды выше.
Раздельных прав по каждой команде нет. Если нужен модератор, который может запускать /am open, но не /am reload, ограничь команду через функцию переопределения команд в плагине прав, а не через AbstractMenus.