Kotlin · Bukkit · Spigot · Paper

KOTLIN-PLUGIN GENERATOR

Dezelfde Bukkit-API, geschreven in Kotlin. Beschrijf wat de plugin moet doen en Codexe zet een Gradle-project op met een Kotlin-bronmap, een correcte plugin.yml en een JAR die het voor je kan compileren voordat je downloadt.

Waarom een Kotlin-plugin genereren

Null-veiligheid waar Bukkit het nodig heeft

Bukkit geeft constant null terug - offline spelers, ontbrekende werelden, afwezige config-sleutels. Kotlin maakt die gevallen expliciet bij het compileren in plaats van om 2 uur 's nachts in je serverconsole.

Een echt Gradle-project

build.gradle.kts is ingesteld voor de Kotlin JVM-plugin en de Paper/Spigot-repositories, met de standaardmapindeling. Geen losse file waar je zelf een plek voor moet zoeken.

Veel minder boilerplate

Data classes voor config-modellen, extension functions op Player en ItemStack en scope functions in plaats van geneste null-controles. Dezelfde logica in merkbaar minder code.

Richt zich ook op Folia en proxy's

Gebruik je de multithreaded fork van Paper, let dan op dat Folia de ene hoofdthread weghaalt en planning per regio nodig heeft - kies het Folia-doel in de plugingenerator, zodat de planning vanaf het begin klopt. Voor werk op netwerkniveau gebruik je de proxyplugin-generator. In de plugindocumentatie staan de verschillen.

Voorbeeldprompts

> Een Kotlin-plugin voor Paper 1.21 met een /kit-commando dat een instelbare set items geeft, een cooldown per speler die in een data class wordt bewaard en een YAML-config met standaardwaarden.
> Een Kotlin-plugin die elke blokbreuk asynchroon naar een bestand per wereld logt en /blocklog <player> toevoegt om de laatste 20 regels terug te lezen.
> Een Kotlin-plugin die een eigen craftingrecept voor een betoverd item toevoegt, met een listener die voorkomt dat het buiten de Nether wordt gebruikt.
> Een Kotlin-plugin met een GUI met pagina's die online spelers toont en waarin klikken om te teleporteren achter een permission node zit.

Veelgestelde vragen over de Kotlin-plugingenerator

Draaien Kotlin-plugins op een gewone Spigot- of Paper-server?

+

Ja. Kotlin compileert naar gewone JVM-bytecode, dus de server weet niet en maakt niet uit in welke taal de plugin is geschreven. Hij laadt precies zoals een Java-plugin.

Moet ik iets op de server installeren?

+

Nee. De Kotlin-standaardbibliotheek wordt tijdens de build in de JAR geshade, dus de plugin is zelfstandig. Daardoor is de JAR wel groter dan een vergelijkbare Java-plugin.

Maven of Gradle?

+

Gradle. Het Kotlin-doel gebruikt de Gradle Kotlin-plugin, de standaardtoolchain voor Kotlin op de JVM. De Java-doelen gebruiken Maven.

Wat levert Kotlin me hier eigenlijk op?

+

Vooral null-veiligheid en minder omhaal. Bukkit-API's geven op veel plekken null terug - getPlayer, getWorld, config-lookups - en het typesysteem van Kotlin dwingt je dat bij het compileren af te handelen in plaats van het in productie als NullPointerException te ontdekken. Data classes, extension functions en scope functions halen ook veel boilerplate uit config- en listenercode.

Kan ik Java en Kotlin in één plugin mengen?

+

De generator maakt een Kotlin-bronmap. Gradle kan gemengde bronnen compileren, dus je kunt achteraf Java-bestanden toevoegen, maar het gegenereerde project is Kotlin-first.

Moet ik Kotlin of Java kiezen?

+

Kies Java als je maximale compatibiliteit wilt met tutorials, bestaande codefragmenten en andermans code, want vrijwel al het Bukkit-materiaal gaat uit van Java. Kies Kotlin als je er vertrouwd mee bent en beknoptere, null-veilige code wilt - de API is in beide gevallen identiek.

Prefer Java, or working somewhere else in the stack? Codexe also generates:

Hoe Codexe deze projecten bouwt en controleert, wat je in het verzoek moet zetten en de veelvoorkomende problemen: handleiding Spigot and Paper plugins (Java or Kotlin).

KLAAR VOOR EEN NIEUWE PLUGIN?

Het gratis abonnement vult dagelijks 50K tokens aan, genoeg om een kleine Kotlin-plugin in één keer op te leveren.

BEGIN MET SMEDEN
Kotlin Minecraft Plugin Generator – met AI gemaakte Bukkit-plugins in Kotlin | Codexe