KOTLIN-PLUGIN GENERÁTOR
plugin.yml-lel és egy JAR-ral, amelyet a letöltés előtt le is fordíthat neked.Miért érdemes Kotlin-plugint generálni
Null-biztonság ott, ahol a Bukkitnak kell
A Bukkit folyamatosan null-t ad vissza - offline játékosok, hiányzó világok, nem létező konfigurációs kulcsok. A Kotlin ezeket az eseteket fordításkor teszi explicitté, nem hajnali 2-kor a szerverkonzolodban.
Valódi Gradle projekt
A build.gradle.kts be van kötve a Kotlin JVM pluginhoz és a Paper/Spigot repókhoz, szabványos forrásszerkezettel. Nem egyetlen fájl, amelynek helyet kell keresned.
Sokkal kevesebb sablonkód
Adatosztályok a konfigurációs modellekhez, kiterjesztő függvények a Player és ItemStack osztályokon, scope függvények a beágyazott null-ellenőrzések helyett. Ugyanaz a logika érezhetően kevesebb kóddal.
Folia-t és proxykat is célozza
Ha a Paper többszálú forkján vagy, vedd figyelembe, hogy a Folia megszünteti az egyetlen fő szálat, és régiótudatos ütemezést igényel - válaszd a Folia célpontot a plugin generátoron, hogy az ütemezés elejétől helyes legyen. Hálózati szintű munkához használd a proxyplugin-generátort. A plugin dokumentáció elmagyarázza a különbségeket.
Példa promptok
Kotlin-plugin generátor GYIK
Futnak a Kotlin-pluginok egy normál Spigot vagy Paper szerveren?
+
Igen. A Kotlin sima JVM-bájtkódra fordul, így a szerver nem tudja és nem is érdekli, milyen nyelven írták a plugint. Pontosan úgy töltődik be, mint egy Java-plugin.
Kell valamit telepítenem a szerverre?
+
Nem. A Kotlin standard könyvtár buildkor bekerül a JAR-ba (shade), így a plugin önálló. Ettől a JAR nagyobb lesz, mint egy hasonló Java-pluginé.
Maven vagy Gradle?
+
Gradle. A Kotlin célpont a Gradle Kotlin pluginját használja, ami a JVM-es Kotlin szabványos eszközlánca. A Java célpontok Mavent használnak.
Mit nyerek valójában a Kotlinnal?
+
Főleg null-biztonságot és kevesebb szertartást. A Bukkit API sok helyen null-t ad vissza - getPlayer, getWorld, konfigurációs lekérdezések -, és a Kotlin típusrendszere arra kényszerít, hogy ezt fordításkor kezeld, ne NullPointerExceptionként fedezd fel élesben. Az adatosztályok, a kiterjesztő függvények és a scope függvények is rengeteg sablonkódot spórolnak meg a konfigurációs és listener-kódból.
Keverhetem a Javát és a Kotlint egy pluginban?
+
A generátor Kotlin forráskészletet állít elő. A Gradle tud vegyes forrásokat fordítani, így utólag hozzáadhatsz Java-fájlokat, de a generált projekt Kotlin-központú.
Kotlint vagy Javát válasszak?
+
Válaszd a Javát, ha maximális kompatibilitást szeretnél a bemutatókkal, a meglévő kódrészletekkel és mások kódjával, mivel szinte minden Bukkit-anyag Javát feltételez. Válaszd a Kotlint, ha jól érzed magad vele, és tömörebb, null-biztos kódot szeretnél - az API-felület mindkét esetben azonos.
További Codexe-generátorok
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Hogyan építi és ellenőrzi a Codexe ezeket a projekteket, mit írj a kérésbe, és gyakori problémák: Spigot and Paper plugins (Java or Kotlin) útmutató.
KÉSZEN ÁLLSZ EGY ÚJ PLUGINRA?
Az ingyenes csomag naponta 50K tokennel töltődik újra, ami egy kis Kotlin-plugin kiadásához elég egy menetben.
KEZDJ KOVÁCSOLNI