Kotlin · Bukkit · Spigot · Paper

PLUGIN EN KOTLIN GENERADOR

La misma API de Bukkit, escrita en Kotlin. Describe lo que debe hacer el plugin y Codexe prepara un proyecto Gradle con un conjunto de código fuente de Kotlin, un 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

> Un plugin de Kotlin para Paper 1.21 con un comando /kit que dé un set de objetos configurable, un cooldown por jugador guardado en una data class y una configuración YAML con valores por defecto.
> Un plugin de Kotlin que registre de forma asíncrona cada bloque roto en un archivo por mundo y añada /blocklog <player> para consultar las últimas 20 entradas.
> Un plugin de Kotlin que añada una receta de fabricación personalizada para un objeto encantado, con un listener que impida usarlo fuera del Nether.
> Un plugin de Kotlin con una GUI paginada que liste a los jugadores conectados, con teletransporte al hacer clic protegido por un nodo de permiso.

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.

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
Generador de plugins de Minecraft en Kotlin – plugins de Bukkit creados con IA en Kotlin | Codexe