Come creare un plugin Minecraft
Giochi spesso a Minecraft, l’ormai iconico videogioco sandbox ideato da Markus “Notch” Persson, e hai creato anche un tuo server, che ora vorresti espandere con nuove funzionalità. In particolare, hai sentito dire che è possibile programmare dei plugin, ma non sai da dove partire. Nessun problema: sei arrivato nel posto giusto!
Infatti, in questa guida ti spiegherò nel dettaglio come creare un plugin per Minecraft facendoti un esempio concreto di quello che è possibile realizzare e spiegandoti in che modo, solitamente, i giocatori utilizzano questi ultimi. Ti assicuro che si tratta di una procedura meno complessa di quello che immagini.
Che ne dici? Sei pronto per personalizzare il tuo server di Minecraft? Secondo me non vedi l’ora di poter vedere in azione il tuo codice. Coraggio allora, tutto quello che devi fare è semplicemente seguire le rapide istruzioni che puoi trovare qui sotto. Detto questo, a me non resta altro da fare, se non augurarti buona lettura e buon divertimento!
Indice
- Informazioni preliminari
- Creare un server e scaricare i programmi necessari
- Come creare un plugin Minecraft
Informazioni preliminari
Prima di entrare nel dettaglio della procedura su come creare un plugin per Minecraft, ritengo possa interessarti saperne di più in merito a questa possibilità.
Ebbene, i plugin vengono utilizzati nel titolo di Mojang per espandere le possibilità offerte da Spigot, delle API (cioè delle librerie software) modificate che consentono di creare server Minecraft con funzioni personalizzate, molto più ricchi e di possibilità e flessibili rispetto a quelli ufficiali. Il tutto avviene mediante il linguaggio di programmazione Java, pertanto, come avrai già intuito, le modifiche che andrai a fare saranno attuabili solo sulla versione Java per PC di Minecraft.
Ovviamente, i cambiamenti che puoi mettere in atto sul server dipendono dalla tua fantasia e dalle tue abilità di programmazione. Se vuoi degli esempi concreti in merito a cosa hanno creato gli sviluppatori provenienti da tutto il mondo, ti consiglio di dare un’occhiata alla pagina dedicata ai plugin per Spigot.
Come puoi vedere nella pagina che ho citato qui sopra, c’è veramente di tutto. C’è chi ha creato delle ali personalizzate e chi ha introdotto le eruzioni vulcaniche nel titolo di Mojang. Insomma, imparare a programmare plugin per i server di Minecraft può essere particolarmente interessante.
Prima di partire con le istruzioni, però, è bene sottolineare due aspetti: in questo tutorial effettuerò un esempio pratico legato a un server Spigot, ma su Minecraft esistono svariate tipologie di stanze virtuali, come puoi leggere in questa pagina (in inglese). Io, comunque, mi soffermerò sulla tipologia di server in oggetto, in quanto la più utilizzata, ma se sei un appassionato potresti voler dare un’occhiata anche alle altre soluzioni disponibili.
Per il resto, come già citato in precedenza, per creare un plugin per un server Spigot è necessario programmare in Java. In questa guida ti spiegherò semplicemente come realizzare in breve tempo il tuo primo plugin funzionante, sfruttando i rudimenti di questo linguaggio di programmazione.
Sarebbe infatti impossibile spiegarti come programmare in Java in modo avanzato in un singolo tutorial. Ci vogliono mesi, se non anni, di studio per imparare realmente un linguaggio di programmazione. Ecco perché, qualora volessi approfondire l’argomento, ti consiglio di consultare i miei tutorial su come iniziare a programmare, come programmare in Java e come imparare Java, nei quali ti ho consigliato tantissime risorse adatte a questo scopo.
Creare un server e scaricare i programmi necessari
Fatte tutte le premesse del caso, è giunta l’ora di passare all’azione mettendo in piedi un server Spigot per Minecraft in localhost (quindi sul proprio computer) e scaricando i giusti programmi per realizzare un plugin. Per farti degli esempi concreti, prenderò in esame la creazione di un server Spigot su Windows.
Ebbene, la prima cosa che devi fare è installare Git e OpenJDK, due software destinati alla programmazione necessari per realizzare una stanza virtuale di questo tipo. Per fare questo, collegati al sito ufficiale di Git e premi sul pulsante Download. Apri, dunque, il file Git-[versione].exe ottenuto e premi in successione sui pulsanti Next (12 volte), Install e Next, per completare l’installazione.
Dopodiché, collegati al sito Web di Adoptium (ex OpenJDK), spunta la casella Temurin 17 e premi sul tasto Latest release. In questo modo, verrà scaricato sul tuo PC il file OpenJDK-[versione].msi. Apri, dunque, quest’ultimo e fai clic in successione sui pulsanti Next, Next, Install, Sì e Finish.
Piccola nota: gli sviluppatori di Spigot consiglierebbero in realtà di utilizzare Java SE Runtime Enviroment, scaricabile tramite il portale ufficiale. Tuttavia, in quel caso per avviare il download è necessario registrare un account Oracle e nella procedura vengono richieste obbligatoriamente anche informazioni come il nome della società per cui si lavora e il numero di telefono dell’ufficio, quindi ho preferito suggerirti una strada più semplice.
Ciò detto, una volta installati i succitati programmi, devi compilare il file del server tramite BuildTools.jar: file che puoi scaricare semplicemente cliccando qui. A download completato, apri Git Bash, che fa parte del programma che hai installato in precedenza, e sposta il file BuildTools.jar sul desktop. Torna poi su Git Bash, digita il comando cd desktop
e premi Invio sulla tastiera.
A questo punto, digita il comando java -jar BuildTools.jar
e premi Invio. Perfetto, vedrai comparire sul terminale lo stato di avanzamento della creazione del file jar del tuo server Spigot. Potresti dover attendere qualche minuto, dato che ci sono anche vari download da effettuare per rendere tutto funzionante.
In ogni caso, una volta terminata la procedura, se tutto è stato svolto correttamente, dovresti vedere che sono comparsi alcuni file sul desktop e che nella finestra di Git Bash c’è la scritta Success.
A questo punto puoi chiudere la finestra di Git Bash e avviare il file spigot-[versione].jar presente sul desktop. Se tutto è stato svolto correttamente, dovrebbe comparire a schermo la finestra Minecraft server. Nel caso così non fosse, prova ad aprire il file eula.txt che trovi sul desktop e cambiare il valore false in true.
Perfetto, ora il tuo server è attivo. Per verificare che sia funzionante, ti basta avviare Minecraft nell’ultima versione disponibile, premere sul pulsante Multigiocatore, quindi sul tasto Accesso diretto, digitare localhost e premere sul pulsante Entra nel server.
Se tutto è stato fatto in maniera corretta, vedrai che il tuo personaggio entrerà all’interno del server e che nella finestra Minecraft server comparirà il nickname che hai scelto per il titolo di Mojang. Complimenti, adesso hai a disposizione un server Spigot funzionante!
Per maggiori informazioni in merito alle modifiche che si possono effettuare di default alla stanza virtuale e per ulteriori dettagli in merito alla fase di installazione, anche per quanto riguarda altre versioni e piattaforme, ti invito a consultare il sito di Spigot (in inglese).
Adesso che hai visto che la stanza virtuale funziona, puoi disconnetterti e chiudere sia il gioco che che la finestra di Minecraft server.
Ti serve, però, ancora un ultimo programma prima di poter iniziare a creare il tuo plugin: un ambiente di sviluppo integrato (IDE). In parole povere, si tratta di un programma che ti consente di scrivere e compilare codice Java.
Esistono parecchi programmi di questo tipo, come puoi leggere nella mia guida dedicata all’argomento. Ad ogni modo, io ti consiglio IntelliJ IDEA che è relativamente semplice da usare. Per scaricarlo, ti basta collegarti al suo sito ufficiale e premere due volte sul pulsante DOWNLOAD.
Una volta terminato lo scaricamento, apri il file idealC-[versione].exe ottenuto e premi in successione su Next, Next, Next e Install, dopodiché spunta la casella Run IntelliJ IDEA e fai clic su Finish, per concludere il setup.
Come creare un plugin Minecraft
Dopo aver creato un server Spigot e installato tutti i programmi del caso, è arrivato il “momento clou”, ovvero la creazione del plugin.
Se hai seguito le indicazioni che ti ho fornito nel capitolo precedente, hai già a disposizione la finestra dell’IDE Intellij IDEA sul tuo schermo. Premi, dunque, sul pulsante Skip Remaining and Set Defaults e fai clic sull’opzione New Project. Dopodiché, seleziona la voce Java presente in alto a sinistra e premi due volte sul pulsante Next.
A questo punto, dai un nome al progetto (es. PluginAranzulla) e fai clic sul pulsante Finish. Puoi tranquillamente premere su Close, nel caso compaiano a schermo alcune finestre di “tutorial”.
Dopodiché, premi sulla voce File presente in alto a sinistra e fai clic su Project structure. Spostati, dunque, nella scheda Libraries, premi sull’icona +, fai clic sulla voce Java, seleziona il file jar del server e premi su OK.
Perfetto, ora hai correttamente importato tutte le librerie del caso. Fatto questo, chiudi pure la finestra delle librerie, espandi la cartella del progetto presente sulla sinistra, fai clic destro sulla cartella src e seleziona le voci New > Package dal menu che ti viene proposto, assegnando poi il nome che preferisci (es. Aranzulla).
Dopodiché, fai clic destro sul pacchetto che hai appena creato, che si trova sulla sinistra, e seleziona le voci New > Java Class dal menu che ti viene proposto. Dai dunque il nome che vuoi (es. PluginAranzulla) e premi OK.
Perfetto, adesso è giunta l’ora di scrivere il codice. La prima cosa da fare è importare JavaPlugin: per riuscirci, inserisci in testa al file la riga import org.bukkit.plugin.java.JavaPlugin
, chiudendo con punto e virgola.
Dopodiché, premi Invio, per creare qualche riga di spazio, e inizia a creare la tua classe, scrivendo, ad esempio, public class PluginAranzulla extends JavaPlugin
. In parole povere, stai creando una classe che estende quella JavaPlugin, utilizzata dagli sviluppatori per creare plugin per Minecraft.
Ovviamente, devi chiudere il tutto con parentesi graffe. Nel caso JavaPlugin non venisse riconosciuto, prova a reimportare il file jar del server nel modo che ti ho illustrato in precedenza.
Successivamente, premi con il tasto destro del mouse sulla cartella src e seleziona le voci New > File dal menu che si apre, dandole il nome plugin.yml. Qui devi inserire tutte le informazioni di base relative al plugin, dal suo nome alla classe main, passando per la versione, per la descrizione e per i comandi. In questo caso, è tutto molto semplice: ti basta utilizzare le variabili name, main, version, description e commands seguite da : e inserire il loro “valore”.
In particolare, in name devi digitare il nome del plugin (non inserire spazi per alcun motivo), in main il nome della classe hai creato in precedenza (anticipato dal nome del package e senza estensione), in version inserisci la versione che ritieni più corretta (es. 0.0.1 se è una fase preliminare, 1.0.0 se lo ritieni “finito”) e in description devi inserire la descrizione del plugin (es. Plugin realizzato tramite tutorial di Salvatore Aranzulla).
Infine, in commands è necessario inserire, dopo i due punti, il nome del comando che vuoi utilizzare (es. sitoweb) seguito anch’esso dai : e avente al suo interno i parametri description (descrizione) e usage (metodo con cui l’utente può usare il comando, es /sitoweb).
Perfetto, ora hai a disposizione lo “spazio” in cui effettuare le tue modifiche. Ti farò un esempio molto semplice da cui potrai poi partire per realizzare plugin più avanzati. Più precisamente, ti spiegherò come creare un plugin che permetterà all’utente di ottenere l’URL del sito ufficiale del creatore del server semplicemente utilizzando il comando /sitoweb all’interno del server di Minecraft.
Per dare vita a questo plugin, torna all’interno del file java che hai creato in precedenza e aggiungi in testa altri due import, ovvero import org.bukkit.command.Command
e import org.bukkit.command.CommandSender
. Questi ultimi servono per poter utilizzare gli strumenti atti a “recepire” i comandi dell’utente.
Dopodiché, è necessario sovrascrivere i metodi onEnable() e onDisable() all’interno della classe del plugin. Per fare questo, ti basta utilizzare un @Override
prima della creazione dei metodi public void. Ti consiglio di utilizzare l’indentazione con il tasto tab per rendere il codice maggiormente “leggibile”. Ti ricordo che si possono scrivere dei commenti al codice tramite //
, quanto scritto in quelle righe verrà ignorato in fase di compilazione: serve solamente a te per ricordarti a cosa serve quel codice.
In questo specifico plugin non useremo questi metodi, ma la struttura solitamente è questa e dunque era giusto spiegartelo. Il metodo che utilizzeremo invece per questo esempio è quello onCommand, pensato per “rispondere” ai comandi dell’utente. Qui diamo come input, ovvero le variabili tra parentesi, CommandSender, ovvero l’utente che invia il comando, e Command, cioè il comando in sé. Bisogna anche aggiungere una String e un String[] in modo da effettuare correttamente l’Override.
All’interno del metodo onCommand ci deve essere ciò che avviene quando l’utente invia un certo tipo di comando. In questo caso, ho deciso che il comando che l’utente deve utilizzare per ottenere l’URL del sito Web è semplicemente /sitoweb. Per questo motivo, bisogna effettuare un controllo sull’input inviato dall’utente. Ti ho già spiegato che esso è contenuto nel tipo Command, che io ho “istanziato” tramite la variabile chiamata comando.
Per effettuare il controllo, si utilizza un if, ovvero un “se”. Il codice in questo caso è il seguente: if (comando.getName().equalsIgnoreCase("sitoweb")) { utente.sendMessage("Il mio sito è [www.aranzulla.it](http://www.aranzulla.it/)"); }
. In parole povere, prendo il comando con il metodo getName(), guardo, senza tenere conto di maiuscole e minuscole, se il comando è proprio “sitoweb” tramite il metodo equalsIgnoreCase e in caso affermativo invio un messaggio contenente l’URL del mio sito all’utente tramite il metodo sendMessage.
A questo punto, hai correttamente terminato di programmare il plugin che restituisce l’URL del sito Web all’utente quando quest’ultimo usa il comando /sitoweb. Ora arriva la parte di compilazione, che andrà a creare il file .jar del tuo plugin.
Per procedere, premi sulla voce File presente in alto a sinistra, fai clic su Project Structure, spostati nella scheda Artifacts, premi sul pulsante + e seleziona le voci JAR > From modules with dependencies. Premi, dunque su OK, rimuovi, tramite l’icona –, la scritta Extracted file spigot[versione].jar e premi prima sul pulsante Apply e in seguito su quello OK.
A questo punto, fai clic sulla voce Build presente in alto e premi sull’opzione Build Artifacts. Dopodiché, fai clic sulla voce Build, attendi qualche secondo e il sistema ti informerà dell’avvenuta compilazione. Vedrai comparire, in alto a sinistra, la cartella rossa out.
Espandi, dunque, il suo contenuto, espandi anche la cartella artifacts e vedrai comparire il file .jar del tuo plugin. Adesso, premi su di esso con il tasto destro del mouse e seleziona l’opzione Show in Explorer.
In questo modo, si aprirà a schermo il percorso di Esplora File con il file .jar del tuo plugin. Adesso, devi spostare il file in questione che hai generato all’interno della cartella plugins del tuo server. Se hai seguito le mie istruzioni, dovresti trovare quest’ultima sul desktop.
Successivamente, avvia il file jar del server e attendi che compaia a schermo la finestra Minecraft server e che venga eseguito il caricamento. Una volta terminato quest’ultimo, digita stop nella console del server e premi Invio. Dopodiché, riavvia nuovamente il file jar del server. In questo modo, dovresti veder comparire la scritta legata al tuo plugin: significa che è stato installato.
Adesso non ti resta che avviare Minecraft, premere prima sul pulsante Multigiocatore e in seguito su quello Accesso diretto, inserire l’indirizzo del server (es. localhost) e premere Invio.
In questo modo, entrerai correttamente all’interno della tua stanza virtuale. Per verificare il funzionamento del plugin, ti basta premere il pulsante T della tastiera, digitare il comando /sitoweb
e premere sul pulsante Entra nel server. Se compare a schermo il messaggio con l’URL del sito, tutto è stato svolto correttamente.
Inoltre, puoi anche vedere la lista di plugin attivi sul server utilizzando il comando /plugins
. Insomma, hai creato correttamente il tuo primo plugin per un server Spigot di Minecraft. Adesso non ti resta che sbizzarrirti con il codice Java per creare le tue esperienze personalizzate all’interno del titolo di Mojang.
Visto che sei un appassionato di Minecraft, ti consiglio di dare un’occhiata anche alla pagina del mio sito dedicata al gioco in questione, dove puoi trovare innumerevoli tutorial legati al titolo di Mojang.
Autore
Salvatore Aranzulla
Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.