Siirry sisältöön
Alustat

Folia-pluginit

Folian aluekohtainen monisäikeisyys muuttaa tapaa, jolla pluginit ajoittavat työnsä. Miten Codexe generoi Folia-turvallisia plugineja ja mitä pyyntöön kannattaa sisällyttää.

Päivitetty

Tällä sivulla
  1. Mitä Codexe tekee toisin
  2. Mitä pyyntöön kannattaa laittaa
  3. Koonti ja vahvistus
  4. Yleiset ongelmat

Folia on Paperin haara, joka päivittää maailman eri alueita eri säikeissä. Yhtä "pääsäiettä" ei ole, joten tavallinen Bukkit-ajoitus (Bukkit.getScheduler().runTask(...)) ei ole kelvollinen.

#Mitä Codexe tekee toisin

Kun valitset Folia-tyypin, generoitu plugin:

  • ajoittaa työn alue-, entiteetti-, globaalin alueen ja asynkronisilla ajastimilla Bukkit-ajastimen sijaan,
  • ilmoittaa folia-supported: true tiedostossa plugin.yml,
  • kootaan Folia-API:a vasten (Maven).

#Mitä pyyntöön kannattaa laittaa

Kaikki Spigot- ja Paper-oppaasta, sekä ajoitusherkät yksityiskohdat: "teleporttaa 3 sekunnin kuluttua", "toista minuutin välein jokaiselle paikalla olevalle pelaajalle". Juuri näissä Folia-koodi eroaa eniten.

#Koonti ja vahvistus

Folia-pluginit käännetään ja tarkistetaan kuten mikä tahansa muu plugin ennen kuin ne ovat Valmiita. Kääntäminen osoittaa, että koodi kääntyy Folia-API:a vasten. Säieturvallisuus ajon aikana riippuu silti logiikasta, joten testaa Folia-palvelimella.

#Yleiset ongelmat

OireTodennäköinen syy
Ajastinta koskeva UnsupportedOperationExceptionKoodi (usein riippuvuudesta) käyttää Bukkit-ajastinta. Pyydä keskustelussa siirtämään se alue- tai entiteettiajastimeen.
Plugin kieltäytyy latautumasta Foliallafolia-supported: true puuttuu tiedostosta plugin.yml.
Folia-pluginit | Codexe Docs