Domanda Risolto Aiuto Su Plugin Spigot

Stato
Discussione chiusa ad ulteriori risposte.

DeeJack

Utente Electrum
25 Agosto 2015
409
25
43
124
Ultima modifica:
Premetto che non so se è la sezione giusta, non so se questa sezione è solo per le relase, se devo metterla in "java" o cosa, comunque questo è il problema:
Come faccio a fare in modo che se viene messo il comando senza sottocomandi si eseguono certe cose? Io avevo fatto così:
Java:
if(args.length == 0){
                    if(player.isInvulnerable() == false){
                        player.setAllowFlight(true);
                        player.setInvulnerable(true);
                        player.setHealth(20);
                        player.setFoodLevel(20);
                        target.setSaturation(20);
                        player.sendMessage(ChatColor.RED + "[GOD]" + ChatColor.GOLD + "Modalità DIO abilitata");
                    }
                    else{
                        player.setAllowFlight(false);
                        player.setInvulnerable(false);
                        target.setSaturation(0);
                        player.sendMessage(ChatColor.RED + "[GOD]" + ChatColor.GOLD +"Modalità DIO disabilitata");
                      
                    }
                return true;
                }
Ma mi da' questo errore quando faccio "/god"
http://prntscr.com/cntuxu
E nella console:
http://prntscr.com/cntv5q

Se invece inserisco ad esempio "/god DeeJack2" funziona perfettamente.
Grazie per l'aiuto
Edito Taggando @AlessioDP perché Sì.
 
Ho risolto, il problema prativamente erano queste 2 stringhe:
Java:
Player player = (Player) sender;
Player target = Bukkit.getPlayerExact(args[0]);
Non so perchè incasinavano tutte, le ho quindi messe in ogni ciclo, è più brutto ma funziona!
Ho letto lo scopo di questa sezione comunque, cioè di postare release. Io chiudo la discussione, pregherei uno staffer di spostarla in una sezione adeguata. Grazie.
@Stefano Novelli @AlessioDP @Valley @QualcheModeratoreCheNonConosco
 
L'errore in console mi sembra un altro.
La cosa migliore che puoi fare è mettere l'intero class in un pastebin e passare il link qui.
Così che posso vedere la riga esatta dell'errore.

Se hai risolto il problema in quel modo ti spiego il problema:
Probabilmente perchè non hai inserito "argomenti", quindi solamente /god, sei andato fuori array (args[0]). La cosa che avresti dovuto fare è mettere una if prima per assicurarti che l'utente abbia inserito qualcosa dopo il comando.
 
L'errore in console mi sembra un altro.
La cosa migliore che puoi fare è mettere l'intero class in un pastebin e passare il link qui.
Così che posso vedere la riga esatta dell'errore.
Credo(non ho più il programma di prima ma credo fosse così) :

Se hai risolto il problema in quel modo ti spiego il problema:
Probabilmente perchè non hai inserito "argomenti", quindi solamente /god, sei andato fuori array (args[0]). La cosa che avresti dovuto fare è mettere una if prima per assicurarti che l'utente abbia inserito qualcosa dopo il comando.
In che modo dovevo metterlo?
 
Credo(non ho più il programma di prima ma credo fosse così) :


In che modo dovevo metterlo?

Il codice non è formattato tanto bene. Ma dovresti fare Player target = Bukkit.getPlayer(args[0]); solamente dopo che ti sei assicurato che args.length è maggiore di 0.
 
Stato
Discussione chiusa ad ulteriori risposte.