KOTLIN-PLUGIN GENERAATTORI
plugin.yml-tiedoston ja JAR-tiedoston, jonka se voi kääntää puolestasi ennen lataamista.Miksi generoida Kotlin-plugin
Null-turvallisuus siellä, missä Bukkit sitä tarvitsee
Bukkit palauttaa nullin jatkuvasti - offline-pelaajat, puuttuvat maailmat, puuttuvat asetusavaimet. Kotlin tekee nämä tapaukset eksplisiittisiksi käännösaikana eikä vasta kello 2 yöllä palvelimesi konsolissa.
Oikea Gradle-projekti
build.gradle.kts, joka on säädetty Kotlin JVM -pluginille ja Paper/Spigot-repositorioille, vakiolähdehakemistorakenteella. Ei yksittäistä tiedostoa, jolle pitäisi keksiä paikka.
Paljon vähemmän toistokoodia
Data-luokat asetusmalleille, laajennusfunktiot Playerille ja ItemStackille sekä scope-funktiot sisäkkäisten null-tarkistusten sijaan. Sama logiikka huomattavasti vähemmällä koodilla.
Kohteena myös Folia ja proxyt
Jos käytät Paperin monisäikeistä haarukkaa, huomaa, että Folia poistaa yksittäisen pääsäikeen ja vaatii aluetietoista ajoitusta - valitse Folia-kohde plugingeneraattorissa, jotta ajoitus on oikein alusta asti. Verkkotason työhön käytä proxy-plugingeneraattoria. Plugin-dokumentaatio selittää erot.
Esimerkkikehotteet
Kotlin-plugingeneraattorin UKK
Toimivatko Kotlin-pluginit tavallisella Spigot- tai Paper-palvelimella?
+
Kyllä. Kotlin kääntyy tavalliseksi JVM-tavukoodiksi, joten palvelin ei tiedä eikä välitä, millä kielellä plugin on kirjoitettu. Se latautuu täsmälleen kuten Java-plugin.
Tarvitseeko palvelimelle asentaa jotain?
+
Ei. Kotlinin standardikirjasto sisällytetään JAR-tiedostoon (shade) koonnin yhteydessä, joten plugin on itsenäinen. Tämä tekee JAR:sta suuremman kuin vastaavasta Java-pluginista.
Maven vai Gradle?
+
Gradle. Kotlin-kohde käyttää Gradlen Kotlin-pluginia, joka on JVM:n Kotlinin vakiotyökalusarja. Java-kohteet käyttävät Mavenia.
Mitä hyötyä Kotlinista oikeasti on?
+
Lähinnä null-turvallisuus ja vähemmän seremoniaa. Bukkit-API:t palauttavat null monessa paikassa - getPlayer, getWorld, asetushaut - ja Kotlinin tyyppijärjestelmä pakottaa käsittelemään sen käännösaikana sen sijaan, että löytäisit sen NullPointerExceptionina tuotannossa. Data-luokat, laajennusfunktiot ja scope-funktiot vähentävät myös paljon toistokoodia asetus- ja kuuntelijakoodista.
Voinko yhdistää Javaa ja Kotlinia yhdessä pluginissa?
+
Generaattori tuottaa Kotlin-lähdehakemiston. Gradle osaa kääntää sekalähteitä, joten voit lisätä Java-tiedostoja jälkikäteen, mutta generoitu projekti on ensisijaisesti Kotlinia.
Pitäisikö valita Kotlin vai Java?
+
Valitse Java, jos haluat maksimaalisen yhteensopivuuden oppaiden, olemassa olevien koodinpätkien ja muiden koodin kanssa, sillä lähes kaikki Bukkit-materiaali olettaa Javan. Valitse Kotlin, jos se on sinulle tuttu ja haluat ytimekkäämpää, null-turvallista koodia - API-pinta on kummassakin sama.
Muut Codexe-generaattorit
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Miten Codexe rakentaa ja tarkistaa nämä projektit, mitä pyyntöön kannattaa kirjoittaa ja yleiset ongelmat: Spigot and Paper plugins (Java or Kotlin)-opas.
VALMIINA UUTEEN PLUGINIIN?
Free-taso täyttyy päivittäin 50K tokenilla, mikä riittää pienen Kotlin-pluginin julkaisuun kerralla.
ALOITA TAONTA