Закрепление¶
Закрепить (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 |
Не закреплять. |
Цепочки квестов и автовыдача разобраны в Цепочка квестов.
Закрепление и проверка условий¶
Частое заблуждение: «условия проверяются только у закреплённых квестов». Это не так.
Условия задач проверяются каждый тик у задач активного этапа всех активных квестов игрока — и закреплённых, и нет. Закрепление влияет только на две вещи:
- Что отображается в HUD.
- Срабатывание хука
on.pinned_tick— он работает, только пока квест закреплён (в отличие отon.tick, который работает у всех активных квестов). См. Хуки жизненного цикла задачи.
Иными словами, незакреплённый квест продолжает «жить» и может завершиться сам — игрок просто не видит его в HUD, пока не откроет книгу.
Gamerule allowManualQuestPin¶
По умолчанию: true. Стандартный gamerule Minecraft — значение сохраняется вместе с миром.
Управляет тем, может ли игрок сам закреплять и откреплять задачи из книги квестов (кликом или Enter):
allowManualQuestPin |
Закрепление из книги игроком | Команды quest pin/unpin |
Авто-пин при выдаче и смене этапа |
|---|---|---|---|
true (по умолчанию) |
Разрешено | Работают | Работает |
false |
Молча игнорируется | Работают | Работает |
При false попытка игрока закрепить задачу из книги ничего не делает и не показывает сообщения — но оператор и автоматика по-прежнему управляют закреплением полноценно.
Tip
Полезно для карт, где режиссура HUD полностью на стороне автора: игрок не может «перевесить» закреплённый квест, а оператор задаёт фокус командами и хуками.
См. также¶
- Интерфейс игрока — как выглядят HUD и книга квестов.
- Цепочка квестов — автовыдача и
pin_modeна практике. - Справочник команд — команды
quest pin,quest unpin, флагpinуquest give.