Folia plugin'leri
Folia'nın bölgesel çoklu iş parçacığı yapısı, plugin'lerin işleri zamanlama biçimini değiştirir. Codexe'in Folia uyumlu plugin'leri nasıl ürettiği ve isteğe neler yazılmalı.
Güncellendi
Bu sayfada
Folia, dünyanın farklı bölgelerini farklı iş parçacıklarında işleyen bir Paper çatalıdır. Tek bir "ana iş parçacığı" yoktur, bu yüzden sıradan Bukkit zamanlaması (Bukkit.getScheduler().runTask(...)) geçerli değildir.
#Codexe neyi farklı yapar
Folia türünü seçtiğinde üretilen plugin:
- işleri Bukkit zamanlayıcısı yerine bölge, varlık, genel bölge ve eşzamansız zamanlayıcılarla planlar,
plugin.ymliçindefolia-supported: truebildirir,- Folia API'sine karşı derlenir (Maven).
#İsteğe neler yazılmalı
Spigot ve Paper rehberindeki her şey, ayrıca zamanlamaya duyarlı ayrıntılar: "3 saniye sonra ışınla", "çevrimiçi her oyuncu için her dakika tekrarla". Folia kodu en çok bu noktalarda farklılaşır.
#Derleme ve doğrulama
Folia plugin'leri Hazır olmadan önce diğer plugin'ler gibi derlenir ve kontrol edilir. Derleme, kodun Folia API'sine karşı derlendiğini kanıtlar. Çalışma zamanındaki iş parçacığı güvenliği yine de mantığa bağlıdır, bu yüzden bir Folia sunucusunda test et.
#Sık karşılaşılan sorunlar
| Belirti | Olası neden |
|---|---|
Zamanlayıcıyla ilgili UnsupportedOperationException | Kod (çoğu zaman bir bağımlılıktan gelen) Bukkit zamanlayıcısını kullanıyor. Sohbetten bunu bölge veya varlık zamanlayıcısına taşımasını iste. |
| Plugin Folia'da yüklenmeyi reddediyor | plugin.yml içinde folia-supported: true eksik. |