Plugin Folia
Il multithreading per regioni di Folia cambia il modo in cui i plugin pianificano il lavoro. Come Codexe genera plugin sicuri per Folia e cosa includere nella richiesta.
Aggiornato
In questa pagina
Folia è il fork di Paper che esegue i tick di regioni diverse del mondo su thread diversi. Non esiste un unico "thread principale", quindi la normale pianificazione di Bukkit (Bukkit.getScheduler().runTask(...)) non è valida.
#Cosa fa di diverso Codexe
Quando scegli il tipo Folia, il plugin generato:
- pianifica il lavoro con gli scheduler di regione, di entità, della regione globale e asincrono invece che con lo scheduler di Bukkit,
- dichiara
folia-supported: trueinplugin.yml, - viene compilato con l'API di Folia (Maven).
#Cosa mettere nella richiesta
Tutto quello che trovi nella guida a Spigot e Paper, più i dettagli legati ai tempi: "teletrasporta dopo 3 secondi", "ripeti ogni minuto per ogni giocatore online". È proprio qui che il codice per Folia cambia di più.
#Build e verifica
I plugin Folia vengono compilati e controllati come qualsiasi altro plugin prima di essere Pronti. La compilazione dimostra che il codice si compila con l'API di Folia. La sicurezza dei thread durante l'esecuzione dipende comunque dalla logica, quindi prova su un server Folia.
#Problemi comuni
| Sintomo | Causa probabile |
|---|---|
UnsupportedOperationException relativa allo scheduler | Del codice (spesso di una dipendenza) usa lo scheduler di Bukkit. Chiedi alla chat di spostarlo sullo scheduler di regione o di entità. |
| Il plugin si rifiuta di caricarsi su Folia | Manca folia-supported: true in plugin.yml. |