Команды
Все команды выполняются на стороне сервера. По умолчанию требуется уровень оператора ≥ 2, но для каждой команды есть собственный permission-узел — плагины вроде LuckPerms могут выдавать права без выдачи OP.
Открыть полноэкранный GUI
/webgui gui <targets> <url>Открывает полноэкранное окно браузера для указанных игроков. Игрок закрывает его нажатием Esc.
Примеры:
/webgui gui @p https://ваш-spa.example.com
/webgui gui @a https://ваш-spa.example.comОткрыть HUD-оверлей
/webgui hud <targets> <url>Открывает прозрачный браузерный оверлей поверх игрового вида. Игрок переключает интерактивный режим клавишей HUD (по умолчанию `).
Пример:
/webgui hud @p https://ваш-spa.example.comПривязать GUI к сущности
/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, стандартное взаимодействие отменяется (например, экран торговли с жителем не откроется). |
Примеры:
# Привязать ближайшего жителя — экран торговли всё равно открывается вместе с 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 взаимодействующего игрока |
Удалить привязку сущности
/webgui unbind entity <selector>Удаляет WebGUI-привязку с указанных сущностей. Нажатие ПКМ по ним вернётся к стандартному поведению.
/webgui unbind entity @e[type=villager,limit=1,sort=nearest]Перезагрузка конфига
/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.command | OP 2 | Доступ к корневой команде /webgui |
webgui.command.gui | OP 2 | Выполнение /webgui gui |
webgui.command.hud | OP 2 | Выполнение /webgui hud |
Мод использует fabric-permissions-api — к нему автоматически подключаются LuckPerms, LibertyBans и большинство других Fabric-плагинов для управления правами.
Пример LuckPerms
# Выдать группе право открывать 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