Internal Error

Discussion in 'Plugin Help/Development/Requests' started by bubblefat_, Jun 26, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    bubblefat_

    I'm making a /msg command, and it works fine besides when you do /m without any agrs. Its supposed to show you the commands usage but instead an Internal Error happens.

    Console Error:
    Code:
    [15:17:24 INFO]: LazerShadow issued server command: /m
    [15:17:24 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'm' in plugin CreativeTimes v2.0.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Bukkit-7723b90]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[spigot.jar:git-Bukkit-7723b90]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:621) ~[spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1079) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:939) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Bukkit-7723b90]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_45]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:676) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:632) [spigot.jar:git-Bukkit-7723b90]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:540) [spigot.jar:git-Bukkit-7723b90]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at com.creativetimesmc.Commands.Message.Message.onCommand(Message.java:32) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Bukkit-7723b90]
        ... 15 more
    and the commands code:

    Code:
            String commandUsage = (prefix.commandCenter + "Message Command List: \n  §a/message <player> <message>\n  §a/reply <message>");
    
            if (cmd.getName().equalsIgnoreCase("message")) {
               
                if(!(sender instanceof Player)){
                    sender.sendMessage(prefix.commandCenter + "This is a player only command.");
                    return true;
                } else{
                    Player player = (Player) sender;
                    Player target = Bukkit.getServer().getPlayer(args[0]);
                   
                    if(args.length > 2){
                    String message = "";
                    for (int i = 1; i != args.length; i++)
                    message += args[i] + " ";
    
                   
                    if(target !=null){
                        target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + message);
                        player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + message);
                        target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                        replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                    }
                   
                    else{
                        player.sendMessage(Failed.failedFindPlayer);
                    }
                }
                   
                    else if(args.length == 1){
                        if(target !=null){
                            Random random = new Random();
                            int randomtp;
                            for(int counter = 1; counter <= 1; counter++){
                                randomtp = 1 + random.nextInt(13);
                               
                                if(randomtp == 1){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "U WOT M9!??!?!");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "U WOT M9!??!?!");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
                               
                                else if(randomtp == 2){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Do you even minecrafts?");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Do you even minecrafts?");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
                               
                                else if(randomtp == 3){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Do you belive in ghosts?");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Do you belive in ghosts?");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
                                else if(randomtp == 4){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "You're using you're wrong");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "You're using you're wrong");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 5){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "I forgot to type a message so it's sending you this.");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "I forgot to type a message so it's sending you this.");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 6){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Fun Fact: Outdated is running an outdated version");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Fun Fact: Outdated is running an outdated version");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 7){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "wat is your 19 fav color?");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "wat is your 19 fav color?");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 8){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Do you even pvp bruh?");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "Do you even pvp bruh?");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 9){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "I love this server!");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "I love this server!");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 10){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "How do you private message someone?");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "How do you private message someone?");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 11){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "What is my name? I forgot!");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "What is my name? I forgot!");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 12){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "HELP!!!!");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "HELP!!!!");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
                                else if(randomtp == 13){
                                    target.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "" + ChatColor.BOLD + player.getName() + " >> You" + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "MIND THE CAPS!!!");
                                    player.sendMessage(ChatColor.DARK_GREEN + "[" + ChatColor.GREEN + "§lYou >> " + target.getName() + ChatColor.DARK_GREEN + "] " + ChatColor.GRAY + "MIND THE CAPS!!!");
                                    target.playSound(target.getLocation(), Sound.NOTE_PLING, 2, 2);
                                    replyPlayer.put(player.getUniqueId(), target.getUniqueId());
                                }
    
    
                               
                            }
                        }
                       
                        else{
                            player.sendMessage(Failed.failedFindPlayer);
                        }
                    }
                   
                    else {
                        player.sendMessage(commandUsage);
                    }
    
                return true;   
                }
            }
     
  2. Offline

    wesley27

    @bubblefat_
    You have code telling the plugin command what to do if args.length ==1, and if args.length > 2. However, there's nothing telling the plugin what to do when there aren't any arguments. Hence, the array exception that was thrown. You need to add some sort of clause thats if(args.length < 1), maybe send the player the message with the correct usage, or at least return false(if you have the usage defined in the plugin.yml)
     
Thread Status:
Not open for further replies.

Share This Page