Errors on /report...

Discussion in 'Plugin Help/Development/Requests' started by SilverOlympus, Dec 10, 2014.

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

    SilverOlympus

    Code:
        @SuppressWarnings("deprecation")
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
    
            if (cmd.getName().equalsIgnoreCase("report")) {
                Player target = Bukkit.getPlayer(args[0]);
                if (sender instanceof Player) {
                        if (args.length <= 1) {
                            if (target == null) {
                                sender.sendMessage(ChatColor.GREEN
                                        + "[MCBReport] "
                                        + ChatColor.YELLOW
                                        + "The player '"
                                        + args[0]
                                        + "' cannot be found! Are you spelling their name right?");
                            } else {
                                sender.sendMessage(ChatColor.GREEN
                                        + "[MCBReport] "
                                        + ChatColor.YELLOW
                                        + "You've entered "
                                        + target.getName()
                                        + " for a report. However you need to add a reason.\n /report <Player> <Reason>");
                            }
                        } else {
                            if (args.length >= 2) {
                                if (target == null) {
                                    sender.sendMessage(ChatColor.GREEN
                                            + "[MCBReport] "
                                            + ChatColor.YELLOW
                                            + "The player "
                                            + args[0]
                                            + " cannot be found! Are you spelling their name right?");
                                } else {
                                    StringBuilder x = new StringBuilder();
                                    for (int i = 1; i < args.length; i++) {
                                        x.append(args[i] + " ");
                                    }
                                    sender.sendMessage(ChatColor.GREEN
                                            + "[MCBReport] " + ChatColor.GOLD
                                            + "The player " + ChatColor.RED
                                            + target.getName() + ChatColor.GOLD
                                            + " has been reported for '"
                                            + ChatColor.RED + x.toString().trim()
                                            + ChatColor.GOLD + "'!");
                                    for (Player staff : Bukkit.getOnlinePlayers()) {
                                        if (staff.hasPermission("")){
                                            sender.sendMessage(ChatColor.GREEN
                                                    + "[MCBReport] " + ChatColor.GOLD
                                                    + "The player " + ChatColor.RED
                                                    + target.getName() + ChatColor.GOLD
                                                    + " has been reported for '"
                                                    + ChatColor.RED + x.toString().trim()
                                                    + ChatColor.GOLD + "' by "+ ChatColor.GREEN+ sender.getName());
                                        }
                                    }
                                }
                            }
                        }
                    }
                } else {
                    sender.sendMessage(ChatColor.GREEN
                            + "[MCBReport] "
                            + ChatColor.YELLOW
                            + "Why are you trying to report someone from the console? Nub.");
                }
    
           
            return false;
    
        }
    So, i've been trying to figure out why i'm getting an error here... When I do /report i get the internal error message, however every other feature of the code works 100%. Can you help me out on this? Thanks!
     
  2. Offline

    teej107

  3. Offline

    HeadGam3z

    args[0] doesn't exist if you just use /report. e_e
     
  4. Offline

    SilverOlympus

    Code:
    [19:50:30 INFO]: Silver_Olympus issued server command: /report
    [19:50:30 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'repo
    rt' in plugin MCBReport v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spi
    got.jar:git-Spigot-1649]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18
    1) ~[spigot.jar:git-Spigot-1649]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServe
    r.java:767) ~[spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerCon
    nection.java:1043) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java
    :880) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat
    .java:65) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186
    ) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java
    :81) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:7
    34) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:2
    89) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:5
    84) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
    :490) [spigot.jar:git-Spigot-1649]
            at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
    28) [spigot.jar:git-Spigot-1649]
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
            at me.SilverOlympus.MCBReport.ReportCommand.onCommand(ReportCommand.java
    :18) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spi
    got.jar:git-Spigot-1649]
            ... 13 more
    >
     
  5. Offline

    Sneling

    As you didn't posted your whole class, I can't tell the line of the error. But it's 18, so check your code here
     
  6. @SilverOlympus You must add:
    Code:
    if (args.length == 0) {
    p.sendMessage(Chatcolor.RED + "Please Specify a target!");
    return true;
    }
    Too you must check if the sender is a player and return every time you want the code to stop.
     
  7. Offline

    Tehmaker

    You are creating the Player target object before checking if the args[0] actually exists.
     
  8. Offline

    mrCookieSlime

    Moved to Alternatives Section.
     
Thread Status:
Not open for further replies.

Share This Page