velmren.

Minecraft · Paper · Java

Encounter State

Цели и переходы PvE-сценария.

  1. •Реле и стражиДве цели открывают переход к следующей фазе.
  2. •Удержание зоныПрогресс цели достигает заданного порога.
  3. ✓ЗавершениеВсе цели выполнены — сценарий завершён.
ENCOUNTER FLOW
Сначала выполняются цели фазы — затем открывается следующая.

Процесс

Порядок сценария

  1. Реле ×2Стражи ×3
    1

    Реле и стражи

    Два активированных реле и три побеждённых стража открывают следующую фазу.

  2. Прогресс удержанияПорог: 5
    2

    Удержание зоны

    Прогресс засчитывается до заданного порога. Событие завершения отправляется один раз.

  3. COMPLETEDВсе цели выполнены
    3

    Завершение

    Сценарий получает итоговый статус. Сброс возвращает его к исходному состоянию.

Архитектура

Правила игры отдельно от сервера

Ядро хранит состояние и проверяет цели. Конфигурация описывает сценарий, а Paper-адаптер связывает его с командами сервера.

JavaEncounterEngine.java ↗
private boolean currentPhaseComplete() {    return currentPhase().objectives().stream()        .allMatch(objective -> progress.get(objective.id())            >= objective.requiredProgress());}

Все цели выполнены — фаза завершается

Движок сравнивает прогресс каждой цели с требуемым значением. Переход разрешается только после выполнения всех целей текущей фазы.

Исходный код

Код можно изучить в браузере или скачать архивом.