Aller au contenu
Plateformes

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
  1. Ce que Codexe fait différemment
  2. Ce qu'il faut mettre dans la demande
  3. Build et vérification
  4. Problèmes courants

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: true dans plugin.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ômeCause probable
UnsupportedOperationException à propos du planificateurDu 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 Foliafolia-supported: true manque dans plugin.yml.
Plugins Folia | Codexe Docs