Событие выхода из игры

Версия Minecraft
1.7.10
222
5
28
Есть ли событие, которое вызывается при закрытия или выходе из игры? Если нет, то как можно организовать подобное.
 

timaxa007

Модератор
5,831
409
672
К примеру можно использовать.
Java:
@Mod.EventHandler
public void serverStopping(FMLServerStoppingEvent event) {

}
Я обычно использую в совокупности с:
Java:
@Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event) {

}
Для загрузки и сохранении для мира (не измерения).
 

timaxa007

Модератор
5,831
409
672
Ну,
FMLServerStoppingEvent - это остановка сервера или выход из мира одиночной игры.
FMLServerStartingEvent - это запуск сервера или вход в мир одиночной игры.
А так Hook (от java) ShutDown, т.е.:
Java:
Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() { /*
       my shutdown code here
    */ }
});
Код взят из Best Way to Gracefully Shutdown a Java Command Line Program
Но он не сработает, так-же как FMLServerStoppingEvent, если программа (игра) была остановлена убиванием процессом.
 

timaxa007

Модератор
5,831
409
672
Нет, я не находил лучше. Лишь если придётся переделывать сам запуск (тоже не спасёт от убивании просесса), а я не умею переделывать этот запуск как надо.
Да, и у меня не достаточно знаний, может и есть где-то лучше способ, но я его не знаю.
Пожалуйста.
 
222
5
28
Ну,
FMLServerStoppingEvent - это остановка сервера или выход из мира одиночной игры.
FMLServerStartingEvent - это запуск сервера или вход в мир одиночной игры.
А так Hook (от java) ShutDown, т.е.:
Java:
Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() { /*
       my shutdown code here
    */ }
});
Код взят из Best Way to Gracefully Shutdown a Java Command Line Program
Но он не сработает, так-же как FMLServerStoppingEvent, если программа (игра) была остановлена убиванием процессом.
Маленький вопрос, а какой эвент можно послушать, чтобы услышать выход игрока из сервера(удалённого) на стороне клиента? PlayerLoggedOutEvent ?
 
Сверху