Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
Ospite

Sponge e le tecniche di programmazione

Domanda

Ospite

Sponge (https://www.spongepowered.org/) è una nuova piattaforma server per Minecraft, nata dalla collaborazione degli (ex?) sviluppatori di Bukkit, Spigot e altri numerosi sviluppatori volontari. E' nato sotto licenza MIT per limitare sul nascere i problemi di licenza che stanno mettendo in ginocchio Bukkit e Spigot.

Sponge è ancora in fase di sviluppo ma di recente è uscita la prima versione delle API ed è disponibile il JavaDoc ufficiale.

Per chi volesse passare dalla programmazione di plugin Bukkit a quella Sponge scrivo questo breve tutorial, che spero di poter aggiornare al più presto tenendolo al corrente dei futuri sviluppi.

 

1. Ambiente di sviluppo

Potete utilizzare qualsiasi IDE Java, come Eclipse, IntelliJ e via dicendo.

Potete scaricare facilmente il file .jar delle API da implementare nel progetto dal Git non ufficiale.

 

2. Il file config.yml

Il nostro amato file config.yml è scomparso! Al suo posto devono essere fatte delle definizioni nella classe principale, come vedremo in seguito.

 

3. La classe principale

Nella classe principale del nostro progetto dobbiamo definire le variabili del nostro plugin: l'id, il nome, la versione e le dipendenze.

@Plugin(id = "ExamplePlugin", name = "Example", version = "1.0", dependencies = "")

Naturalmente queste vanno inserite prima dell'inizio della classe.

Quando avete fatto ciò vi chiederete: "Come uso gli eventi onEnable e onDisable, tanto amati in Bukkit?". Questi due eventi sono stati rimpiazzati dagli eventi stile Forge seguenti:

  • ServerAboutToStartEvent
  • ServerStartingEvent
  • ServerStartedEvent
  • ServerStoppingEvent
  • ServerStoppedEvent

4. Esempio classe Main

package eu.jardev.debitcard;

import java.util.logging.Logger;
import org.spongepowered.api.Game;
import org.spongepowered.api.event.state.PreInitializationEvent;
import org.spongepowered.api.event.state.ServerStartingEvent;
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.util.event.Subscribe;

@Plugin(id = "debitcard", name = "DebitCard", version="1.0.0")

public class MainSponge {

	@Subscribe
	public void onPreInitialization(PreInitializationEvent event){

	}
		
	@Subscribe
	public void onServerStarting(ServerStartingEvent event) {

		
	}
}

Per ora è tutto, Sponge è ancora agli albori e non me la sento di pubblicare il resto del tutorial visto che le cose potrebbero cambiare notevolmente!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

0 risposte a questa domanda

Recommended Posts

Non ci sono ancora state risposte a questa domanda


  • Chi sta navigando   0 utenti

    Nessun utente registrato visualizza questa pagina.


  • Contenuti simili

    • Da DeltaForce07
      ho bisogno a solutamente un plugin per vendere gli oggetti della pixelmon e ottenere i pokedollari qualcuno sa il nome?
       
    • Da Ryangamer2
      Esiste un plugin che faccia sì che nel mio server in un mondo si possa entrare con tutte le versioni ed in un altro solo in una versione?
      se me dite se ce un plugin o modificare dai file 
      vi ringranzio in anticipo
    • Da TheTecnoCreeper
      Ciao! Sto cercando un buon AntiCheat gratis che però funzioni bene e faccia il suo lavoro, per minecraft 1.17 / 1.18.

      Grazie.
       
    • Da Lollo005
      ciao, volevo sapere se qualcuno conosceva un plugin o un impostazione che possa fare un suono quando una persona viene taggata in chat o gli arriva un msg vi prego aiutatemi
      grazie in anticipo per la risposta
    • Da Soler5333
      Salve a tutti ,  avrei bisogno di aiuto , la questione al riguardo è il come posso eliminare il restante di una mappa? esempio .... (voglio far rimanere solo quella parte di mondo) il resto voglio eliminarlo (far rimanere solo il void) . esiste qualche plugin / metodo ? per favore ho bisogno di un aiuto immediato .
×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.