Pluginy Folia
Wielowątkowość Folii oparta na regionach zmienia sposób, w jaki pluginy planują zadania. Jak Codexe generuje pluginy bezpieczne dla Folii i co zawrzeć w prośbie.
Zaktualizowano
Folia to fork Papera, który przetwarza różne regiony świata w różnych wątkach. Nie ma jednego „głównego wątku”, więc zwykłe planowanie zadań z Bukkita (Bukkit.getScheduler().runTask(...)) nie jest poprawne.
#Co Codexe robi inaczej
Gdy wybierzesz typ Folia, wygenerowany plugin:
- planuje zadania za pomocą schedulerów regionu, bytu, regionu globalnego i asynchronicznego zamiast schedulera Bukkita,
- deklaruje
folia-supported: truewplugin.yml, - jest budowany na API Folii (Maven).
#Co wpisać w prośbie
Wszystko z poradnika Spigot i Paper, a do tego szczegóły zależne od czasu: „teleportuj po 3 sekundach”, „powtarzaj co minutę dla każdego gracza online”. To właśnie tu kod dla Folii różni się najbardziej.
#Build i weryfikacja
Pluginy Folia są kompilowane i sprawdzane jak każdy inny plugin, zanim dostaną status Gotowe. Kompilacja dowodzi, że kod buduje się na API Folii. Bezpieczeństwo wątków w czasie działania nadal zależy od logiki, więc przetestuj plugin na serwerze Folia.
#Typowe problemy
| Objaw | Prawdopodobna przyczyna |
|---|---|
UnsupportedOperationException dotyczący schedulera | Kod (często z zależności) używa schedulera Bukkita. Poproś czat o przeniesienie go do schedulera regionu lub bytu. |
| Plugin nie chce się wczytać na Folii | W plugin.yml brakuje folia-supported: true. |