KOTLIN PLUGIN WEB STRANICA
plugin.yml i JAR-om koji ti može kompajlirati prije nego što ga preuzmeš.Zašto generirati Kotlin plugin
Null sigurnost tamo gdje je Bukkitu treba
Bukkit stalno vraća null: offline igrači, nepostojeći svjetovi, ključevi kojih nema u konfiguraciji. Kotlin te slučajeve čini eksplicitnima već pri kompajliranju, a ne u 2 ujutro u konzoli tvog poslužitelja.
Pravi Gradle projekt
build.gradle.kts postavljen za Kotlin JVM plugin i Paper/Spigot repozitorije, sa standardnom strukturom izvora. Nema usamljene datoteke kojoj moraš tražiti mjesto.
Puno manje boilerplatea
Data klase za modele konfiguracije, extension funkcije na Player i ItemStack te scope funkcije umjesto ugniježđenih null provjera. Ista logika u osjetno manje koda.
Podržava i Foliju i proxyje
Ako si na Paperovom višedretvenom forku, imaj na umu da Folia uklanja jednu glavnu dretvu i treba raspoređivanje svjesno regija. Odaberi Folia cilj u generatoru plugina da raspoređivanje bude ispravno od početka. Za rad na razini mreže koristi generator proxy plugina. Dokumentacija za pluginove objašnjava razlike.
Primjeri promptova
Česta pitanja o generatoru Kotlin plugina
Rade li Kotlin pluginovi na običnom Spigot ili Paper poslužitelju?
+
Da. Kotlin se kompajlira u običan JVM bytecode, pa poslužitelj niti zna niti ga zanima u kojem je jeziku plugin napisan. Učitava se točno kao Java plugin.
Moram li išta instalirati na poslužitelj?
+
Ne. Kotlin standardna biblioteka ugrađuje se (shading) u JAR prilikom builda, pa je plugin samostalan. Zbog toga je JAR veći od ekvivalentnog Java plugina.
Maven ili Gradle?
+
Gradle. Kotlin cilj koristi Gradle Kotlin plugin, standardni toolchain za Kotlin na JVM-u. Java ciljevi koriste Maven.
Što mi Kotlin ovdje zapravo donosi?
+
Uglavnom null sigurnost i manje ceremonije. Bukkit API-ji na puno mjesta vraćaju null (getPlayer, getWorld, čitanje konfiguracije), a Kotlinov sustav tipova tjera te da to riješiš već pri kompajliranju, umjesto da to otkriješ kao NullPointerException u produkciji. Data klase, extension funkcije i scope funkcije također uklanjaju puno boilerplatea iz koda za konfiguraciju i listenere.
Mogu li miješati Javu i Kotlin u jednom pluginu?
+
Generator stvara Kotlin source set. Gradle može kompajlirati miješane izvore, pa kasnije možeš dodati Java datoteke, ali generirani projekt je prije svega Kotlin.
Trebam li odabrati Kotlin ili Javu?
+
Odaberi Javu ako želiš najveću kompatibilnost s tutorijalima, postojećim isječcima i tuđim kodom, jer gotovo sav materijal o Bukkitu podrazumijeva Javu. Odaberi Kotlin ako ti je poznat i želiš sažetiji, null-siguran kod. API je u oba slučaja isti.
Ostali Codexe generatori
Više voliš Java kod ili radiš negdje drugdje u stacku? Codexe generira i:
Kako Codexe izrađuje i provjerava ove projekte, što napisati u zahtjevu i česti problemi: vodič za Spigot and Paper plugins (Java or Kotlin).
SPREMAN ZA NOVI PLUGIN?
Free razina svaki dan se puni na 50K tokena, dovoljno da odjednom napraviš mali Kotlin plugin.
ZAPOČNI KOVATI