- Версия(и) Minecraft
- 1.12.2, 7.1
Это мой первый перевод, и вообще собственная активность на форуме, прошу не судите строго. Объективная критика приветствуется.
Жизненный цикл сервера
Перед шагами которые делают плагин видимым, загрузчик плагинов сортирует доступные плагины по порядку, определяя их зависимости. Жизненные циклы этих плагинов выполняются в том-же порядке. Например, - плагин A имеет зависимости B, то произведет каждое свое действие только после того, как плагин B закончит свои действия. Зависимости жизненного цикла являются глобальными. Это означает, что видимые друг-другу плагины должны пройти все шаги за раз.
Жизнь сервера делятся на несколько этапов:
1. Инициализация: когда Sponge и плагины загружаются, до фактического запуска игры. Состояния инициализации встречается только один раз.
2. Запуск: когда игра и мир загружаются.
3. Жизнь сервера Запущенные события могут возникать несколько раз.
4. Остановка: когда сервер завершает работу. Вызывается лишь при выполнении команды /stop
Запуск
CONSTRUCTION: Вызывается
Происходит сортировка порядка загрузки плагинов по зависимостям, создаются экземпляры всех классов с аннотацией @Plugin
PRE_INITIALIZATION: Вызывается
Плагины готовятся к инициализации, создается логгер по умолчанию и появляется доступ к предпочтительному расположению файла конфигурации.
INITIALIZATION: Вызывается
В этом состоянии плагин должен завершить любую работу, необходимую для его работоспособности. Глобальные эвент хендлеры должны быть зарегистрированы на этом этапе.
POST_INITIALIZATION: Вызывается
К этому моменту все межплагиновые связи должны работать.
LOAD_COMPLETE - Вызывается
Конец всей загрузки.
"Живые события"
"Живые события" - события которые вызываются несколько раз за жизнь сервера:
SERVER_ABOUT_TO_START может следовать за SERVER_STOPPED, а SERVER_STOPPED может произойти в любой момент процесса в случае возникновения ошибки.
SERVER_ABOUT_TO_START: Вызывается
Сервер запущен, но миры еще не загружены.
SERVER_STARTED: Вызывается
Сервер запущен и миры загружены.
SERVER_STARTING: Вызывается
Сервер запущен и миры загружены. Идет регистрация команд.
SERVER_STOPPING: Вызывается
Вызывается непосредственно перед последним тиком, перед сохранением миров.
SERVER_STOPPED: Вызывается
Все игроки отключаются, и изменения в мирах не сохраняются.
Остановка
Эти события не вызываются чаще раза в жизни сервера. Вызываются лишь при нормальной остановке сервера командой /stop!!!:
GAME_STOPPING: Вызывается
Это событие возникает непосредственно перед GAME_STOPPED. Плагины, предоставляющие API, должны по-прежнему принимать основные запросы.
GAME_STOPPED: Вызывается
Как только это событие завершится, Minecraft закроется. На этом этапе не следует пытаться больше взаимодействовать с игрой или другими плагинами.
Жизненный цикл сервера
Перед шагами которые делают плагин видимым, загрузчик плагинов сортирует доступные плагины по порядку, определяя их зависимости. Жизненные циклы этих плагинов выполняются в том-же порядке. Например, - плагин 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 закроется. На этом этапе не следует пытаться больше взаимодействовать с игрой или другими плагинами.