SpongeApi  #1- Стадии жизни сервера

Перевод SpongeApi #1- Стадии жизни сервера

Версия(и) Minecraft
1.12.2, 7.1
Источник
https://docs.spongepowered.org/stable/en-GB/plugin/lifecycle.html
Это мой первый перевод, и вообще собственная активность на форуме, прошу не судите строго. Объективная критика приветствуется.

Жизненный цикл сервера
Перед шагами которые делают плагин видимым, загрузчик плагинов сортирует доступные плагины по порядку, определяя их зависимости. Жизненные циклы этих плагинов выполняются в том-же порядке. Например, - плагин A имеет зависимости B, то произведет каждое свое действие только после того, как плагин B закончит свои действия. Зависимости жизненного цикла являются глобальными. Это означает, что видимые друг-другу плагины должны пройти все шаги за раз.

Жизнь сервера делятся на несколько этапов:
1. Инициализация: когда Sponge и плагины загружаются, до фактического запуска игры. Состояния инициализации встречается только один раз.
2. Запуск: когда игра и мир загружаются.
3. Жизнь сервера Запущенные события могут возникать несколько раз.
4. Остановка: когда сервер завершает работу. Вызывается лишь при выполнении команды /stop

Запуск
CONSTRUCTION: Вызывается GameConstructionEvent
Происходит сортировка порядка загрузки плагинов по зависимостям, создаются экземпляры всех классов с аннотацией @Plugin

PRE_INITIALIZATION: Вызывается GamePreInitializationEvent
Плагины готовятся к инициализации, создается логгер по умолчанию и появляется доступ к предпочтительному расположению файла конфигурации.

INITIALIZATION: Вызывается GameInitializationEvent .
В этом состоянии плагин должен завершить любую работу, необходимую для его работоспособности. Глобальные эвент хендлеры должны быть зарегистрированы на этом этапе.

POST_INITIALIZATION: Вызывается GamePostInitializationEvent
К этому моменту все межплагиновые связи должны работать.

LOAD_COMPLETE - Вызывается GameLoadCompleteEvent.
Конец всей загрузки.


"Живые события"
"Живые события" - события которые вызываются несколько раз за жизнь сервера:
SERVER_ABOUT_TO_START может следовать за SERVER_STOPPED, а SERVER_STOPPED может произойти в любой момент процесса в случае возникновения ошибки.

SERVER_ABOUT_TO_START: Вызывается GameAboutToStartServerEvent
Сервер запущен, но миры еще не загружены.

SERVER_STARTED: Вызывается GameStartedServerEvent
Сервер запущен и миры загружены.

SERVER_STARTING: Вызывается GameStartingServerEvent
Сервер запущен и миры загружены. Идет регистрация команд.

SERVER_STOPPING: Вызывается GameStoppingServerEvent
Вызывается непосредственно перед последним тиком, перед сохранением миров.

SERVER_STOPPED: Вызывается GameStoppedServerEvent
Все игроки отключаются, и изменения в мирах не сохраняются.

Остановка
Эти события не вызываются чаще раза в жизни сервера. Вызываются лишь при нормальной остановке сервера командой /stop!!!:
GAME_STOPPING: Вызывается GameStoppingEvent
Это событие возникает непосредственно перед GAME_STOPPED. Плагины, предоставляющие API, должны по-прежнему принимать основные запросы.

GAME_STOPPED: Вызывается GameStoppedEvent
Как только это событие завершится, Minecraft закроется. На этом этапе не следует пытаться больше взаимодействовать с игрой или другими плагинами.
Автор
ThePotato
Просмотры
1,133
Первый выпуск
Обновление
Оценка
4.00 звёзд 1 оценок

Другие ресурсы пользователя ThePotato

Последние рецензии

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

Некоторые фразы, кажется, звучат по-другому, когда разбираешься в платформе. Например, "Running states may occur multiple times" может означать, что сервер может завершить выполнение и начать заново без завершения и повторной инициализации всей игры. Этот вопрос стоит изучить подробнее и скорректировать перевод соответственно

Оформление стоит сделать более "живым": больше переносов на другие строки, больше цветов
ThePotato
ThePotato
Хорошо, спасибо! Больше цветов.... Поняла)))
Сверху