Skip to content

Команды

Все команды выполняются на стороне сервера. По умолчанию требуется уровень оператора ≥ 2, но для каждой команды есть собственный permission-узел — плагины вроде LuckPerms могут выдавать права без выдачи OP.

Открыть полноэкранный GUI

bash
/webgui gui <targets> <url>

Открывает полноэкранное окно браузера для указанных игроков. Игрок закрывает его нажатием Esc.

Примеры:

bash
/webgui gui @p https://ваш-spa.example.com
/webgui gui @a https://ваш-spa.example.com

Открыть HUD-оверлей

bash
/webgui hud <targets> <url>

Открывает прозрачный браузерный оверлей поверх игрового вида. Игрок переключает интерактивный режим клавишей HUD (по умолчанию `).

Пример:

bash
/webgui hud @p https://ваш-spa.example.com

Привязать GUI к сущности

bash
/webgui bind entity <selector> <url>
/webgui bind entity <selector> <url> <cancel_interaction>

Привязывает WebGUI URL к одной или нескольким сущностям. Когда игрок нажимает ПКМ по привязанной сущности, GUI открывается автоматически.

АргументТипОписание
<selector>EntityArgumentType.entities()Любой селектор сущностей: UUID, @e[type=...] и др.
<url>СтрокаURL для открытия. Поддерживает плейсхолдеры.
<cancel_interaction>Boolean (по умолчанию false)Если true, стандартное взаимодействие отменяется (например, экран торговли с жителем не откроется).

Примеры:

bash
# Привязать ближайшего жителя — экран торговли всё равно открывается вместе с GUI
/webgui bind entity @e[type=villager,limit=1,sort=nearest] https://example.com/shop

# Привязать с отменой взаимодействия — открывается только WebGUI
/webgui bind entity @e[type=villager,limit=1,sort=nearest] https://example.com/shop true

# URL с плейсхолдером сущности
/webgui bind entity @e[type=villager,limit=1,sort=nearest] "https://example.com/shop?npc={entity_id}"

Привязки сохраняются в config/webgui/entity_bindings.json и переживают перезапуск сервера.

URL-плейсхолдеры

ПлейсхолдерЗначение
{entity_id}UUID сущности
{entity_uuid}UUID сущности (псевдоним)
{entity_type}Тип с неймспейсом, напр. minecraft:villager
{player_name}Отображаемое имя взаимодействующего игрока
{player_uuid}UUID взаимодействующего игрока

Удалить привязку сущности

bash
/webgui unbind entity <selector>

Удаляет WebGUI-привязку с указанных сущностей. Нажатие ПКМ по ним вернётся к стандартному поведению.

bash
/webgui unbind entity @e[type=villager,limit=1,sort=nearest]

Перезагрузка конфига

bash
/webgui reload

Перечитывает config/webgui/server.json и config/webgui/entity_bindings.json с диска без перезапуска сервера. Все настройки применяются немедленно.

Если файл не существует или содержит ошибку, команда выводит причину и оставляет текущие настройки без изменений.

Типы аргументов

АргументТип
<targets>EntityArgumentType.players() — поддерживает селекторы @p, @a и др.
<url>Greedy string — полный URL, может содержать пробелы
<selector> (bind/unbind)EntityArgumentType.entities() — любой селектор сущностей
<url> (bind)Строка — поддерживает {entity_id}, {player_name} и другие плейсхолдеры

Права доступа

Permission-узелПо умолчаниюОписание
webgui.commandOP 2Доступ к корневой команде /webgui
webgui.command.guiOP 2Выполнение /webgui gui
webgui.command.hudOP 2Выполнение /webgui hud

Мод использует fabric-permissions-api — к нему автоматически подключаются LuckPerms, LibertyBans и большинство других Fabric-плагинов для управления правами.

Пример LuckPerms

bash
# Выдать группе право открывать GUI для игроков
/lp group moderator permission set webgui.command.gui true
/lp group moderator permission set webgui.command.hud true

# Или выдать доступ ко всему /webgui сразу
/lp group admin permission set webgui.command true