Повторяемые квесты¶
Обычный квест проходится один раз: после завершения его нельзя выдать тому же игроку снова. Повторяемый квест снимает это ограничение — завершённый квест можно выдать заново сколько угодно раз. Это основа ежедневных заданий, фарм-квестов и повторяющихся ивентов.
Квест становится повторяемым через флаг repeatable:
По умолчанию repeatable: false — квест одноразовый.
Как работает повторная выдача¶
Когда повторяемый квест выдают игроку, который его уже завершил — командой quest give или через свиток квеста — система сама сбрасывает прогресс прошлого прохождения перед новой выдачей. Квест начинается заново с чистого листа: задачи снова не выполнены, активный этап снова первый.
Ключевая граница: повторно выдать можно только завершённый квест.
| Состояние квеста у игрока | repeatable: false |
repeatable: true |
|---|---|---|
| Не выдан | Выдаётся | Выдаётся |
| Активен (не завершён) | Повторная выдача запрещена | Повторная выдача запрещена |
| Завершён (успех/провал/пропуск) | Повторная выдача запрещена | Выдаётся заново, прогресс сбрасывается |
Активный квест нельзя перевыдать ни при каком значении repeatable — сначала его нужно завершить или снять командой quest drop.
Повторная выдача начинает новую «жизнь» задач квеста: хук
on.loadсрабатывает заново, как при первой выдаче. Если на нём висят побочные действия — выдача предметов, реплики, теги — они повторятся. Подробнее — в Хуки жизненного цикла задачи.
Включение через команду¶
У динамического квеста флаг можно переключать на лету:
Команда работает только с динамическими квестами (созданными через quest new); у квеста из датапака флаг задаётся в JSON. См. Справочник команд.
Сброс по расписанию¶
Сам по себе repeatable не «обновляет» квест по таймеру — он лишь разрешает повторную выдачу. Чтобы получилась настоящая ежедневка, повторную выдачу запускает функция датапака по своему расписанию — например, по игровому времени суток. Полный рецепт с готовым JSON и mcfunction — в паттерне Повторяемый квест.
См. также¶
- Повторяемый квест — паттерн: ежедневка целиком, с расписанием и наградой.
- Формат файла квеста — поле
repeatableв общем списке полей. - Статусы квестов и задач — что значит «завершён» и почему перевыдаётся только завершённый квест.