Il Primo Plugin

Nikotecnology

Utente
4
4
SuperPack54
SuperPack54
IL PRIMO PLUGIN

Hai mai sognato di diventare uno sviluppatore provetto di plugin e mod minecraft?
Ecco questo non è il tutorial che ti serve per diventarlo.

Questo tutorial è indirizzato solo alle persone a cui piace imparare nuove cose come la programmazione applicata ad un gioco e soprattutto:

NON E' UN TUTORIAL DI JAVA

Cosa devi avere per iniziare?

  • Un Computer con almeno 2GB di ram e 5gb di disco libero
  • Una conoscenza Minima di Java (Bisogna almeno conoscere cosa sono gli oggetti)
  • Una Connessione ad Internet (Almeno inizialmente)
  • Molta Concentrazione (Quando si imparano cose nuove se ci si distrae si rischia di non ricordare più niente)

Iniziamo!



Fase 1 - Installazione dei Programmi Richiesti per iniziare


Inanzitutto dobbiamo installare la versione di java per gli sviluppatori detta JDK (Java Development Kit), questa versione dipende molto da quale versione di minecraft volete usare per sviluppare i vostri plugins, qui sotto un elenco con il download delle varie versioni:


- JDK 8 (1.8 - 1.16.5)
-
JDK 16 (1.17)
-
JDK 17 (1.18)


Dopo aver scaricato ed installato correttamente gli strumenti di sviluppo corretti, siamo pronti ad installare il nostro IDE(Integrated Development Enviroment), ovvero lo strumento che ci aiuterà nella costruzione del nostro primo plugin. Ce ne sono molti in commercio al momento, vi faccio qualche esempio:

- Eclipse
- Netbeans
- Intellij Idea

In questo tutorial userò Intellij Idea, siccome è il mio IDE preferito, ma sentitevi liberi di provarli tutti, magari il vostro preferito potrà essere un altro, però se volete capire al meglio questo tutorial vi consiglio di iniziare dal mio, poi in un secondo momento potrete provare gli altri.



Fase 2 - Creiamo il nostro progetto

Dopo aver installato il nostro IDE e dopo averlo aperto ci ritroveremo in una schermata molto simile a questa:

1657051828137.png

Se avete una schermata simile a questa siete al punto giusto, clicchiamo sul tasto "NEW PROJECT" dove avremo questa schermata:


1657047818156.png

Dovremo selezionare "New Project" se non è già selezionato.

Ecco i seguenti campi che dovremo compilare:
  • "Name": è il nome del nostro progetto, può essere qualsiasi cosa, ma è preferibile che il nome sia tutto attaccato
  • "Location": è la cartella dove verrà salvato il progetto, di base sarà: "C:\Users\<nomeAccount>\IdeaProjects"
  • "Language": è il linguaggio di programmazione che vogliamo usare, nel nostro caso, Java
  • "Build System"; è il nostro sistema di compilazione collegato alle librerie, vedremo in seguito come si usa, Selezionate Maven
  • "JDK": è la versione del pacchetto di sviluppo java che andremo ad usare, se avete seguito perfettamente la fase 1 troverete già la versione da voi installata



"Aspetta, Aspetta cos'è Maven?"
Maven è uno dei gestori dei progetti java basati sul modello POM, e ci servirà per installare le librerie base di Spigot e per compilare il nostro plugin, ce ne sono altri in giro per il web ma noi useremo questo per la sua semplicità.



Successivamente cliccate "CREATE" ed avrete questa schermata:

1657048429686.png


Qui vi ho descritto le basi dell'interfaccia dell'IDE e del Gestore dei progetti.



Fase 3 - Installiamo gli strumenti di sviluppo per Spigot

Ci sono molte API per comunicare con Minecraft però noi useremo quella base dell'era moderna, ovvero spigot.

Per installarla ci bastera aggiungere nel nostro file pom.xml queste righe sotto "properties"


XML:
<repositories>
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
    <repository>
        <id>sonatype</id>
        <url>https://oss.sonatype.org/content/groups/public/</url>
     </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.spigotmc</groupId>
        <artifactId>spigot-api</artifactId>
        <version>[versione]</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

Dopo aver aggiunto queste righe dovremmo sostituire [versione] con la versione che abbiamo scelto all'inizio, ovvero tra una di queste:

  • 1.8-R0.1-SNAPSHOT
  • 1.9-R0.1-SNAPSHOT
  • 1.10-R0.1-SNAPSHOT
  • 1.10.2-R0.1-SNAPSHOT
  • 1.11-R0.1-SNAPSHOT
  • 1.12-R0.1-SNAPSHOT
  • 1.12.2-R0.1-SNAPSHOT
  • 1.13-R0.1-SNAPSHOT
  • 1.14-R0.1-SNAPSHOT
  • 1.15.2-R0.1-SNAPSHOT
  • 1.16.5-R0.1-SNAPSHOT
  • 1.17-R0.1-SNAPSHOT
  • 1.17.1-R0.1-SNAPSHOT
  • 1.18.2-R0.1-SNAPSHOT

