Przejdź do treści
Platformy

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

Na tej stronie
  1. Co Codexe robi inaczej
  2. Co wpisać w prośbie
  3. Build i weryfikacja
  4. Typowe problemy

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: true w plugin.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

ObjawPrawdopodobna przyczyna
UnsupportedOperationException dotyczący scheduleraKod (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 FoliiW plugin.yml brakuje folia-supported: true.
Pluginy Folia | Codexe Docs