Lewati ke konten
Platform

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
  1. Apa yang dilakukan Codexe secara berbeda
  2. Apa yang perlu ditulis di permintaan
  3. Build dan verifikasi
  4. Masalah umum

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: true di plugin.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

GejalaKemungkinan penyebab
UnsupportedOperationException terkait schedulerAda kode (sering dari dependensi) yang memakai scheduler Bukkit. Minta chat untuk memindahkannya ke scheduler region atau entitas.
Plugin menolak dimuat di Foliafolia-supported: true tidak ada di plugin.yml.
Plugin Folia | Codexe Docs