Проверено на версиях: Java Edition 1.13–26.3. В Bedrock Edition команды /bossbar нет.
Что выдаёт генератор
Для пресета Ritual charge получается так:
/bossbar add cube:ritual_charge {"text":"Ritual charge","color":"white"}
/bossbar set cube:ritual_charge color purple
/bossbar set cube:ritual_charge style notched_10
/bossbar set cube:ritual_charge max 100
/bossbar set cube:ritual_charge value 65
/bossbar set cube:ritual_charge players @a
/bossbar set cube:ritual_charge visible true
| Строка | Что делает | На что обратить внимание |
|---|---|---|
add <id> <name> | Создаёт шкалу и сохраняет её в мире. | Не сработает, если шкала с таким ID уже есть. ID пишется строчными: буквы, цифры, _ - . / и пространство имён вроде cube:. |
color | blue, green, pink, purple, red, white или yellow. | Цвет шкалы окрашивает и заголовок, но только если у названия нет своего цвета. Генератор пишет в название "color":"white", поэтому заголовок остаётся белым. |
style | progress (сплошная полоса) или notched_6, notched_10, notched_12, notched_20. | Деления только рисуются поверх: заполнение по-прежнему равно value ÷ max. |
max | Значение полной шкалы, от 1 до 2147483647. | Единица та же, что у value: секунды, тики, фазы или здоровье. |
value | Текущее заполнение, от 0. | Генератор не даёт превысить max; большее значение просто показывает полную шкалу. |
players | Задаёт, кто видит шкалу. | Селектор вычисляется один раз, в момент выполнения. Игрок, зашедший позже, ничего не увидит, пока строку не запустят снова. |
visible | true или false. | Прячет шкалу у всех, не теряя список игроков и значения. |
Как выбрать max, value и стиль
Боссбар показывает только долю, поэтому сначала решите, что значит одна единица. Для таймера max — длительность события в том, что считает ваш цикл обновления: секундах, если он срабатывает раз в секунду, или тиках, если каждый тик. Для ритуала, который наполняется подношениями, max — число подношений. Для рейда по этапам — число этапов.
Стили с делениями полезны, когда игрокам нужно считать. Выбирайте стиль, у которого число делений делится на ваш max без остатка: при четырёх фазах notched_12 даёт каждой фазе по три деления, а при notched_6 границы фаз попадают между засечками. Для обратного отсчёта и всего непрерывного лучше всего читается progress.
Четыре пресета — заготовки: Ritual charge (65 из 100), Raid phase II (фаза 2 из 4), Evacuation: 3 minutes (осталось 180 из 300 секунд) и Phase break incoming (8 из 12). Перед использованием смените ID, чтобы два события никогда не делили одну шкалу.
Чат, командные блоки или файл функции
- Чат. Вставляйте строки по одной: чат принимает одну команду за раз. Удобно, чтобы примерить вид шкалы до события.
- Командные блоки. По одной строке на блок. Настройку запускайте один раз: импульсные блоки за кнопкой или цепочка, которую стартует один импульсный блок. Не ставьте
addв повторяющийся блок: со второго срабатывания команда падает, потому что шкала уже есть, а каждыйsetс тем же значением тоже возвращает неудачу и ломает условные цепочки. - Файлы функций. В
.mcfunctionкаждая команда пишется на своей строке без начального слэша. Уберите/из каждой строки генератора, иначе функция не загрузится.
Как менять шкалу по ходу события
Когда шкала уже создана, запускайте только ту строку, которая меняется:
/bossbar set cube:ritual_charge value 80
/bossbar set cube:ritual_charge name {"text":"The circle is complete","color":"gold"}
/bossbar set cube:ritual_charge color yellow
Чтобы шкала следовала за реальным числом, копируйте его из scoreboard каждый тик или каждую секунду:
execute store result bossbar cube:ritual_charge value run scoreboard players get #offerings ritual
Готовый обратный отсчёт на этом приёме разобран в статье про боссбары для событий. Для игроков, которые подключились посреди сцены, снова выполните /bossbar set cube:ritual_charge players @a, например в том же цикле. Если новых игроков нет, команда сообщит о неудаче — это безвредно.
Как убрать шкалу
Свои боссбары хранятся в мире (в level.dat), поэтому забытая шкала останется и после перезапуска сервера. Когда сцена закончилась:
/bossbar remove cube:ritual_charge
/bossbar list
list показывает все оставшиеся шкалы — запускайте после события, чтобы ничего не забыть. Если та же шкала понадобится завтра, visible false спрячет её и сохранит настройки.
Текст заголовка в разных версиях
Генератор пишет название как {"text":"…","color":"white"}. До 1.21.4 игра читает это как JSON. С 1.21.5 текстовые компоненты в командах записываются в SNBT, и такая запись остаётся верной, потому что SNBT допускает ключи в кавычках, — одна и та же строка работает по обе стороны изменения. Короткая форма {text:"…"} без кавычек работает только с 1.21.5. Если форматирование не нужно, подойдёт и обычная строка в кавычках, например "Ritual charge", — в любой версии.
Частые вопросы
Боссбар сам отсчитывает время?
Нет. Он показывает последнее значение, которое ему дали. Обновлять его должен повторяющийся командный блок или функция по расписанию — см. рецепт обратного отсчёта.
Можно показать разным игрокам разные шкалы?
Да. Создайте по шкале на группу и дайте каждой свой селектор, например @a[team=red] и @a[team=blue].
Почему шкалу не видно?
Обычно строка players не выполнялась, выполнилась до того, как игроки зашли, или visible стоит в false. /bossbar get cube:ritual_charge players покажет, сколько игроков видят шкалу сейчас.
Это работает в Bedrock?
Нет. /bossbar есть только в Java Edition.