Eklenti Yaşan Döngüsü
Eklentiyi görünür hale getiren herhangi bir eyaletten önce, eklenti yükleyicisi önce mevcut eklentileri sıralar, tüm bağımlılıkların olup olmadığını belirler ve bağımlılık sırasına göre eklentilerini sıralar. Yaşam döngüsü olayları eklentilere bu sırayla verilir. Örneğin, “[required-] after: B” yi içeren eklenti A, eklenti B verilen eyalet için işi tamamladıktan sonra her olayı alacaktır. Buna ek olarak, yaşam döngüsü sınıfları küreseldir. Bu, birbirine görünen tüm eklentilerin bir anda tüm sınıflar arasında geçiş yapması gerektiği anlamına gelir.
Uyarı
Sponge Server
nesnesi her zaman müsait olmaz.Kullanılabilirlik durumu Sponge.isServerAvailable()
veya Game.isServerAvailable()
yöntemlerinden biri kullanılark kontrol edilebilir.
Durum Olayları
Üç evre olayı kategorisi vardır:
Başlatma: Sponge ve eklentiler yüklenirken, asıl oyun başlamadan önce. Başlatma evresi sadece bir kez ortaya çıkar.
**Çalıştırma:**Oyun ve dünya yüklenirken. Çalıştırma evreleri birden fazla kez meydana gelebilir.
**Durduruluyor:**Oyun kapatılırken. Durdurma evreleri, başlatma evreleri gibi, sadece bir kere meydana gelir.
Başlatma Durumları
Başlatma evreleri sadece bir çalışma sırasında bir kere meydana gelir.
YAPILANDIRMA
GameConstructionEvent başlatılır. Bu evre esnasında her eklenti için``@Plugin`` sınıfı örnekleri harekete geçirilir.
BAŞLATMA ÖNCESİ
The GamePreInitializationEvent başlatılır. Bu evre esnasında eklenti başlatmaya hazır olur.Varsayılan kaydedici örneğine erişim ve tercih edilen konfigürasyon dosyalarının yerleri ile ilgili bilgiye erişim mevcuttur.
BAŞLATMA
The GameInitializationEvent başlatılır. Bu evrede eklenti işlevsel olması için ihtiyaç duyulan her türlü işi bitirmelidir.Genel olay denetimcileri bu aşamada kaydolmalıdır.
BAŞLATMA SONRASI
The GamePostInitializationEvent başlatılır.Bu aşamadan eklentiler arası iletişim meydana gelmeye hazır olmalıdır. API sağlayıcı eklentiler de temel istekleri kabul etmeye hazır olmalıdır.
YÜKLEME_TAMAMLANDI
The GameLoadCompleteEvent is triggered. By this state, all plugin initialization should be completed.
Çalışma Durumları
Çalıştırma Evreleri tek bir çalıştırma sırasında birden çok kez oluşabilir. SERVER_ABOUT_TO_START
SERVER_STOPPED
’ın ardından gelebilir. Eğer bir hata mevcutsa işlem sırasından herhangi bir noktada ``SERVER_STOPPED``meydana gelebilir.
SUNUCU_BAŞLATILMAK_ÜZERE
The GameAboutToStartServerEvent evresi harekete geçirilir. Sunucu örnekleri mevcut olur ama dünyalar henüz yüklenmemiştir.
SUNUCU_BAŞLATILIYOR
The GameStartingServerEvent başlatılır.Sunucu örneği mevcut olur ve dünyalar yüklenir. Komut kaydı bu evre esnasında işlenir.
SUNUCU_BAŞLATILDI
The GameStartedServerEvent olayı başlatılır. Sunucu örneği mevcut olur ve dünyalar yüklenir.
SUNUCU_DURUYOR
The GameStoppingServerEvent başlatılır. Bu evre dünyalar kaydedilmeden hemen önce ve son tıklamadan hemen sonra meydana gelir.
SUNUCU_DURDU
The GameStoppingServerEvent başlatılır. Bu evre esnasında oyuncuların hiç biri bağlı değildir ve dünyalardaki hiçbir değişim kayıtlı değildir.
Durdurma Durumları
Durdurma evreleri bir tekli çalıştırma sırasında asla birden fazla meydana gelmez. Oyun normal olarak durdurulduğu zaman meydana gelirler.(Sunucularda:/stop
komutu girildi. Müşterilere: “Close” butonu veya “Quit Game” butonu tıklandığında)
Uyarı
Durma evrelerinin kapatma esnasında çalışacağının garantisi yoktur. Eğer oyun Ctrl-C, Görev Yöneticisi, bilgisayar çökmesi veya buna benzer durumlar ile zorla durdurulduysa çalışmayabilirler.
GAME_STOPPING
GameStoppingServerEvent tetiklenir. Bu durum, GAME_STOPPED
durumundan hemen önce olur. Bir API sunan eklentiler yine de temel istekleri kabul edebilir olmalılar.
GAME_STOPPED
GameStoppedServerEvent tetiklenir. Bu eylemin işlenmesi tamamlandığında, Mincraft kapanacaktır. Bu noktada oyunla ya da diğer eklentilerle herhangi bir etkileşime girilmemelidir.