Plugins Folia
Le multithreading par régions de Folia change la planification des tâches des plugins. Comment Codexe génère des plugins compatibles Folia et quoi demander.
Mis à jour
Sur cette page
Folia est le fork de Paper qui fait tourner les différentes régions du monde sur des threads différents. Il n'y a pas de « thread principal » unique, donc la planification Bukkit ordinaire (Bukkit.getScheduler().runTask(...)) n'est pas valide.
#Ce que Codexe fait différemment
Quand vous choisissez le type Folia, le plugin généré :
- planifie son travail avec les planificateurs de région, d'entité, de région globale et asynchrone au lieu du planificateur Bukkit,
- déclare
folia-supported: truedansplugin.yml, - est compilé avec l'API Folia (Maven).
#Ce qu'il faut mettre dans la demande
Tout ce qui figure dans le guide Spigot et Paper, plus les détails liés au temps : « téléporter après 3 secondes », « répéter chaque minute pour chaque joueur en ligne ». C'est là que le code Folia diffère le plus.
#Build et vérification
Les plugins Folia sont compilés et contrôlés comme n'importe quel autre plugin avant d'être Prêts. La compilation prouve que le code compile avec l'API Folia. La sécurité des threads à l'exécution dépend toujours de la logique : testez donc sur un serveur Folia.
#Problèmes courants
| Symptôme | Cause probable |
|---|---|
UnsupportedOperationException à propos du planificateur | Du code (souvent issu d'une dépendance) utilise le planificateur Bukkit. Demandez au chat de le déplacer vers le planificateur de région ou d'entité. |
| Le plugin refuse de se charger sur Folia | folia-supported: true manque dans plugin.yml. |