PLUGIN EN KOTLIN GENERADOR
plugin.yml correcto y un JAR que puede compilar por ti antes de que lo descargues.Por qué generar un plugin en Kotlin
Seguridad ante nulos donde Bukkit la necesita
Bukkit devuelve null constantemente: jugadores desconectados, mundos que no existen, claves de configuración ausentes. Kotlin hace explícitos esos casos al compilar y no a las 2 de la madrugada en la consola de tu servidor.
Un proyecto Gradle real
build.gradle.kts preparado para el plugin de Kotlin JVM y los repositorios de Paper/Spigot, con la estructura de código estándar. No es un solo archivo al que tengas que buscarle un sitio.
Mucho menos código repetitivo
Data classes para los modelos de configuración, funciones de extensión sobre Player e ItemStack y funciones de ámbito en lugar de comprobaciones de nulos anidadas. La misma lógica con bastante menos código.
También para Folia y proxies
Si usas el fork multihilo de Paper, ten en cuenta que Folia elimina el hilo principal único y necesita una programación por regiones: elige el destino Folia en el generador de plugins para que la programación sea correcta desde el principio. Para trabajo a nivel de red usa el generador de plugins de proxy. La documentación de plugins explica las diferencias.
Prompts de ejemplo
Preguntas frecuentes del generador de plugins en Kotlin
¿Los plugins de Kotlin funcionan en un servidor Spigot o Paper normal?
+
Sí. Kotlin se compila a bytecode normal de la JVM, así que al servidor le da igual en qué lenguaje se escribió el plugin. Se carga exactamente igual que un plugin de Java.
¿Tengo que instalar algo en el servidor?
+
No. La biblioteca estándar de Kotlin se incluye dentro del JAR (shaded) al compilar, así que el plugin es autónomo. Eso sí, hace que el JAR sea más grande que el de un plugin equivalente en Java.
¿Maven o Gradle?
+
Gradle. El destino de Kotlin usa el plugin de Gradle para Kotlin, que es la herramienta estándar para Kotlin en la JVM. Los destinos de Java usan Maven.
¿Qué me aporta realmente Kotlin aquí?
+
Sobre todo seguridad ante nulos y menos ceremonia. Las APIs de Bukkit devuelven null en muchos sitios (getPlayer, getWorld, consultas a la configuración) y el sistema de tipos de Kotlin te obliga a gestionarlo al compilar, en lugar de descubrirlo como una NullPointerException en producción. Las data classes, las funciones de extensión y las funciones de ámbito también recortan mucho código repetitivo en la configuración y los listeners.
¿Puedo mezclar Java y Kotlin en un mismo plugin?
+
El generador produce un conjunto de código fuente de Kotlin. Gradle puede compilar fuentes mixtas, así que puedes añadir archivos de Java después, pero el proyecto generado está pensado primero para Kotlin.
¿Debería elegir Kotlin o Java?
+
Elige Java si quieres la máxima compatibilidad con tutoriales, fragmentos existentes y código de otras personas, ya que casi todo el material de Bukkit da por hecho que se usa Java. Elige Kotlin si te sientes cómodo con él y quieres un código más conciso y con seguridad ante nulos: la API es idéntica en ambos casos.
Otros generadores de Codexe
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Cómo Codexe crea y comprueba estos proyectos, qué poner en la petición y los problemas habituales: guía de Spigot and Paper plugins (Java or Kotlin).
¿LISTO PARA UN NUEVO PLUGIN?
El plan gratuito recarga 50K tokens al día, suficiente para publicar un pequeño plugin de Kotlin de una sola vez.
EMPIEZA A FORJAR