Guida
Come aggiornare un plugin a una nuova versione di Minecraft
Aggiornato il 18 ottobre 2026
Quando il tuo server passa a una nuova versione di Minecraft, molti plugin continuano a funzionare senza modifiche, perché l'API di Bukkit è stabile. Altri non si caricano più o si rompono in piccoli dettagli. Se l'autore non ha aggiornato un plugin e tu hai il sorgente, puoi aggiornarlo da solo: ecco cosa cambia e in che ordine.
Descrivilo come deve funzionare sulla nuova versione.
Generalo con CodexePasso per passo
1.Prova prima il .jar vecchio
Mettilo su un server di prova della nuova versione e leggi la console. Se si carica e funziona, potresti non dover cambiare niente.
2.Cambia la dipendenza dell'API
In
pom.xmlobuild.gradle, impostapaper-apiospigot-apialla nuova versione.3.Aggiorna api-version e Java
Imposta
api-versioninplugin.yml(per esempio'1.21') e compila per il Java richiesto dalla nuova versione: Java 17 prima della 1.20.5, Java 21 dalla 1.20.5, Java 25 per la 26.x.4.Correggi quello che non si compila più
Compila e passa in rassegna gli errori: materiali rinominati, metodi rimossi, classi di eventi cambiate. Il compilatore li elenca con file e riga.
5.Aggiorna le dipendenze
Anche i plugin che usa il tuo plugin (Vault, PlaceholderAPI, ProtocolLib, WorldGuard) devono essere in versioni che supportano la nuova versione di Minecraft, sia nel file di build sia sul server.
6.Provalo sulla nuova versione
Caricalo su un server della nuova versione con gli stessi plugin e prova ogni comando e ogni funzione, non solo l'avvio.
Cosa si rompe di solito
- Nomi di materiali ed enum: l'aggiornamento 1.13 ha rinominato la maggior parte di oggetti e blocchi; le versioni successive ne aggiungono, rinominano o tolgono alcuni. Il codice che usa nomi vecchi o id numerici va in errore.
- Metodi deprecati rimossi: i metodi segnati come deprecati per diverse versioni prima o poi spariscono.
- Dati degli oggetti: dalla 1.20.5 l'NBT degli oggetti è stato sostituito dai data component. I plugin che modificano direttamente l'NBT degli oggetti devono riscrivere quella parte; la normale API
ItemMetacontinua a funzionare. - NMS e reflection: il codice che usa le classi interne del server si rompe quasi a ogni versione. Sostituiscilo con l'API dove possibile, o con una libreria come ProtocolLib.
- Versioni delle librerie: le librerie incluse nel .jar compilate per un Java più vecchio possono non funzionare con quello nuovo.
Aggiornare saltando molte versioni
Passare dalla 1.8 o dalla 1.12 alla 1.21 somiglia più a riscrivere le parti che toccano oggetti, blocchi e particelle che a un aggiornamento. Fallo in un colpo solo contro la nuova API, non versione per versione, e aspettati che anche i file di configurazione abbiano bisogno dei nuovi nomi dei materiali.
Se il plugin deve supportare più versioni insieme, compila contro la più vecchia che supporti ed evita le API aggiunte dopo, oppure usa build separate per ogni versione.
Con Codexe
Da Pro in su puoi importare il sorgente del plugin come ZIP e chiedere, per esempio, "Questo è il mio plugin per Paper 1.20.4. Aggiornalo a Paper 1.21.4". Codexe legge la versione di Minecraft dal file di build, compila con il Java richiesto da quella versione e corregge gli errori di compilazione usando le firme reali dell'API contro cui compila. Per un plugin che hai creato su Codexe, chiedi la nuova versione nella chat del progetto.
La compilazione dimostra che il plugin si compila con la nuova API. Poi provalo su un server di prova, perché i cambi di comportamento tra una versione e l'altra non compaiono come errori di compilazione.
Domande
Posso aggiornare un plugin senza il codice sorgente?
Non in modo affidabile. Decompilare un .jar dà un codice difficile da mantenere e può violare la licenza dell'autore. Cerca prima una versione aggiornata o un fork mantenuto.
Un plugin per la 1.21.1 funziona sulla 1.21.4?
Spesso sì, all'interno della stessa versione principale, a meno che non usi NMS o API cambiate. Provalo prima di farci affidamento.
Perché il server dice "Unsupported API version"?
È il caso opposto: il plugin punta a un'API più recente di quella del server. Compilalo per la versione del tuo server o aggiorna il server.
Ricompila un plugin per la tua versione
Questo prompt si apre pronto da inviare:
“Una versione per Paper 1.21.4 del mio plugin TreeFeller per Spigot 1.12.2: rompere il tronco più basso di un albero con un'ascia abbatte l'albero intero, consuma durabilità per ogni tronco, funziona con tutti i tipi di legno della 1.21 compresi ciliegio e mangrovia, si attiva e disattiva con /treefeller, impostazioni in config.yml.”
Generalo con Codexe