Plugins Folia
O multithreading por regiões do Folia muda a forma como os plugins agendam tarefas. Como o Codexe gera plugins seguros para o Folia e o que incluir no pedido.
Atualizado
Nesta página
O Folia é o fork do Paper que processa os ticks de regiões diferentes do mundo em threads diferentes. Não existe uma única "thread principal", então o agendamento comum do Bukkit (Bukkit.getScheduler().runTask(...)) não é válido.
#O que o Codexe faz de diferente
Quando você escolhe o tipo Folia, o plugin gerado:
- agenda as tarefas com os agendadores de região, de entidade, de região global e assíncrono em vez do agendador do Bukkit,
- declara
folia-supported: truenoplugin.yml, - é compilado com a API do Folia (Maven).
#O que colocar no pedido
Tudo o que está no guia de Spigot e Paper, mais os detalhes que dependem de tempo: "teleportar depois de 3 segundos", "repetir a cada minuto para cada jogador online". É aí que o código para Folia mais se diferencia.
#Build e verificação
Os plugins Folia são compilados e verificados como qualquer outro plugin antes de ficarem Prontos. Compilar prova que o código compila com a API do Folia. A segurança entre threads durante a execução ainda depende da lógica, então teste em um servidor Folia.
#Problemas comuns
| Sintoma | Causa provável |
|---|---|
UnsupportedOperationException sobre o agendador | Algum código (muitas vezes de uma dependência) usa o agendador do Bukkit. Peça ao chat para passá-lo para o agendador de região ou de entidade. |
| O plugin se recusa a carregar no Folia | Falta folia-supported: true no plugin.yml. |