Intro a Spigot API
Cos’è la Spigot API?
Spigot (e il suo fork Paper) è un’API che avvolge il server vanilla di Minecraft, permettendo agli sviluppatori di intercettare eventi e modificare il mondo senza toccare il codice offuscato del gioco.
Setup Progetto
Si usa Maven o Gradle.
Esempio pom.xml (Maven):
```xml
[!TIP] Usa sempre Paper API invece di Spigot API se possibile. Offre metodi più moderni (Component API per chat colorata, async chunk loading API) e performance migliori.
La Classe Principale
Ogni plugin deve estendere JavaPlugin.
```java package com.example.myplugin;
import org.bukkit.plugin.java.JavaPlugin;
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("Plugin abilitato!");
// Registra comandi ed eventi qui
}
@Override
public void onDisable() {
getLogger().info("Plugin disabilitato!");
// Chiudi connessioni database o salva dati
}
} ```
Le logiche di gioco in Spigot sono single-threaded (Main Thread/Server Thread). Mai bloccare questo thread (es. Thread.sleep o query DB lunghe)!