Sari la conținut
Platforme

Plugin-uri Folia

Multithreading-ul pe regiuni din Folia schimbă felul în care plugin-urile își programează sarcinile. Cum generează Codexe plugin-uri sigure pentru Folia și ce să incluzi în cerere.

Actualizat

Pe această pagină
  1. Ce face Codexe altfel
  2. Ce să pui în cerere
  3. Build și verificare
  4. Probleme frecvente

Folia este fork-ul Paper care procesează tick-urile diferitelor regiuni ale lumii pe fire de execuție diferite. Nu există un singur „fir principal”, așa că programarea obișnuită din Bukkit (Bukkit.getScheduler().runTask(...)) nu este validă.

#Ce face Codexe altfel

Când alegi tipul Folia, pluginul generat:

  • programează sarcinile cu schedulerele de regiune, de entitate, de regiune globală și asincron, în locul schedulerului Bukkit,
  • declară folia-supported: true în plugin.yml,
  • se compilează pe API-ul Folia (Maven).

#Ce să pui în cerere

Tot ce apare în ghidul Spigot și Paper, plus detaliile legate de timp: „teleportează după 3 secunde”, „repetă la fiecare minut pentru fiecare jucător online”. Aici diferă cel mai mult codul pentru Folia.

#Build și verificare

Plugin-urile Folia sunt compilate și verificate ca orice alt plugin înainte să fie Gata. Compilarea dovedește că codul se compilează pe API-ul Folia. Siguranța firelor de execuție la rulare depinde totuși de logică, așa că testează pe un server Folia.

#Probleme frecvente

SimptomCauză probabilă
UnsupportedOperationException legată de schedulerCodul (adesea dintr-o dependență) folosește schedulerul Bukkit. Cere-i chatului să îl mute pe schedulerul de regiune sau de entitate.
Pluginul refuză să se încarce pe FoliaLipsește folia-supported: true din plugin.yml.
Plugin-uri Folia | Codexe Docs