Перейти к содержанию

Закрепление

Закрепить (pin) квест — значит вывести его в HUD на экране игрока: заголовок и все задачи его активного этапа, у каждой — прогресс-бар (для условий с числовым прогрессом, например score или all). Закрепление — это про видимость, а не про логику: оно решает, что игрок видит перед собой, но не влияет на то, как считаются условия.

Как выглядит сам HUD и книга квестов — в Интерфейс игрока. Эта страница — про механику: как квест попадает в HUD и кто этим управляет.


Что именно закрепляется

  • Несколько квестов могут быть закреплены одновременно — каждый отдельным блоком в HUD.
  • Внутри одного квеста в HUD показываются все задачи активного этапа — обязательная и необязательные. Закрепление конкретной задачи задаёт лишь порядок: она поднимается наверх блока, остальные идут под ней. По умолчанию наверху обязательная; оператор может поднять другую активную задачу: quest pin <player> <id> <taskId>.
  • При смене активного этапа набор задач в HUD сменяется на задачи нового этапа, а закрепление пересчитывается автоматически.

Кто закрепляет квест

Способ Когда срабатывает
Команда quest pin Явно, в любой момент. См. Справочник команд.
Флаг pin у quest give В момент ручной выдачи квеста.
Поле pin_mode квеста Только при автовыдаче квеста по зависимости (когда завершение одного квеста открывает следующий).
Игрок — из книги квестов Вручную, кликом по задаче. Регулируется gamerule (см. ниже).

При ручной выдаче (quest give без pin) квест не закрепляется. При автовыдаче по цепочке поведение определяется полем pin_mode.

Режимы pin_mode

Поле pin_mode управляет автозакреплением только при автовыдаче по цепочке зависимостей — то есть когда квест выдаётся сам, потому что завершилась его зависимость. На ручную выдачу командой quest give оно не влияет.

Значение Поведение при автовыдаче
auto (по умолчанию) Закрепить, если родительский (только что завершённый) квест был закреплён.
force Закрепить всегда.
off Не закреплять.

Цепочки квестов и автовыдача разобраны в Цепочка квестов.


Закрепление и проверка условий

Частое заблуждение: «условия проверяются только у закреплённых квестов». Это не так.

Условия задач проверяются каждый тик у задач активного этапа всех активных квестов игрока — и закреплённых, и нет. Закрепление влияет только на две вещи:

  1. Что отображается в HUD.
  2. Срабатывание хука on.pinned_tick — он работает, только пока квест закреплён (в отличие от on.tick, который работает у всех активных квестов). См. Хуки жизненного цикла задачи.

Иными словами, незакреплённый квест продолжает «жить» и может завершиться сам — игрок просто не видит его в HUD, пока не откроет книгу.


Gamerule allowManualQuestPin

/gamerule allowManualQuestPin true|false

По умолчанию: true. Стандартный gamerule Minecraft — значение сохраняется вместе с миром.

Управляет тем, может ли игрок сам закреплять и откреплять задачи из книги квестов (кликом или Enter):

allowManualQuestPin Закрепление из книги игроком Команды quest pin/unpin Авто-пин при выдаче и смене этапа
true (по умолчанию) Разрешено Работают Работает
false Молча игнорируется Работают Работает

При false попытка игрока закрепить задачу из книги ничего не делает и не показывает сообщения — но оператор и автоматика по-прежнему управляют закреплением полноценно.

Tip

Полезно для карт, где режиссура HUD полностью на стороне автора: игрок не может «перевесить» закреплённый квест, а оператор задаёт фокус командами и хуками.


См. также