Ir para conteúdo
  • 0

[Resolvido] Erro no codigo


Guest VitorEmanoel

Pergunta

Guest VitorEmanoel

Criei um codigo bem simples porém ele esta com erro, me ajudem.

 

Codigo:

ArrayList<Player> TellOff = new ArrayList<>();
	
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		if(cmd.getName().equalsIgnoreCase("tell")||cmd.getName().equalsIgnoreCase("pm")||cmd.getName().equalsIgnoreCase("msg")){
			if(sender instanceof Player){
				Player p = (Player)sender;
				Player p2 = Bukkit.getPlayer(args[0]);//Linha 22
				if(args.length == 0){
					p.sendMessage("§eUse: §f/tell (player) (mensagem)");
				}
				if(args[0].equalsIgnoreCase("off")){
					if(!TellOff.contains(p)){
						TellOff.add(p);
						p.sendMessage("Agora voce nao recebera mais mensagens privadas");
					}
				}
				if(args[0].equalsIgnoreCase("on")){
					if(TellOff.contains(p)){
						TellOff.remove(p);
						p.sendMessage("Agora voce recebera mensagens privadas");
					}
				}
				if(args.length >= 1){
					if(!(p2 == p)){
						if(p2.isOnline()){
							if(!(TellOff.contains(p))){
								String msg = "";
							    for (int i = 1; i < args.length; i++) {
							    	msg = msg + args[i] + " ";
							    }
							    p.sendMessage("§3Para §f" + p2.getDisplayName() + " §f: " + msg);
							    p2.sendMessage("§3De §f" + p.getDisplayName() + " §f: " + msg);
							}else{
								p.sendMessage("§cEste player esta com tell desligado");
							}
						}else{
							p.sendMessage("§cEste player nao esta online");
						}
					}else{
						p.sendMessage("§cVoce nao pode mandar mensagem para si mesmo");
					}
				}
			}else{
				sender.sendMessage("Voce nao pode fazer isso no console");
			}
		}

Erro

[02:52:58] [Server thread/INFO]: VitorEmanoel issued server command: /tell
[02:52:58] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'tell' in plugin ProjectChat v1.0
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot_server.jar:git-Spigot-604e046-4831c56]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot_server.jar:git-Spigot-604e046-4831c56]
	at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) ~[spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1302) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1137) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_60]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_60]
	at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:716) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:655) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:554) [spigot_server.jar:git-Spigot-604e046-4831c56]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_60]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
	at Tell.Tell.onCommand(Tell.java:22) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot_server.jar:git-Spigot-604e046-4831c56]
	... 15 more

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

Não entendi muito bem, se der um exemplo é mais fácil de entender.

Ao invés disso:

Player p = (Player)sender;
p2 = Bukkit.getPlayer(args[0]);//Linha 22
if(args.length == 0){
	p.sendMessage("§eUse: §f/tell (player) (mensagem)");
}

Coloque isso:

if(args.length == 0){
	p.sendMessage("§eUse: §f/tell (player) (mensagem)");
	return true;
}
Player p = (Player)sender;
p2 = Bukkit.getPlayer(args[0]);
Link para o comentário
Compartilhar em outros sites

Guest VitorEmanoel

Você não está chegando os argumentos, se o player usar /msg ele vai pegar o player de todo jeito, por isso o erro Array...

Não entendi muito bem, se der um exemplo é mais fácil de entender.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...