Dopo di chè clicchiamo sul pulsante comparso in alto a destra che ci permetterà di aggiornare le librerie locali(Voi avrete un'icona diversa):
1657048825066.png

Ora avrete installato con successo la libreria per iniziare lo sviluppo del primo plugin!




Fase 4 - Creiamo il nostro primo plugin!

Dopo aver installato la libreria di base per sviluppare plugin dobbiamo creare il file da dove tutto inizia, il file "Main" dove partirà il progetto che di solito viene chiamato con lo stesso nome del progetto, nel nostro caso sarà: "PrimoPlugin.java".

ora ci spostiamo sulla sinistra della schermata dell'ide dove c'è la sorgente del progetto, apriamo con un doppio click la cartella src e poi sulla cartella main, ora avremo 2 cartelle:


  • "java": conterrà tutti i file sorgente del progetto
  • "resources": conterrà le risorse del progetto(come il plugin.yml e il config.yml che vedremo in seguito)
Ora creiamo due nuove cartelle nella cartella java:
1657050043876.png
Che saranno le stesse che troviamo nel pom.xml come groupId, in questo caso le cartelle saranno: org ed example.

Creiamo le cartelle cliccando tasto destro sulla cartella java e ci comparirà questo:
1657050125595.png

Poi passando il mouse su New si aprirà un sotto menù che mostrerà questo:

1657050171659.png

Noi dovremmo cliccare "Package" e poi specificare il nome della cartella come visto prima.

Subito dopo nello stesso modo per creare una cartella invece di cliccare su Package cliccheremo su Java Class:


1657050286358.png

Dovremmo specificare il nome della classe che sarà lo stesso del nome del progetto ovvero nel nostro caso: "PrimoPlugin" e clicchiamo il tasto invio.

Java:
package org.example;

public class PrimoPlugin {
}


Ci ritroveremo così, ora dovremmo aggiungere i metodi base per far avviare il nostro plugin, inanzitutto dobbiamo estendere la classe alla classe "JavaPlugin" e poi dobbiamo fare l'override dei metodi onEnable ed onDisable

Java:
package org.example;

import org.bukkit.plugin.java.JavaPlugin;

public class PrimoPlugin extends JavaPlugin {

    @Override
    public void onEnable() {

    }

    @Override
    public void onDisable() {
       
    }
}

Ora saremo in questa situazione.




Fase Finale - Compilare il nostro plugin

Siamo quasi giunti al termine di questo tutorial, prima di terminare però bisogna sapere come compilare il nostro plugin.

Prima di tutto aggiungiamo nel metodo onEnable una stampa a video semplice come questa:


Java:
getLogger().info("Hello World!");

Dopo di che dobbiamo compilare il nostro plugin, come fare?

Dobbiamo creare una configurazione che si crea dal tasto in alto a destra della pagina con il nome: "ADD CONFIGURATION",

dopo aver cliccato avremo un'altra schermata dove troveremo un pulsante: "Add new" che dovremmo cliccare, poi clicchiamo su "Maven" (Scorrendo sotto) dovremmo impostare la pagina così:

1657051514545.png

E poi cliccare su "APPLY" e subito dopo su "OK".

Perfetto! Avrete creato la vostra configurazione, ora per eseguirla dovrete cliccare il tasto play verde che si trova vicino alle configurazioni.

E qui avverrà la compilazione del nostro progetto, infatti quando avremo un messaggio con scritto "BUILD SUCCESS" significherà che avremo compilato con successo il progetto, e troveremo il file eseguibile nella cartella target che si sarà creata.




Conclusioni

Grazie per aver letto questo tutorial, se sei arrivato fino alla fine senza problemi sei pronto per iniziare a sviluppare veri e propri plugin!

Se hai qualche dubbio o hai qualche problema in una delle fasi sii libero di scrivere nei commenti, sarò felice di risponderti.

Au revoir,

Nikotecnology
 

alessandrobasi

Membro molto attivo
Membro dello Staff
Admin
113
48
localhost
alessandrobasi.it
alessandrobasi
alessandrobasi
Per intellij è presente un plugin apposito per impostare il progetto iniziale che include in automatico la versione richiesta, spigot, paper, forge, e molti altri
 
  • Mi piace
Reactions: Wave

Nikotecnology

Utente
4
4
SuperPack54
SuperPack54
Per intellij è presente un plugin apposito per impostare il progetto iniziale che include in automatico la versione richiesta, spigot, paper, forge, e molti altri
Ne sono a conoscenza infatti se vedi è installato, però era per fare tutto da 0, perché prima di utilizzare le utilities bisogna partire dalle basi, però lo scriverò comunque nel tutorial
 
  • Mi piace
Reactions: alessandrobasi

Surfy

Appena registrato
Membro dello Staff
Admin
Founder Visionario
19
8
Milano
feargames.it
Discord
Surfy#8272
Surfy
Surfy
Consiglio vivamente l'utilizzo di gradle al posto di maven, è molto più comodo e veloce nella compilazione ;)
 

Surfy

Appena registrato
Membro dello Staff
Admin
Founder Visionario
19
8
Milano
feargames.it
Discord
Surfy#8272
Surfy
Surfy
Gradle è sicuramente più veloce nella compilazione, però credo che maven all’inizio sia più semplice da comprendere
Io credo invece che per un beginner risulti più semplice comprendere questo:
1657110380832.png

di questo:
1657110426211.png

Chiaramente poi va in base alle esigenze e al rapporto che si inizia a costruire con lo sviluppo stesso di qualcosa.