ninho42 Postado Setembro 27, 2016 Denunciar Compartilhar Postado Setembro 27, 2016 (editado) Nome Do Plugin: Vanish Versão 1.0 Problema: Quando digito /v da um erro Erro: org.bukkit.command.CommandException: Unhandled exception executing command 'vanish:vanish' in plugin Vanish v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServer.java:523) at net.minecraft.server.v1_5_R3.PlayerConnection.handleCommand(PlayerConnection.java:965) at net.minecraft.server.v1_5_R3.PlayerConnection.chat(PlayerConnection.java:883) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:840) at net.minecraft.server.v1_5_R3.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.NullPointerException at com.ninhodev.vanish.Main.onCommand(Main.java:89) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more Código: package com.ninhodev.vanish; import java.io.File; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.plugin.java.JavaPlugin; /** * * @author ninho */ public class Main extends JavaPlugin implements Listener{ Player[] jogador = null; boolean[] cmdsdesativados = null; boolean[] cmdsdesativadosjoin = null; int qntvanish = 0; public void onJoin(PlayerJoinEvent e) { int i = 0; int j = 0; while ((jogador[i] == null) == false) { if (cmdsdesativados[i] == true) { e.getPlayer().kickPlayer("§4Você esqueceu de desligar o vanish ao sair!"); cmdsdesativados[i] = false; } else { int z = 0; while (qntvanish > z) { while (cmdsdesativados[j] == false) { j++; } jogador[i].hidePlayer(jogador[j]); } } i++; j = i; } jogador[i] = e.getPlayer(); } public void onLeave(PlayerQuitEvent e) { int i = 0; while ((jogador[i] == e.getPlayer()) == false) { i++; } jogador[i] = null; cmdsdesativados[i] = false; } @Override public void onEnable() { getServer().getPluginManager().registerEvents(this, this); if (new File(getDataFolder(), "config.yml").exists() == false) { saveDefaultConfig(); } ConsoleCommandSender inicio = Bukkit.getConsoleSender(); inicio.sendMessage("§4[Vanish] §aO plugin vanish foi iniciado com sucesso!"); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args){ if (command.getName().equalsIgnoreCase("Vanish") || command.getName().equalsIgnoreCase("V")) { Player p = (Player) sender; if (p.hasPermission("HarlowCraft.Vanish")) { if (p.getPlayerListName().equals("Teste")) { int i = 0; while ((jogador[i] == p) == false) { i++; } cmdsdesativados[i] = false; for (Player player: Bukkit.getOnlinePlayers()) { player.showPlayer(p); } qntvanish--; p.setPlayerListName(p.getName()); p.sendMessage(getConfig().getString("Prefixo").replace("&", "§") + getConfig().getString("MensagemDesligouVanish").replace("&", "§")); } else { int i = 0; while ((jogador[i] == p) == false) { i++; } cmdsdesativados[i] = true; for (Player player: Bukkit.getOnlinePlayers()) { player.hidePlayer(p); } p.setPlayerListName("Teste"); qntvanish++; p.sendMessage(getConfig().getString("Prefixo").replace("&", "§") + getConfig().getString("MensagemLigouVanish").replace("&", "§")); } } } return false; } } OBS: Mudar o nome do tab era só um teste que eu fiz em breve tenho em mente tirar o nome do player do tab Editado Setembro 27, 2016 por ninho42 Link para o comentário Compartilhar em outros sites More sharing options...
Guest Neitan96 Postado Setembro 27, 2016 Denunciar Compartilhar Postado Setembro 27, 2016 Esqueceu de inicializar as variáveis: Player[] jogador = null;boolean[] cmdsdesativados = null;boolean[] cmdsdesativadosjoin = null; Array e List são coisas diferentes, array você deve definir um tamanho que não muda, List tem tamanhos dimamicos, veja qual você quer e tenta achar algum tutor na net de como usar Array ou List(ArrayList). Link para o comentário Compartilhar em outros sites More sharing options...
Arkasher Postado Setembro 27, 2016 Denunciar Compartilhar Postado Setembro 27, 2016 Qual é a linha 89? Link para o comentário Compartilhar em outros sites More sharing options...
DeathRush Postado Setembro 27, 2016 Denunciar Compartilhar Postado Setembro 27, 2016 em vez de criar 2 comando, cria apenas 1 e faz aliases no plugin.yml Link para o comentário Compartilhar em outros sites More sharing options...
ninho42 Postado Setembro 27, 2016 Autor Denunciar Compartilhar Postado Setembro 27, 2016 em vez de criar 2 comando, cria apenas 1 e faz aliases no plugin.yml Não é isso que está causando o erro! Pois sempre fiz desse jeito em outros pls e funciona corretamente Link para o comentário Compartilhar em outros sites More sharing options...
Lüigi! Postado Setembro 27, 2016 Denunciar Compartilhar Postado Setembro 27, 2016 Alguma coisa da linha 89 esta nula... (ajudaria saber o que esta na linha 89) Link para o comentário Compartilhar em outros sites More sharing options...
ninho42 Postado Setembro 27, 2016 Autor Denunciar Compartilhar Postado Setembro 27, 2016 (editado) Alguma coisa da linha 89 esta nula... (ajudaria saber o que esta na linha 89) 89 : while ((jogador == p) == false) { Linha de declaração da variavel: Player[] jogador = null; Editado Setembro 27, 2016 por ninho42 Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Setembro 29, 2016 Denunciar Compartilhar Postado Setembro 29, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.Atenciosamente,Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ninho42
Nome Do Plugin: Vanish
Versão 1.0
Problema: Quando digito /v da um erro
Erro:
Código:
OBS: Mudar o nome do tab era só um teste que eu fiz em breve tenho em mente tirar o nome do player do tab
Editado por ninho42Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados