KOTLIN-PLUGIN GENERATOR
plugin.yml og en JAR, som det kan kompilere for dig, før du downloader den.Hvorfor generere et Kotlin-plugin
Null-sikkerhed, hvor Bukkit har brug for det
Bukkit returnerer hele tiden null - offlinespillere, manglende verdener, fraværende konfigurationsnøgler. Kotlin gør de tilfælde eksplicitte ved kompilering i stedet for klokken to om natten i din serverkonsol.
Et rigtigt Gradle-projekt
build.gradle.kts sat op til Kotlin JVM-pluginet og Paper/Spigot-repositories med standardmappestrukturen. Ikke en enkelt fil, du selv skal finde plads til.
Langt mindre boilerplate
Data classes til konfigurationsmodeller, extension functions på Player og ItemStack og scope functions i stedet for indlejrede null-tjek. Den samme logik i mærkbart mindre kode.
Understøtter også Folia og proxyer
Hvis du bruger Papers multitrådede fork, skal du være opmærksom på, at Folia fjerner den enkelte hovedtråd og kræver regionsbevidst planlægning - vælg Folia-målet i plugingeneratoren, så planlægningen er rigtig fra start. Til arbejde på netværksniveau kan du bruge proxyplugin-generatoren. Plugin-dokumentationen forklarer forskellene.
Eksempelprompter
Ofte stillede spørgsmål om Kotlin-plugingeneratoren
Kører Kotlin-plugins på en almindelig Spigot- eller Paper-server?
+
Ja. Kotlin kompileres til almindelig JVM-bytekode, så serveren hverken ved eller er ligeglad med, hvilket sprog pluginet er skrevet i. Det indlæses præcis som et Java-plugin.
Skal jeg installere noget på serveren?
+
Nej. Kotlins standardbibliotek er shaded ind i JAR-filen ved build, så pluginet er selvstændigt. Det gør dog JAR-filen større end et tilsvarende Java-plugin.
Maven eller Gradle?
+
Gradle. Kotlin-målet bruger Gradle Kotlin-pluginet, som er standardværktøjskæden til Kotlin på JVM. Java-målene bruger Maven.
Hvad får jeg egentlig ud af Kotlin her?
+
Mest null-sikkerhed og mindre ceremoni. Bukkit-API'er returnerer null mange steder - getPlayer, getWorld, konfigurationsopslag - og Kotlins typesystem tvinger dig til at håndtere det ved kompilering i stedet for at opdage det som en NullPointerException i produktion. Data classes, extension functions og scope functions skærer også en masse boilerplate væk fra konfigurations- og listener-kode.
Kan jeg blande Java og Kotlin i ét plugin?
+
Generatoren laver et Kotlin-kildesæt. Gradle kan kompilere blandede kilder, så du kan tilføje Java-filer bagefter, men det genererede projekt er Kotlin-først.
Skal jeg vælge Kotlin eller Java?
+
Vælg Java, hvis du vil have maksimal kompatibilitet med tutorials, eksisterende kodestumper og andres kode, da næsten alt Bukkit-materiale forudsætter Java. Vælg Kotlin, hvis du er fortrolig med det og vil have mere kortfattet, null-sikker kode - API-fladen er den samme begge veje.
Andre Codexe-generatorer
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Hvordan Codexe bygger og tjekker disse projekter, hvad du skal skrive i anmodningen, og de almindelige problemer: guide til Spigot and Paper plugins (Java or Kotlin).
KLAR TIL ET NYT PLUGIN?
Det gratis niveau fyldes op med 50K tokens hver dag, nok til at levere et lille Kotlin-plugin i ét hug.
BEGYND AT SMEDE