Esempio n. 1
0
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    double start = 0;
    if (plugin.debugMode) start = System.nanoTime();
    if (!RTSPermissions.canCheckAllRequests(sender)) {
      if (!RTSPermissions.canCheckOwnRequests(sender)) {
        sender.sendMessage(
            Message.parse(
                "generalPermissionError",
                "reportrts.command.check or reportrts.command.check.self"));
        return true;
      }
      if (args.length > 0) {
        sender.sendMessage(
            ChatColor.RED + "You may only use /check to check the status of your requests.");
        return true;
      }
      checkSelf(sender);
      if (plugin.debugMode)
        Message.debug(
            sender.getName(), this.getClass().getSimpleName(), start, cmd.getName(), args);
      return true;
    }
    if (args.length == 0) {
      checkPage("1", sender);
      if (plugin.debugMode)
        Message.debug(
            sender.getName(), this.getClass().getSimpleName(), start, cmd.getName(), args);
      return true;
    }
    if (!RTSFunctions.isParsableToInt(args[0])) {
      switch (args[0].toUpperCase()) {
        case "P":
        case "PAGE":
          try {
            checkPage(args[1], sender);
          } catch (ArrayIndexOutOfBoundsException e) {
            checkPage("1", sender);
          }
          break;

        case "H":
        case "HELD":
          try {
            checkHeld(args[1], sender);
          } catch (ArrayIndexOutOfBoundsException e) {
            checkHeld("1", sender);
          }
          break;

        case "C":
        case "CLOSED":
          try {
            checkClosed(args[1], sender);
          } catch (ArrayIndexOutOfBoundsException e) {
            checkClosed("1", sender);
          }
          break;

        case "S":
        case "SERVER":
          try {
            checkServer((args.length > 1 ? args[2] : "1"), args[1], sender);
          } catch (ArrayIndexOutOfBoundsException e) {
            checkServer("1", BungeeCord.getServer(), sender);
          }
          break;

        default:
          if (plugin.debugMode)
            Message.debug(
                sender.getName(), this.getClass().getSimpleName(), start, cmd.getName(), args);
          return false;
      }
      if (plugin.debugMode)
        Message.debug(
            sender.getName(), this.getClass().getSimpleName(), start, cmd.getName(), args);
      return true;
    }

    checkId(Integer.parseInt(args[0]), sender);
    if (plugin.debugMode)
      Message.debug(sender.getName(), this.getClass().getSimpleName(), start, cmd.getName(), args);
    return true;
  }