Folia-pluginok
A Folia régiókra bontott többszálúsága megváltoztatja, hogyan ütemezik a pluginok a munkát. Hogyan generál a Codexe Foliával biztonságosan működő pluginokat, és mit írj a kérésbe.
Frissítve
A Folia a Paper forkja, amely a világ különböző régióit különböző szálakon tickeli. Nincs egyetlen „fő szál”, ezért a szokásos Bukkit-ütemezés (Bukkit.getScheduler().runTask(...)) nem érvényes.
#Mit csinál másképp a Codexe
Ha a Folia típust választod, a generált plugin:
- a munkát a régió-, az entitás-, a globális régió- és az aszinkron ütemezővel ütemezi a Bukkit-ütemező helyett,
- deklarálja a
folia-supported: truebeállítást aplugin.ymlfájlban, - a Folia API-ra buildel (Maven).
#Mit írj a kérésbe
Mindent a Spigot és Paper útmutatóból, plusz az időzítésre érzékeny részleteket: „teleportálás 3 másodperc után”, „ismétlés percenként minden online játékosnál”. Ezeken a pontokon tér el leginkább a Folia-kód.
#Build és ellenőrzés
A Folia-pluginok ugyanúgy lefordulnak és ellenőrzésen mennek át, mielőtt Készek lennének, mint bármely más plugin. A fordítás bizonyítja, hogy a kód lebuildelődik a Folia API-ra. A futásidejű szálbiztonság továbbra is a logikán múlik, ezért teszteld egy Folia-szerveren.
#Gyakori problémák
| Tünet | Valószínű ok |
|---|---|
UnsupportedOperationException az ütemezőről | A kód (gyakran egy függőségből) a Bukkit-ütemezőt használja. Kérd meg a csevegést, hogy tegye át a régió- vagy az entitásütemezőre. |
| A plugin nem hajlandó betöltődni Folián | Hiányzik a folia-supported: true a plugin.yml fájlból. |