Vai al contenuto
Piattaforme

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
  1. Cosa fa di diverso Codexe
  2. Cosa mettere nella richiesta
  3. Build e verifica
  4. Problemi comuni

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

SintomoCausa probabile
UnsupportedOperationException relativa allo schedulerDel 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 FoliaManca folia-supported: true in plugin.yml.
Plugin Folia | Codexe Docs