KOTLIN-PLUGIN GENERATOR
plugin.yml och en JAR som kan kompileras åt dig innan du laddar ner den.Varför generera ett Kotlin-plugin
Null-säkerhet där Bukkit behöver det
Bukkit ger ständigt tillbaka null - offlinespelare, saknade världar, frånvarande konfigurationsnycklar. Kotlin gör de fallen explicita vid kompilering i stället för klockan 02 i din serverkonsol.
Ett riktigt Gradle-projekt
build.gradle.kts är inställd för Kotlin JVM-pluginet och Paper/Spigot-repositorierna, med standardlayouten för källkod. Inte en enda fil som du måste hitta ett hem åt.
Mycket mindre boilerplate
Dataklasser för konfigurationsmodeller, extensionfunktioner på Player och ItemStack och scope-funktioner i stället för nästlade null-kontroller. Samma logik med märkbart mindre kod.
Siktar också på Folia och proxyer
Om du kör Papers flertrådade fork, notera att Folia tar bort den enda huvudtråden och kräver regionmedveten schemaläggning - välj Folia-målet i plugingeneratorn så blir schemaläggningen rätt från början. För arbete på nätverksnivå, använd proxyplugingeneratorn. Plugindokumentationen förklarar skillnaderna.
Exempelprompter
Vanliga frågor om Kotlin-plugingeneratorn
Fungerar Kotlin-plugin på en vanlig Spigot- eller Paper-server?
+
Ja. Kotlin kompileras till vanlig JVM-bytekod, så servern varken vet eller bryr sig om vilket språk pluginet är skrivet i. Det laddas precis som ett Java-plugin.
Behöver jag installera något på servern?
+
Nej. Kotlins standardbibliotek paketeras (shade) in i JAR-filen vid bygget, så pluginet är fristående. Det gör förstås JAR-filen större än ett motsvarande Java-plugin.
Maven eller Gradle?
+
Gradle. Kotlin-målet använder Gradles Kotlin-plugin, som är standardverktygskedjan för Kotlin på JVM. Java-målen använder Maven.
Vad får jag egentligen ut av Kotlin här?
+
Främst null-säkerhet och mindre ceremoni. Bukkit-API:er returnerar null på många ställen - getPlayer, getWorld, konfigurationsuppslag - och Kotlins typsystem tvingar dig att hantera det vid kompilering i stället för att upptäcka det som ett NullPointerException i produktion. Dataklasser, extensionfunktioner och scope-funktioner tar också bort mycket boilerplate ur konfigurations- och lyssnarkod.
Kan jag blanda Java och Kotlin i samma plugin?
+
Generatorn skapar en Kotlin-källkodsmapp. Gradle kan kompilera blandad källkod, så du kan lägga till Java-filer efteråt, men det genererade projektet är Kotlin först.
Ska jag välja Kotlin eller Java?
+
Välj Java om du vill ha maximal kompatibilitet med handledningar, befintliga kodavsnitt och andras kod, eftersom nästan allt Bukkit-material utgår från Java. Välj Kotlin om du är bekväm med det och vill ha kortare, null-säker kod - API:et är detsamma i båda fallen.
Andra Codexe-generatorer
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Hur Codexe bygger och kontrollerar de här projekten, vad du ska skriva i begäran och vanliga problem: guiden Spigot and Paper plugins (Java or Kotlin).
REDO FÖR ETT NYTT PLUGIN?
Gratisnivån fylls på med 50K tokens varje dag, tillräckligt för att leverera ett litet Kotlin-plugin på en gång.
BÖRJA SMIDA