[Guida] Creare un plugin bukkit #5 - Il ritorno&Scoreboard Manager(parte 1/2)!

  • Pagine (2):
  • 1
  • 2
  • »
Buongiorno a tutti!
Oggi proseguo (finalmente) la mia guida ferma da tempo immemore su come creare un plugin Bukkit, richiesta dall'utente @BaluMonster 

In questa guida andremo ad analizzare come gestire le scoreboard(parte 1/2) con un plugin e andremo a creare una simpatica healt bar ( @filoghost perdonami)
PASSO 1 - Scoreboard Manager!
Presumo che abbiate già letto le altre guide, quindi andiamo subito ad inserire lo scoreboard Manager, che ci consentirà di gestire le scoreboard, con il seguente codice:
Codice:
ScoreboardManager MSM = Bukkit.getScoreboardManager();
Modificate MSM con il nome che volete dare al Manager, ovviamente ricordatevi di usarlo UGUALE E IDENTICO anche nel resto del plugin Wink.
PASSO 2 - Creiamo una scoreboard!
Andiamo ora a creare una scoreboard:
Codice:
Scoreboard MSB = MSM.getNewScoreboard();
Stessa cosa per MSB, modificate il nome come volete.
PASSO 3 - Aggiungiamo un obbiettivo!
Ora andiamo a registrare un obbiettivo:
Codice:
Objective MOB = MSB.registerNewObjective("nome", "criteria")
Anche qui potete modificare MOB
PASSO 4 - Operazioni con gli obbiettivi
Possiamo quindi fare alcune operazioni con gli obbiettivi, come settargli lo slot in cui si troveranno:
Codice:
objective.setDisplaySlot(DisplaySlot.NOMESLOT);
o il nome sul display:
Codice:
objective.setDisplayName("NOMESULDISPLAY");
Ok, per oggi finisco qui la parte del codiceutilechepuoiinfilareovunquesenzaesempi e passo alla parte in cui vi faccio mostro come creare una semplice healt bar usando le scoreboard:
Codice:
ScoreboardManager MSM = Bukkit.getScoreboardManager(); //registriamo lo scoraboard manager
Scoreboard MSB = MSM.getNewScoreboard(); //registriamo la scoreboard
 
Objective vita = board.registerNewObjective("vita", "health"); //registriamo l'obbiettivo vita
objective.setDisplaySlot(DisplaySlot.BELOW_NAME); //settiamo lo slot sotto il nome
objective.setDisplayName("/ 20 Vita"); //settiamo il nome sul display
 
for(Player online : Bukkit.getOnlinePlayers()){ //otteniamo i players online
  online.setScoreboard(MSB); //settiamo a quelli online la scoreboard
  online.setHealth(online.getHealth()); //Aggiorniamo con la loro vita
}

Per oggi abbiamo finito, nella prossima parte (che con tutta probabilità uscirà domani) vedremo
  • Teams
  • Custom Scores
  • Modificare i valori degli obbiettivi
Guida creata da Alberto01 alias ALCC01
Il codice può non essere creato totalmente da me, ma le spiegazioni e le integrazioni sono pensate da me.
Guida precedente - Guida successiva (Modificato 31/12/2013, 11:32 da ALCC01.)
Non rispondo a richieste di supporto in privato!

Moderatore&Neswer
Sviluppatore

1 utente apprezza questo post
Qual è la differenza rispetto ai 2 comandi vanilla

/scoreboard objectives add Vita health

e

/scoreboard objectives setdisplay belowName Vita

? (Modificato 30/12/2013, 22:41 da MandelCube.)
@Mandelcube volevo inserirlo, ma me ne sono dimenticato
Citazione:Mandelcube, so benissimo che si può fare anche in vanilla, ma ci sono nabbi che Minecraft Wiki non l'hanno mai vista.
Comunque, mi sembra anche abbastanza utile, quello della vita è solo un esempio, molti plugin usano le scoreboard e molti pensano che sia tecnologia aliena. Volevo solo sfatare il mito.
Non rispondo a richieste di supporto in privato!

Moderatore&Neswer
Sviluppatore

30/12/2013, 22:38Mandelcube ha scritto: Qual è la differenza rispetto ai 2 comandi vanilla

/scoreboard objectives add Vita health

e

/scoreboard objectives setdisplay belowName Vita

?
E' una domanda? Se sì ti rispondo: la prima crea l'obbiettivo; la secondala imposta nel display, in questo caso sotto il nome.
Me non comprende

30/12/2013, 22:42LelixSuper ha scritto:
30/12/2013, 22:38Mandelcube ha scritto: Qual è la differenza rispetto ai 2 comandi vanilla

/scoreboard objectives add Vita health

e

/scoreboard objectives setdisplay belowName Vita

?
E' una domanda? Se sì ti rispondo: la prima crea l'obbiettivo; la secondala imposta nel display, in questo caso sotto il nome.

Ho chiesto la differenza fra gli 8 comandi + installazione plug in detti da Alberto rispetto ai 2 comandi vanilla. Che senso ha la tua risposta ? (Modificato 30/12/2013, 22:45 da MandelCube.)
1 utente apprezza questo post
@Mandelcube per completezza, andava inserito Wink
Io faccio l'opposto di quello che fai te: te riproduci i plugin in vanilla, io riproduco il vanilla in modo semplice nei plugin.
Non rispondo a richieste di supporto in privato!

Moderatore&Neswer
Sviluppatore

30/12/2013, 22:46Alberto01 ha scritto: @Mandelcube per completezza, andava inserito Wink
Io faccio l'opposto di quello che fai te: te riproduci i plugin in vanilla, io riproduco il vanilla in modo semplice nei plugin.

Ma tu usi 8 comandi e devi installare qualcosa, io uso 2 comandi ottenendo gli stessi risultati.

Non c'è un pò troppa disparità fra i 2 metodi ? O_o
30/12/2013, 22:44Mandelcube ha scritto: Me non comprende

30/12/2013, 22:42LelixSuper ha scritto:
30/12/2013, 22:38Mandelcube ha scritto: Qual è la differenza rispetto ai 2 comandi vanilla

/scoreboard objectives add Vita health

e

/scoreboard objectives setdisplay belowName Vita

?
E' una domanda? Se sì ti rispondo: la prima crea l'obbiettivo; la secondala imposta nel display, in questo caso sotto il nome.

Ho chiesto la differenza fra gli 8 comandi + installazione plug in detti da Alberto rispetto ai 2 comandi vanilla. Che senso ha la tua risposta ?
Non ha senso la mia risposta Tongue
Mandel magari fai un minigame, e ti serve più di una scoreboard...come fai in vanilla?
[Immagine: filoghost] filoghost
 
30/12/2013, 23:18filoghost ha scritto: Mandel magari fai un minigame, e ti serve più di una scoreboard...come fai in vanilla?

Quello è un altro discorso. In vanilla mi limiterei a far girare le varie scoreboard con un clock ma ammetto che è un pò scomodo.

Qui si parlava solo di far venire la vita sopra la testa dei player :3
  • Pagine (2):
  • 1
  • 2
  • »
Discussioni simili
Ultimo: gumu
2 ore fa
Ultimo: ViperKey_
4 ore fa
 
[Risolto] Plugin EggWars
Ultimo: Maxetto
15/10/2017, 19:27
Ultimo: craftcri_
15/10/2017, 10:31

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)