Solved Cannot trace runtime error

Discussion in 'Plugin Development' started by CrazyYoungBro, Jun 13, 2016.

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

    CrazyYoungBro

    Hey,
    I'm unable to trace the runtime error in my code. It'd be greatly appreciated if anyone can find it.
    Code:
    package me.arihant.playerhelp;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class PlayerHelp extends JavaPlugin{
    
        public void onEnable() {
            Bukkit.getServer().getLogger().info("PlayerHelp Enabled!");
        }
        public void onDisable() {
            Bukkit.getServer().getLogger().info("PlayerHelp Disabled!");
        }
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
           
            if(!(sender instanceof Player)) {
                sender.sendMessage(ChatColor.RED + "Command only for players!");
                return true;
            }
            Player p = (Player) sender;
            String message = "";
           
           
            if(cmd.getName().equalsIgnoreCase("a")) {
               
                if(args.length == 0) {
                    p.sendMessage(ChatColor.RED + "Usage: /<command> <message>");
                    return false;
                }
               
                for(int i= 1; i <= args.length; i++) {
                    message +=  args[i] + " ";
                }
           
               
                for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
                    if(onlinePlayer.hasPermission("ph.view"))
                    {
                        if(p.hasPermission("ph.member")) {
                            onlinePlayer.sendMessage(ChatColor.WHITE + "Member " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                        }
                        else if(p.hasPermission("ph.ultra")) {
                            onlinePlayer.sendMessage(ChatColor.AQUA + "Ultra " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                        }
                        else if(p.hasPermission("ph.mega")) {
                            onlinePlayer.sendMessage(ChatColor.GREEN + "Mega " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                        }
                        else if(p.hasPermission("ph.omega")) {
                            onlinePlayer.sendMessage(ChatColor.RED + "Omega " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                        }
                        else if(p.hasPermission("ph.delta")) {
                            onlinePlayer.sendMessage(ChatColor.WHITE + "Del" + ChatColor.AQUA + "ta" + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                        }
                   
                    }
                }
                
                return true;
            }
           
            if(cmd.getName().equalsIgnoreCase("ma")) {
                if(!(p.hasPermission("ph.ma"))) {
                    p.sendMessage(ChatColor.BLUE + "Permissions> " + ChatColor.GRAY + "You do not have access to this command!");
                    return true;
                }
                if(args.length == 0) {
                    p.sendMessage(ChatColor.RED + "Usage: /<command> <player> <message>");
                    return false;
                }
               
               
               
                @SuppressWarnings("deprecation")
                Player target = Bukkit.getServer().getPlayer(args[0]);
                if (target == null) {
                        sender.sendMessage(ChatColor.RED + "Could not find player " + args[0] + "!");
                        return true;
                }
               
               
                for(int i= 2; i < args.length; i++) {
                    message += args[i] + " ";
                }
               
               
                    if(p.hasPermission("ph.trainee")) {
                        target.sendMessage(ChatColor.DARK_AQUA + "Trainee " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                    }
                    else if(p.hasPermission("ph.mod")) {
                        target.sendMessage(ChatColor.GOLD + "Mod " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                    }
                    else if(p.hasPermission("ph.srmod")) {
                        target.sendMessage(ChatColor.GOLD + "Sr.Mod " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                    }
                    else if(p.hasPermission("ph.admin")) {
                        target.sendMessage(ChatColor.DARK_RED + "Admin " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                    }
                    else if(p.hasPermission("ph.leader")) {
                        target.sendMessage(ChatColor.DARK_RED + "Leader " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                    }
                    else if(p.hasPermission("ph.owner")) {
                        target.sendMessage(ChatColor.DARK_RED + "Owner " + p.getName() + ChatColor.LIGHT_PURPLE + " --> " + message);
                    }
                    else if(p.hasPermission("ph.builder")) {
                        target.sendMessage(ChatColor.BLUE + "Builder " + p.getName() + " --> " + message);
                    }
                    else if(p.hasPermission("ph.youtube")) {
                        target.sendMessage(ChatColor.RED + "Youtube " + p.getName() + " --> " + message);
                    }
               
                return true;
            }
           
            return false;
        }
       
    }
    
     
  2. Offline

    timtower Administrator Administrator Moderator

  3. Offline

    CrazyYoungBro

    @timtower
    [00:20:54 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'a' in plugin PlayerHelp v1.3
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at me.incomprehendable.dev.pwp.FakeSimpleCommandMap.dispatch(FakeSimpleCommandMap.java:98) ~[?:?]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_91]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_91]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_91]
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
    at me.arihant.playerhelp.PlayerHelp.onCommand(PlayerHelp.java:37) ~[?:?]
    at org.bukkit.command.Pl
     
  4. Offline

    timtower Administrator Administrator Moderator

  5. Offline

    CrazyYoungBro

    Just that?
     
  6. Offline

    timtower Administrator Administrator Moderator

  7. Offline

    CrazyYoungBro

    @timtower Thank you.
    Still a problem! /ma <player> x y only return y. X isn't showing up
     
  8. Offline

    timtower Administrator Administrator Moderator

Thread Status:
Not open for further replies.

Share This Page