Plugins für Folia
Das regionalisierte Multithreading von Folia ändert, wie Plugins Arbeit einplanen. Wie Codexe Folia-sichere Plugins generiert und was in die Anfrage gehört.
Aktualisiert
Auf dieser Seite
Folia ist der Fork von Paper, der verschiedene Regionen der Welt auf verschiedenen Threads tickt. Es gibt keinen einzelnen „Main-Thread“, deshalb ist das gewöhnliche Bukkit-Scheduling (Bukkit.getScheduler().runTask(...)) nicht gültig.
#Was Codexe anders macht
Wenn du den Typ Folia wählst, macht das generierte Plugin Folgendes:
- Es plant Arbeit mit den Schedulern für Region, Entity, globale Region und asynchron statt mit dem Bukkit-Scheduler,
- es deklariert
folia-supported: trueinplugin.yml, - es baut gegen die Folia-API (Maven).
#Was in die Anfrage gehört
Alles aus der Anleitung für Spigot & Paper, dazu zeitkritische Details: „nach 3 Sekunden teleportieren“, „jede Minute für jeden Online-Spieler wiederholen“. Genau dort unterscheidet sich Folia-Code am stärksten.
#Build und Verifizierung
Folia-Plugins werden wie jedes andere Plugin kompiliert und geprüft, bevor sie Ready sind. Das Kompilieren beweist, dass der Code gegen die Folia-API baut. Die Thread-Sicherheit zur Laufzeit hängt weiterhin von der Logik ab, also teste auf einem Folia-Server.
#Häufige Probleme
| Symptom | Wahrscheinliche Ursache |
|---|---|
UnsupportedOperationException zum Scheduler | Code (oft aus einer Abhängigkeit) verwendet den Bukkit-Scheduler. Bitte den Chat, ihn auf den Region- oder Entity-Scheduler umzustellen. |
| Plugin weigert sich, auf Folia zu laden | folia-supported: true fehlt in plugin.yml. |