Pular para o conteúdo
Plataformas

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
  1. O que o Codexe faz de diferente
  2. O que colocar no pedido
  3. Build e verificação
  4. Problemas comuns

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

SintomaCausa provável
UnsupportedOperationException sobre o agendadorAlgum 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 FoliaFalta folia-supported: true no plugin.yml.
Plugins Folia | Codexe Docs