Plugin Folia
Multithreading berbasis region di Folia mengubah cara plugin menjadwalkan pekerjaan. Cara Codexe membuat plugin yang aman untuk Folia dan apa yang perlu ditulis di permintaan.
Diperbarui
Di halaman ini
Folia adalah fork Paper yang menjalankan tick region-region dunia yang berbeda di thread yang berbeda. Tidak ada satu "main thread", jadi penjadwalan Bukkit biasa (Bukkit.getScheduler().runTask(...)) tidak valid.
#Apa yang dilakukan Codexe secara berbeda
Saat kamu memilih tipe Folia, plugin yang dibuat:
- menjadwalkan pekerjaan dengan scheduler region, entitas, region global, dan async alih-alih scheduler Bukkit,
- mendeklarasikan
folia-supported: truediplugin.yml, - di-build terhadap API Folia (Maven).
#Apa yang perlu ditulis di permintaan
Semua hal dari panduan Spigot & Paper, ditambah detail yang peka waktu: "teleport setelah 3 detik", "ulangi setiap menit untuk setiap pemain online". Di bagian inilah kode Folia paling berbeda.
#Build dan verifikasi
Plugin Folia dikompilasi dan diperiksa seperti plugin lainnya sebelum berstatus Siap. Kompilasi membuktikan bahwa kode bisa di-build terhadap API Folia. Keamanan thread saat runtime tetap bergantung pada logikanya, jadi ujilah di server Folia.
#Masalah umum
| Gejala | Kemungkinan penyebab |
|---|---|
UnsupportedOperationException terkait scheduler | Ada kode (sering dari dependensi) yang memakai scheduler Bukkit. Minta chat untuk memindahkannya ke scheduler region atau entitas. |
| Plugin menolak dimuat di Folia | folia-supported: true tidak ada di plugin.yml. |