Přeskočit na obsah
Platformy

Pluginy pro Folia

Vícevláknové zpracování po regionech ve Folii mění způsob, jakým pluginy plánují práci. Jak Codexe generuje pluginy bezpečné pro Folii a co uvést v zadání.

Aktualizováno

Na této stránce
  1. Co Codexe dělá jinak
  2. Co dát do zadání
  3. Sestavení a ověření
  4. Časté problémy

Folia je fork Paperu, který zpracovává tiky různých regionů světa v různých vláknech. Neexistuje jedno „hlavní vlákno“, takže běžné plánování v Bukkitu (Bukkit.getScheduler().runTask(...)) neplatí.

#Co Codexe dělá jinak

Když vybereš typ Folia, vygenerovaný plugin:

  • plánuje práci plánovači region, entity, global region a async místo plánovače Bukkitu,
  • deklaruje v plugin.yml folia-supported: true,
  • sestavuje se proti API Folie (Maven).

#Co dát do zadání

Všechno z průvodce pro Spigot a Paper a navíc podrobnosti citlivé na časování: „teleportuj po 3 sekundách“, „opakuj každou minutu pro každého hráče online“. Právě v tom se kód pro Folii liší nejvíc.

#Sestavení a ověření

Pluginy pro Folii se kompilují a kontrolují jako jakýkoli jiný plugin, než jsou ve stavu Hotovo. Kompilace dokazuje, že se kód sestaví proti API Folie. Bezpečnost vláken za běhu ale pořád závisí na logice, takže testuj na serveru s Folií.

#Časté problémy

PříznakPravděpodobná příčina
UnsupportedOperationException týkající se plánovačeKód (často ze závislosti) používá plánovač Bukkitu. Požádej chat, ať ho přesune na plánovač regionu nebo entity.
Plugin se na Folii odmítne načístV plugin.yml chybí folia-supported: true.
Pluginy pro Folia | Codexe Docs