Guida
Come creare un plugin Spigot
Aggiornato il 7 ottobre 2026
Un plugin Spigot usa la Bukkit/Spigot API, quindi gira su Spigot e su tutti i suoi fork, Paper compreso. Per questo è la scelta più ampia quando non sai dove girerà il plugin. Questa guida copre il progetto, il codice e la build.
Adatta l'esempio al tuo server.
Generalo con CodexePasso per passo
1.Prepara Java e uno strumento di build
Installa il JDK adatto alla tua versione di Minecraft (17, 21 o 25) e usa Maven o Gradle.
2.Aggiungi la Spigot API
Aggiungi
spigot-apiper la tua versione dal repository di Spigot con scopeprovided. Serve solo per compilare; durante l'esecuzione la fornisce il server.3.Scrivi comandi e listener
Registra un
CommandExecutorcongetCommand("name").setExecutor(...)e i listener degli eventi conregisterEvents.4.Scrivi il plugin.yml
Nome, versione, classe principale,
api-version(dalla 1.13), comandi e permessi.5.Compila e installa
mvn package, poi copia il .jar datarget/nella cartellaplugins/del server e riavvia.
Versioni vecchie (dalla 1.8 alla 1.12)
Molti server di minigiochi girano ancora sulla 1.8. L'API è più vecchia (niente api-version, nomi dei materiali diversi), quindi un plugin va scritto per quella versione, non copiato da un tutorial per la 1.21. Codexe ti chiede la versione e scrive il codice per quell'API.
Con Codexe
Descrivi il plugin e scrivi "Spigot" con la versione. Codexe genera il progetto Maven, lo compila, corregge gli errori e ti fa provare il plugin su un server di prova di quella versione prima di scaricarlo.
Domande
Mi serve BuildTools?
Solo per far girare un server Spigot o per usare NMS (il codice interno del server). Per compilare con l'API normale basta la dipendenza spigot-api.
Plugin Spigot o plugin Paper?
Spigot se deve girare ovunque; Paper se il tuo server usa Paper e vuoi la sua API in più. Leggi come creare un plugin Paper.
Crea un plugin Spigot
Questo prompt si apre pronto da inviare:
“Un plugin per Spigot 1.8.8 chiamato Kits: /kit <name> dà un set di oggetti configurabile con un cooldown per ogni kit, kit definiti in config.yml, permesso kits.<name> per ogni kit, cooldown salvati tra un riavvio e l'altro.”
Generalo con Codexe