Guía
Cómo actualizar un plugin a una nueva versión de Minecraft
Actualizado el 18 de octubre de 2026
Cuando tu servidor pasa a una nueva versión de Minecraft, muchos plugins siguen funcionando sin cambios, porque la API de Bukkit es estable. Otros dejan de cargar o se rompen en pequeños detalles. Si el autor no ha actualizado un plugin y tienes su código fuente, puedes actualizarlo tú: esto es lo que cambia y en qué orden.
Descríbelo tal como debe funcionar en la nueva versión.
Genera esto con CodexePaso a paso
1.Prueba primero el .jar antiguo
Ponlo en un servidor de prueba de la nueva versión y lee la consola. Si carga y funciona, puede que no tengas que cambiar nada.
2.Cambia la dependencia de la API
En
pom.xmlobuild.gradle, ponpaper-apiospigot-apien la nueva versión.3.Actualiza api-version y Java
Pon
api-versionenplugin.yml(por ejemplo'1.21') y compila para el Java que necesita la nueva versión: Java 17 antes de la 1.20.5, Java 21 desde la 1.20.5 y Java 25 para la 26.x.4.Corrige lo que ya no compila
Compila y revisa los errores: materiales renombrados, métodos eliminados, clases de eventos cambiadas. El compilador los enumera con archivo y línea.
5.Actualiza las dependencias
Los plugins que usa tu plugin (Vault, PlaceholderAPI, ProtocolLib, WorldGuard) también necesitan versiones compatibles con la nueva versión de Minecraft, tanto en el archivo de compilación como en el servidor.
6.Pruébalo en la nueva versión
Cárgalo en un servidor de la nueva versión con los mismos plugins y prueba cada comando y cada función, no solo el arranque.
Qué suele romperse
- Nombres de materiales y enums: la actualización 1.13 renombró la mayoría de los objetos y bloques; las versiones posteriores añaden, renombran o quitan algunos. El código que usa nombres antiguos o ids numéricos falla.
- Métodos obsoletos eliminados: los métodos marcados como obsoletos durante varias versiones acaban desapareciendo.
- Datos de objetos: desde la 1.20.5, el NBT de los objetos se sustituyó por componentes de datos. Los plugins que editan directamente el NBT de los objetos necesitan reescribir esa parte; la API normal
ItemMetasigue funcionando. - NMS y reflexión: el código que usa clases internas del servidor se rompe en casi todas las versiones. Sustitúyelo por la API cuando sea posible, o por una librería como ProtocolLib.
- Versiones de librerías: las librerías empaquetadas compiladas para un Java más antiguo pueden fallar en el nuevo.
Actualizar saltando muchas versiones
Pasar de la 1.8 o la 1.12 a la 1.21 se parece más a reescribir las partes que tocan objetos, bloques y partículas que a una actualización. Hazlo de una vez contra la nueva API, no versión por versión, y cuenta con que los archivos de configuración también necesitarán los nuevos nombres de materiales.
Si el plugin debe ser compatible con varias versiones a la vez, compílalo contra la más antigua que admitas y evita la API añadida después, o usa compilaciones separadas por versión.
Con Codexe
Desde Pro puedes importar el código fuente del plugin como ZIP y pedir, por ejemplo, «Este es mi plugin para Paper 1.20.4. Actualízalo a Paper 1.21.4». Codexe lee la versión de Minecraft del archivo de compilación, compila con el Java que necesita esa versión y corrige los errores de compilación usando las firmas reales de la API contra la que compila. Para un plugin que hiciste en Codexe, pide la nueva versión en el chat del proyecto.
Que compile demuestra que el plugin se construye con la nueva API. Después pruébalo en un servidor de prueba, porque los cambios de comportamiento entre versiones no aparecen como errores de compilación.
Preguntas
¿Puedo actualizar un plugin sin su código fuente?
No de forma fiable. Descompilar un .jar da un código difícil de mantener y puede incumplir la licencia del autor. Busca antes una versión actualizada o un fork mantenido.
¿Un plugin de la 1.21.1 funciona en la 1.21.4?
A menudo sí, dentro de la misma versión principal, salvo que use NMS o API que haya cambiado. Pruébalo antes de confiar en él.
¿Por qué el servidor dice «Unsupported API version»?
Es el caso contrario: el plugin apunta a una API más nueva que la del servidor. Compílalo para la versión de tu servidor o actualiza el servidor.
Vuelve a compilar un plugin para tu versión
Este prompt se abre listo para enviar:
“Una versión para Paper 1.21.4 de mi plugin TreeFeller para Spigot 1.12.2: romper el tronco inferior de un árbol con un hacha rompe el árbol entero, gasta durabilidad por cada tronco, funciona con todos los tipos de madera de la 1.21, incluidos el cerezo y el mangle, se activa o desactiva con /treefeller, ajustes en config.yml.”
Genera esto con Codexe