Pluginy pre Folia
Regionálny multithreading vo Folia mení spôsob, akým pluginy plánujú prácu. Ako Codexe generuje pluginy bezpečné pre Folia a čo zahrnúť do požiadavky.
Aktualizované
Folia je fork Paperu, ktorý spracúva tick rôznych oblastí sveta na rôznych vláknach. Neexistuje jediné „hlavné vlákno“, takže bežné plánovanie Bukkit (Bukkit.getScheduler().runTask(...)) nie je platné.
#Čo Codexe robí inak
Keď vyberieš typ Folia, vygenerovaný plugin:
- plánuje prácu pomocou plánovačov regiónu, entity, globálneho regiónu a asynchrónneho plánovača namiesto plánovača Bukkit,
- deklaruje
folia-supported: truevplugin.yml, - zostavuje sa voči API Folia (Maven).
#Čo dať do požiadavky
Všetko zo sprievodcu pre Spigot a Paper, plus detaily citlivé na časovanie: „teleport po 3 sekundách“, „opakuj každú minútu pre každého hráča online“. Práve tu sa kód pre Folia líši najviac.
#Build a overenie
Pluginy pre Folia sa skompilujú a skontrolujú ako každý iný plugin, skôr než sú Pripravené. Kompilácia dokazuje, že sa kód zostaví voči API Folia. Bezpečnosť vlákien za behu stále závisí od logiky, takže testuj na serveri Folia.
#Časté problémy
| Príznak | Pravdepodobná príčina |
|---|---|
UnsupportedOperationException týkajúca sa plánovača | Kód (často zo závislosti) používa plánovač Bukkit. Požiadaj chat, aby ho presunul na plánovač regiónu alebo entity. |
| Plugin sa na Folia odmietne načítať | V plugin.yml chýba folia-supported: true. |