Босс-бары и заголовки: постоянное состояние, тайминги и разделение значения/максимума
Босс-бар переживает перезапуски, а заголовок — нет. Вот шаблон «создать, затем изменить», тайминги затухания, которые люди устанавливают наоборот, и как управлять индикатором прогресса.
Оба выводят текст на экран, но на этом сходство заканчивается. Заголовки — это «выстрелил и забыл»; босс-бары — это постоянные объекты, которыми нужно управлять.
Босс-бары имеют состояние
/bossbar add my:timer {"text":"Time left"}
/bossbar set my:timer players @a
/bossbar set my:timer max 600
/bossbar set my:timer value 600
/bossbar set my:timer color red
/bossbar set my:timer style notched_10
Идентификатор, затем команды, которые его изменяют. Моменты, на которых люди спотыкаются:
- Полоса невидима, пока у нее нет игроков. Создание полосы и отсутствие запуска
set ... playersне приводит ни к чему, без ошибок. - Она сохраняется в сохранении мира. Полоса, созданная для мини-игры, все еще будет там в следующей сессии.
/bossbar removeпо завершении, иначе они накапливаются. valueиmaxразделены, и полоса показываетvalue / max. Установка толькоvalueна полосе, чей максимум все еще равен 100, дает бессмысленное заполнение.
Цвета: pink white red orange yellow green blue purple. Стили: progress notched_6 notched_10 notched_12 notched_20.
Управление обратным отсчетом
/bossbar set my:timer value 599
один раз в секунду из повторяющейся функции — это весь механизм. Встроенного таймера нет. Чтение его обратно тоже полезно:
/execute store result score @s Left run bossbar get my:timer value
bossbar get поддерживает value, max, players и visible, что делает босс-бар работоспособной глобальной переменной, когда вы хотите, чтобы Игрок ее видел.
Заголовки временны
/title @a times 10 70 20
/title @a subtitle {"text":"Get ready"}
/title @a title {"text":"Round 2"}
Три вещи в этом порядке, и порядок имеет значение:
- Сначала
times. Установка его после заголовка не влияет на уже показанный заголовок. subtitleпередtitle. Один подзаголовок ничего не отображает; отправка заголовка — это то, что вызывает появление пары. В обратном порядке первый отображается без подзаголовка.
times — это fadeIn stay fadeOut в тиках — 20 тиков в секунду. 10 70 20 — это полсекунды появления, три с половиной секунды удержания, одна секунда исчезновения. Люди устанавливают 1 1 1 и удивляются, почему ничего не появляется: три тика в сумме — это вспышка.
Панель действий отдельна
/title @a actionbar {"text":"Saved"}
Строка над хотбаром. Она полностью игнорирует times — она отображается в течение фиксированной пары секунд и исчезает. Повторная отправка ее каждый тик удерживает ее постоянно, что является стандартным способом запуска пользовательского HUD.
Очистка
/title @a clear удаляет то, что отображается; /title @a reset также восстанавливает тайминги по умолчанию. Для босс-баров /bossbar set my:timer visible false скрывает, не уничтожая состояние.
Создайте босс-бар, заголовок и остальные команды управления и отладки из формы в Расширенном конструкторе команд — Управление и отладка.