Program: 46554
Project: 46554
Buggy source:
public boolean onCommand(CommandSender sender,Command command,String label,String[] args){
  boolean handled=false;
  cmd=plugin.getCommandManager();
  if (cmd.is(label,"String_Node_Str")) {
    if (args == null || args.length == 0) {
      handled=true;
      this.player=cmd.getPlayerOfSender(sender);
      if (player == sender && RCPermissions.permission(player,"String_Node_Str")) {
        RCPlayer p=new RCPlayer(player);
        Messaging.sendNoTag(sender,"String_Node_Str" + Messaging.colorizeText(RCConfig.title + "String_Node_Str",ChatColor.YELLOW) + "String_Node_Str");
        Messaging.sendMessage("String_Node_Str",sender,"String_Node_Str" + ChatColor.YELLOW + p.getLevel());
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW) + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.experiance);
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getAccount().balance(),ChatColor.YELLOW) + "String_Node_Str" + Language.currency);
        Messaging.sendMessage(Language.skillpoints,sender,Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW) + "String_Node_Str" + Language.skillpoints);
        if (!p.getSkills().isEmpty()) {
          String s="String_Node_Str";
          for (int i=0; i < p.getSkills().size(); i++) {
            if (i == p.getSkills().size() - 1)             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
 else             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
          }
          Messaging.sendMessage("String_Node_Str",sender,s);
        }
      }
 else {
        Messaging.sendMessage(sender,Language.noPermission);
      }
    }
 else     if (cmd.is(args[0],"String_Node_Str")) {
      if (args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        this.player=cmd.getPlayer(sender,args,1);
        RCPlayer p=new RCPlayer(this.player);
        Messaging.sendNoTag(sender,"String_Node_Str" + Messaging.colorizeText(player.getName() + "String_Node_Str",ChatColor.YELLOW) + "String_Node_Str");
        Messaging.sendMessage("String_Node_Str",sender,"String_Node_Str" + ChatColor.YELLOW + p.getLevel());
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW) + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.experiance);
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getAccount().balance(),ChatColor.YELLOW) + "String_Node_Str" + Language.currency);
        Messaging.sendMessage(Language.skillpoints,sender,Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW) + "String_Node_Str" + Language.skillpoints);
        if (!p.getSkills().isEmpty()) {
          String s="String_Node_Str";
          for (int i=0; i < p.getSkills().size(); i++) {
            if (i == p.getSkills().size() - 1)             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
 else             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
          }
          Messaging.sendMessage("String_Node_Str",sender,s);
        }
      }
 else {
        Messaging.sendMessage(sender,Language.noPermission);
      }
    }
 else {
      if (cmd.is(args[0],"String_Node_Str") && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (args.length == 1) {
          if (p.getBuyableSkills().length > 0) {
            Messaging.sendMessage(Language.buyableSkills,sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getBuyableSkills()),ChatColor.YELLOW));
            ExtraFunctions.listPage(p.getBuyableSkills(),player,1);
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noLevel);
          }
        }
 else         if (args.length == 2) {
          if (p.getBuyableSkills().length > 0) {
            Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText(args[1],ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getBuyableSkills()),ChatColor.YELLOW));
            ExtraFunctions.listPage(p.getBuyableSkills(),player,Integer.parseInt(args[1]));
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noLevel);
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (args.length == 1) {
          if (!p.getSkills().isEmpty()) {
            Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getSkills()),ChatColor.YELLOW));
            ExtraFunctions.listPage(p.getSkills(),player,1);
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noSkills);
          }
        }
 else         if (args.length == 2) {
          Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText(args[1],ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getSkills()),ChatColor.YELLOW));
          if (p.getSkills() != null && !p.getSkills().equals(null)) {
            ExtraFunctions.listPage(p.getSkills(),player,Integer.parseInt(args[1]));
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noSkills);
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (args.length == 1) {
          if (p.getSkillCount() == 0) {
            Messaging.sendMessage(sender,Language.noResetSkills);
            return handled;
          }
          Messaging.sendMessage(sender,Language.confirm);
          Messaging.sendMessage(sender,Language.youGet + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.calcSpendSkillpoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpointsBack);
          Messaging.sendMessage(sender,Language.thisIsYour + "String_Node_Str" + Messaging.colorizeText((p.getSkillResetCount() + 1) + "String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str"+ Language.resetAndCostsYou+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getResetCost(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.currency);
          Messaging.sendMessage(sender,Language.confirm);
        }
 else         if (args.length == 2 && cmd.is(args[1],"String_Node_Str")) {
          if (p.getSkillCount() == 0) {
            Messaging.sendMessage(sender,Language.noResetSkills);
            return handled;
          }
 else           if (!p.getAccount().hasEnough(p.getResetCost())) {
            Messaging.sendMessage(sender,Language.youDontHaveEnough + "String_Node_Str" + Language.currency);
          }
 else {
            if (p.resetSkills(true)) {
              Messaging.sendMessage(sender,Language.allSkillsReset + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getResetCost(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.currency+ "String_Node_Str"+ Language.deducted);
              Messaging.sendMessage(sender,Language.youHaveNow + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpoints);
              p.increaseSkillResetCount();
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            }
          }
        }
 else         if (args.length == 3 && cmd.is(args[1],"String_Node_Str")) {
          if (RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayer(sender,args,2);
            p=new RCPlayer(player);
            if (p.getSkillCount() == 0) {
              Messaging.sendMessage(sender,Language.noResetSkills);
              return handled;
            }
 else {
              if (p.resetSkills(false)) {
                Messaging.sendMessage(player,Language.allSkillsResetFrom + "String_Node_Str" + Messaging.colorizeText(cmd.getPlayerOfSender(sender).getName(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.reseted);
                Messaging.sendMessage(player,Language.youHaveNow + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpoints);
                p.increaseSkillResetCount();
                p.writeDatabase();
              }
 else {
                Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              }
            }
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        if (!args[1].isEmpty()) {
          SingleSkill skill=null;
          try {
            int id=Integer.parseInt(args[1]);
            try {
              skill=SkillsConfig.getSingleSkill(id);
            }
 catch (            NullPointerException n) {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
 catch (          Exception e) {
            if (SkillsConfig.skillsList.contains(args[1])) {
              skill=SkillsConfig.getSingleSkill(args[1]);
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
          try {
            Messaging.sendNoTag(sender,"String_Node_Str" + Messaging.colorizeText(skill.getSkillName(),ChatColor.YELLOW) + "String_Node_Str");
            Messaging.sendMessage("String_Node_Str",sender,skill.getName() + "String_Node_Str" + "String_Node_Str"+ Messaging.colorizeText(skill.getId() + "String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str");
            Messaging.sendMessage(Language.description,sender,skill.getDescription());
            Messaging.sendMessage(Language.costs,sender,"String_Node_Str" + skill.getCosts() + "String_Node_Str");
            Messaging.sendMessage("String_Node_Str",sender,Language.needs + "String_Node_Str" + skill.getLevel());
            Messaging.sendMessage("String_Node_Str",sender,Language.needs + "String_Node_Str" + skill.getSkillpoints()+ "String_Node_Str"+ Language.skillpoints);
          }
 catch (          NullPointerException e) {
            Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            return handled;
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (!args[1].isEmpty()) {
          SingleSkill skill=null;
          try {
            int id=Integer.valueOf(args[1]).intValue();
            try {
              skill=SkillsConfig.getSingleSkill(id);
            }
 catch (            NullPointerException n) {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
 catch (          NumberFormatException e) {
            if (SkillsConfig.skillsList.contains(args[1])) {
              skill=SkillsConfig.getSingleSkill(args[1]);
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
          try {
            if (p.hasSkill(skill)) {
              Messaging.sendMessage(sender,Language.youAlreadyHaveThisSkill);
            }
 else             if (!p.hasEnoughSkillpoints(skill.getSkillpoints())) {
              Messaging.sendMessage(sender,Language.youDontHaveEnough + "String_Node_Str" + Language.skillpoints);
            }
 else             if (!p.getAccount().hasEnough(skill.getCosts())) {
              Messaging.sendMessage(sender,Language.youDontHaveEnough + "String_Node_Str" + Language.currency);
            }
 else             if (!(p.getLevel() >= skill.getLevel())) {
              Messaging.sendMessage(sender,Language.youNeedLevel + "String_Node_Str" + skill.getLevel()+ "String_Node_Str"+ Language.forThatSkill);
            }
 else {
              if (p.addSkill(skill.getSkillName(),true)) {
                p.getAccount().subtract(skill.getCosts());
                Messaging.sendMessage(sender,Language.youJustBought + "String_Node_Str" + skill.getName());
                Messaging.sendMessage(sender,Language.youGot + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + skill.getCosts(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.currency+ "String_Node_Str"+ Language.and+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + skill.getSkillpoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpoints+ "String_Node_Str"+ Language.deducted);
              }
 else {
                Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str" + skill.getGroup()+ "String_Node_Str");
              }
            }
          }
 catch (          NullPointerException e) {
            Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            return handled;
          }
        }
        p.writeDatabase();
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 3 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayer(sender,args,1);
        RCPlayer p=new RCPlayer(player);
        if (!args[2].isEmpty()) {
          SingleSkill skill=null;
          try {
            int id=Integer.valueOf(args[2]).intValue();
            try {
              skill=SkillsConfig.getSingleSkill(id);
            }
 catch (            ArrayIndexOutOfBoundsException oob) {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
 catch (          NumberFormatException e) {
            if (SkillsConfig.skillsList.contains(args[2])) {
              skill=SkillsConfig.getSingleSkill(args[2]);
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
          try {
            if (p.hasSkill(skill)) {
              Messaging.sendMessage(sender,p.getPlayerName() + "String_Node_Str" + Language.alreadyHasThisSkill);
            }
 else             if (!(p.getLevel() >= skill.getLevel())) {
              Messaging.sendMessage(sender,p.getPlayerName() + "String_Node_Str" + Language.needs+ "String_Node_Str"+ skill.getLevel()+ "String_Node_Str"+ Language.forThatSkill);
            }
 else {
              if (p.addSkill(skill.getSkillName(),false)) {
                Messaging.sendMessage(player,Language.YouJustGotSkill + "String_Node_Str" + skill.getName()+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ cmd.getPlayerOfSender(sender).getName()+ "String_Node_Str"+ Language.bekommen);
              }
 else {
                Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str" + skill.getGroup()+ "String_Node_Str");
              }
            }
          }
 catch (          NullPointerException e) {
            Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            return handled;
          }
        }
        p.writeDatabase();
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 1) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        if (player == sender && RCPermissions.permission(player,"String_Node_Str")) {
          RCPlayer p=new RCPlayer(player);
          p.checkForItems();
          if (p.lvlup(false)) {
            Messaging.sendMessage(sender,Language.youAreNowLevel + "String_Node_Str" + p.getLevel());
            Messaging.sendMessage(sender,Language.youGot + "String_Node_Str" + ChatColor.YELLOW+ p.getExpToLevel(p.getLevel())+ "String_Node_Str"+ Language.deducted);
            Messaging.sendMessage(p.getServer(),player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ ChatColor.YELLOW+ p.getLevel());
            RCLogger.info(player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ p.getLevel());
            p.writeDatabase();
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
 else       if (cmd.is(args[0],"String_Node_Str")) {
        if (cmd.is(args[1],"String_Node_Str") && args.length == 3) {
          handled=true;
          if (RCPermissions.isAdmin(cmd.getPlayerOfSender(sender)) || RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayer(sender,args,2);
            RCPlayer p=new RCPlayer(player);
            if (p.lvlup(true)) {
              Messaging.sendMessage(p.getServer(),player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ ChatColor.YELLOW+ p.getLevel());
              RCLogger.info(player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ p.getLevel());
              p.writeDatabase();
            }
          }
 else {
            Messaging.sendMessage(sender,Language.noPermission);
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          this.player=cmd.getPlayerOfSender(sender);
          if (args.length == 1) {
            cmd.getTopList(5,sender);
          }
 else           if (args.length == 2) {
            cmd.getTopList(Integer.parseInt(args[1]),sender);
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") || cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender)) {
          if (args.length == 1 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayerOfSender(sender);
            RCPlayer p=new RCPlayer(player);
            Messaging.sendMessage(sender,Language.youGot + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.forTheNextLevel);
          }
 else           if (args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            Messaging.sendMessage(sender,Messaging.colorizeText("String_Node_Str" + p.getPlayerName(),ChatColor.YELLOW) + "String_Node_Str" + Language.has+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.forTheNextLevel);
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.isAdmin(cmd.getPlayerOfSender(sender))) {
          RCSkills.debugging=!RCSkills.debugging;
          if (RCSkills.debugging)           Messaging.sendMessage(sender,"String_Node_Str");
 else           Messaging.sendMessage(sender,"String_Node_Str");
        }
      }
      if (cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          RCConfig.load();
          SkillsConfig.load();
          Language.load();
          Messaging.sendMessage(sender,Messaging.colorizeText(RCSkills.name,ChatColor.GREEN) + "String_Node_Str");
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length > 1) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          if (args.length == 3) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            if ((p.getLevel() != -1)) {
              p.setLevel(Integer.parseInt(args[2]));
              Messaging.sendMessage(p.getServer(),player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ ChatColor.YELLOW+ p.getLevel());
              RCLogger.info(player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ p.getLevel());
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,Language.cantLevel);
            }
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length > 1) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          if (args.length == 3) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            if ((p.getLevel() != -1)) {
              p.setExp(Integer.parseInt(args[2]));
              Messaging.sendMessage(sender,player.getName() + "String_Node_Str" + Language.hasNow+ "String_Node_Str"+ ChatColor.YELLOW+ p.getExp()+ "String_Node_Str"+ Language.experiance);
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,Language.cantLevel);
            }
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") || cmd.is(args[0],"String_Node_Str") && args.length > 1) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          if (args.length == 3) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            if ((p.getLevel() != -1)) {
              p.setSkillPoints((Integer.parseInt(args[2])));
              Messaging.sendMessage(sender,player.getName() + "String_Node_Str" + Language.hasNow+ "String_Node_Str"+ ChatColor.YELLOW+ p.getSkillPoints()+ "String_Node_Str"+ Language.skillpoints);
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,Language.cantLevel);
            }
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") || cmd.is(args[0],"String_Node_Str")) {
        if (args.length == 1) {
          Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + 1,ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(help),ChatColor.YELLOW));
          ExtraFunctions.listPage(help,cmd.getPlayerOfSender(sender),1);
        }
 else         if (args.length == 2) {
          Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + args[1],ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(help),ChatColor.YELLOW));
          ExtraFunctions.listPage(help,cmd.getPlayerOfSender(sender),Integer.parseInt(args[1]));
        }
      }
    }
  }
  return handled;
}

Fixed version (ground truth):
public boolean onCommand(CommandSender sender,Command command,String label,String[] args){
  boolean handled=false;
  cmd=plugin.getCommandManager();
  if (cmd.is(label,"String_Node_Str")) {
    if (args == null || args.length == 0) {
      handled=true;
      this.player=cmd.getPlayerOfSender(sender);
      if (player == sender && RCPermissions.permission(player,"String_Node_Str")) {
        RCPlayer p=new RCPlayer(player);
        Messaging.sendNoTag(sender,"String_Node_Str" + Messaging.colorizeText(RCConfig.title + "String_Node_Str",ChatColor.YELLOW) + "String_Node_Str");
        Messaging.sendMessage("String_Node_Str",sender,"String_Node_Str" + ChatColor.YELLOW + p.getLevel());
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW) + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.experiance);
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getAccount().balance(),ChatColor.YELLOW) + "String_Node_Str" + Language.currency);
        Messaging.sendMessage(Language.skillpoints,sender,Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW) + "String_Node_Str" + Language.skillpoints);
        if (!p.getSkills().isEmpty()) {
          String s="String_Node_Str";
          for (int i=0; i < p.getSkills().size(); i++) {
            if (i == p.getSkills().size() - 1)             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
 else             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
          }
          Messaging.sendMessage("String_Node_Str",sender,s);
        }
      }
 else {
        Messaging.sendMessage(sender,Language.noPermission);
      }
    }
 else     if (cmd.is(args[0],"String_Node_Str")) {
      if (args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        this.player=cmd.getPlayer(sender,args,1);
        RCPlayer p=new RCPlayer(this.player);
        Messaging.sendNoTag(sender,"String_Node_Str" + Messaging.colorizeText(player.getName() + "String_Node_Str",ChatColor.YELLOW) + "String_Node_Str");
        Messaging.sendMessage("String_Node_Str",sender,"String_Node_Str" + ChatColor.YELLOW + p.getLevel());
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW) + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.experiance);
        Messaging.sendMessage("String_Node_Str",sender,Messaging.colorizeText("String_Node_Str" + p.getAccount().balance(),ChatColor.YELLOW) + "String_Node_Str" + Language.currency);
        Messaging.sendMessage(Language.skillpoints,sender,Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW) + "String_Node_Str" + Language.skillpoints);
        if (!p.getSkills().isEmpty()) {
          String s="String_Node_Str";
          for (int i=0; i < p.getSkills().size(); i++) {
            if (i == p.getSkills().size() - 1)             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
 else             s+=p.getSkill(i).getSkillName() + "String_Node_Str";
          }
          Messaging.sendMessage("String_Node_Str",sender,s);
        }
      }
 else {
        Messaging.sendMessage(sender,Language.noPermission);
      }
    }
 else {
      if (cmd.is(args[0],"String_Node_Str") && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (args.length == 1) {
          if (p.getBuyableSkills().length > 0) {
            Messaging.sendMessage(Language.buyableSkills,sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getBuyableSkills()),ChatColor.YELLOW));
            ExtraFunctions.listPage(p.getBuyableSkills(),player,1);
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noLevel);
          }
        }
 else         if (args.length == 2) {
          if (Character.isDigit(args[1].charAt(0)) && Integer.valueOf(args[1]) <= ExtraFunctions.getPages(p.getBuyableSkills())) {
            if (p.getBuyableSkills().length > 0) {
              Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText(args[1],ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getBuyableSkills()),ChatColor.YELLOW));
              ExtraFunctions.listPage(p.getBuyableSkills(),player,Integer.parseInt(args[1]));
            }
 else {
              Messaging.sendNoTag(sender,ChatColor.RED + Language.noLevel);
            }
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (args.length == 1) {
          if (!p.getSkills().isEmpty()) {
            Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getSkills()),ChatColor.YELLOW));
            ExtraFunctions.listPage(p.getSkills(),player,1);
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noSkills);
          }
        }
 else         if (args.length == 2) {
          Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText(args[1],ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(p.getSkills()),ChatColor.YELLOW));
          if (p.getSkills() != null && !p.getSkills().equals(null)) {
            ExtraFunctions.listPage(p.getSkills(),player,Integer.parseInt(args[1]));
          }
 else {
            Messaging.sendNoTag(sender,ChatColor.RED + Language.noSkills);
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (args.length == 1) {
          if (p.getSkillCount() == 0) {
            Messaging.sendMessage(sender,Language.noResetSkills);
            return handled;
          }
          Messaging.sendMessage(sender,Language.confirm);
          Messaging.sendMessage(sender,Language.youGet + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.calcSpendSkillpoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpointsBack);
          Messaging.sendMessage(sender,Language.thisIsYour + "String_Node_Str" + Messaging.colorizeText((p.getSkillResetCount() + 1) + "String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str"+ Language.resetAndCostsYou+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getResetCost(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.currency);
          Messaging.sendMessage(sender,Language.confirm);
        }
 else         if (args.length == 2 && cmd.is(args[1],"String_Node_Str")) {
          if (p.getSkillCount() == 0) {
            Messaging.sendMessage(sender,Language.noResetSkills);
            return handled;
          }
 else           if (!p.getAccount().hasEnough(p.getResetCost())) {
            Messaging.sendMessage(sender,Language.youDontHaveEnough + "String_Node_Str" + Language.currency);
          }
 else {
            if (p.resetSkills(true)) {
              Messaging.sendMessage(sender,Language.allSkillsReset + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getResetCost(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.currency+ "String_Node_Str"+ Language.deducted);
              Messaging.sendMessage(sender,Language.youHaveNow + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpoints);
              p.increaseSkillResetCount();
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            }
          }
        }
 else         if (args.length == 3 && cmd.is(args[1],"String_Node_Str")) {
          if (RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayer(sender,args,2);
            p=new RCPlayer(player);
            if (p.getSkillCount() == 0) {
              Messaging.sendMessage(sender,Language.noResetSkills);
              return handled;
            }
 else {
              if (p.resetSkills(false)) {
                Messaging.sendMessage(player,Language.allSkillsResetFrom + "String_Node_Str" + Messaging.colorizeText(cmd.getPlayerOfSender(sender).getName(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.reseted);
                Messaging.sendMessage(player,Language.youHaveNow + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getSkillPoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpoints);
                p.increaseSkillResetCount();
                p.writeDatabase();
              }
 else {
                Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              }
            }
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        if (!args[1].isEmpty()) {
          SingleSkill skill=null;
          try {
            int id=Integer.parseInt(args[1]);
            try {
              skill=SkillsConfig.getSingleSkill(id);
            }
 catch (            NullPointerException n) {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
 catch (          Exception e) {
            if (SkillsConfig.skillsList.contains(args[1])) {
              skill=SkillsConfig.getSingleSkill(args[1]);
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
          try {
            Messaging.sendNoTag(sender,"String_Node_Str" + Messaging.colorizeText(skill.getSkillName(),ChatColor.YELLOW) + "String_Node_Str");
            Messaging.sendMessage("String_Node_Str",sender,skill.getName() + "String_Node_Str" + "String_Node_Str"+ Messaging.colorizeText(skill.getId() + "String_Node_Str",ChatColor.YELLOW)+ "String_Node_Str");
            Messaging.sendMessage(Language.description,sender,skill.getDescription());
            Messaging.sendMessage(Language.costs,sender,"String_Node_Str" + skill.getCosts() + "String_Node_Str");
            Messaging.sendMessage("String_Node_Str",sender,Language.needs + "String_Node_Str" + skill.getLevel());
            Messaging.sendMessage("String_Node_Str",sender,Language.needs + "String_Node_Str" + skill.getSkillpoints()+ "String_Node_Str"+ Language.skillpoints);
          }
 catch (          NullPointerException e) {
            Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            return handled;
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        RCPlayer p=new RCPlayer(player);
        if (!args[1].isEmpty()) {
          SingleSkill skill=null;
          try {
            int id=Integer.valueOf(args[1]).intValue();
            try {
              skill=SkillsConfig.getSingleSkill(id);
            }
 catch (            NullPointerException n) {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
 catch (          NumberFormatException e) {
            if (SkillsConfig.skillsList.contains(args[1])) {
              skill=SkillsConfig.getSingleSkill(args[1]);
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
          try {
            if (p.hasSkill(skill)) {
              Messaging.sendMessage(sender,Language.youAlreadyHaveThisSkill);
            }
 else             if (!p.hasEnoughSkillpoints(skill.getSkillpoints())) {
              Messaging.sendMessage(sender,Language.youDontHaveEnough + "String_Node_Str" + Language.skillpoints);
            }
 else             if (!p.getAccount().hasEnough(skill.getCosts())) {
              Messaging.sendMessage(sender,Language.youDontHaveEnough + "String_Node_Str" + Language.currency);
            }
 else             if (!(p.getLevel() >= skill.getLevel())) {
              Messaging.sendMessage(sender,Language.youNeedLevel + "String_Node_Str" + skill.getLevel()+ "String_Node_Str"+ Language.forThatSkill);
            }
 else {
              if (p.addSkill(skill.getSkillName(),true)) {
                p.getAccount().subtract(skill.getCosts());
                Messaging.sendMessage(sender,Language.youJustBought + "String_Node_Str" + skill.getName());
                Messaging.sendMessage(sender,Language.youGot + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + skill.getCosts(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.currency+ "String_Node_Str"+ Language.and+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + skill.getSkillpoints(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.skillpoints+ "String_Node_Str"+ Language.deducted);
              }
 else {
                Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str" + skill.getGroup()+ "String_Node_Str");
              }
            }
          }
 catch (          NullPointerException e) {
            Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            return handled;
          }
        }
        p.writeDatabase();
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 3 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
        handled=true;
        this.player=cmd.getPlayer(sender,args,1);
        RCPlayer p=new RCPlayer(player);
        if (!args[2].isEmpty()) {
          SingleSkill skill=null;
          try {
            int id=Integer.valueOf(args[2]).intValue();
            try {
              skill=SkillsConfig.getSingleSkill(id);
            }
 catch (            ArrayIndexOutOfBoundsException oob) {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
 catch (          NumberFormatException e) {
            if (SkillsConfig.skillsList.contains(args[2])) {
              skill=SkillsConfig.getSingleSkill(args[2]);
            }
 else {
              Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
              return handled;
            }
          }
          try {
            if (p.hasSkill(skill)) {
              Messaging.sendMessage(sender,p.getPlayerName() + "String_Node_Str" + Language.alreadyHasThisSkill);
            }
 else             if (!(p.getLevel() >= skill.getLevel())) {
              Messaging.sendMessage(sender,p.getPlayerName() + "String_Node_Str" + Language.needs+ "String_Node_Str"+ skill.getLevel()+ "String_Node_Str"+ Language.forThatSkill);
            }
 else {
              if (p.addSkill(skill.getSkillName(),false)) {
                Messaging.sendMessage(player,Language.YouJustGotSkill + "String_Node_Str" + skill.getName()+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ cmd.getPlayerOfSender(sender).getName()+ "String_Node_Str"+ Language.bekommen);
              }
 else {
                Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str" + skill.getGroup()+ "String_Node_Str");
              }
            }
          }
 catch (          NullPointerException e) {
            Messaging.sendMessage(sender,ChatColor.RED + "String_Node_Str");
            return handled;
          }
        }
        p.writeDatabase();
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length == 1) {
        handled=true;
        this.player=cmd.getPlayerOfSender(sender);
        if (player == sender && RCPermissions.permission(player,"String_Node_Str")) {
          RCPlayer p=new RCPlayer(player);
          p.checkForItems();
          if (p.lvlup(false)) {
            Messaging.sendMessage(sender,Language.youAreNowLevel + "String_Node_Str" + p.getLevel());
            Messaging.sendMessage(sender,Language.youGot + "String_Node_Str" + ChatColor.YELLOW+ p.getExpToLevel(p.getLevel())+ "String_Node_Str"+ Language.deducted);
            Messaging.sendMessage(p.getServer(),player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ ChatColor.YELLOW+ p.getLevel());
            RCLogger.info(player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ p.getLevel());
            p.writeDatabase();
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
 else       if (cmd.is(args[0],"String_Node_Str")) {
        if (cmd.is(args[1],"String_Node_Str") && args.length == 3) {
          handled=true;
          if (RCPermissions.isAdmin(cmd.getPlayerOfSender(sender)) || RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayer(sender,args,2);
            RCPlayer p=new RCPlayer(player);
            if (p.lvlup(true)) {
              Messaging.sendMessage(p.getServer(),player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ ChatColor.YELLOW+ p.getLevel());
              RCLogger.info(player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ p.getLevel());
              p.writeDatabase();
            }
          }
 else {
            Messaging.sendMessage(sender,Language.noPermission);
          }
        }
      }
      if (cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          this.player=cmd.getPlayerOfSender(sender);
          if (args.length == 1) {
            cmd.getTopList(5,sender);
          }
 else           if (args.length == 2) {
            cmd.getTopList(Integer.parseInt(args[1]),sender);
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") || cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender)) {
          if (args.length == 1 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayerOfSender(sender);
            RCPlayer p=new RCPlayer(player);
            Messaging.sendMessage(sender,Language.youGot + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.forTheNextLevel);
          }
 else           if (args.length == 2 && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            Messaging.sendMessage(sender,Messaging.colorizeText("String_Node_Str" + p.getPlayerName(),ChatColor.YELLOW) + "String_Node_Str" + Language.has+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getExp(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + p.getExpToNextLevel(),ChatColor.YELLOW)+ "String_Node_Str"+ Language.forTheNextLevel);
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.isAdmin(cmd.getPlayerOfSender(sender))) {
          RCSkills.debugging=!RCSkills.debugging;
          if (RCSkills.debugging)           Messaging.sendMessage(sender,"String_Node_Str");
 else           Messaging.sendMessage(sender,"String_Node_Str");
        }
      }
      if (cmd.is(args[0],"String_Node_Str")) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          RCConfig.load();
          SkillsConfig.load();
          Language.load();
          Messaging.sendMessage(sender,Messaging.colorizeText(RCSkills.name,ChatColor.GREEN) + "String_Node_Str");
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length > 1) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          if (args.length == 3) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            if ((p.getLevel() != -1)) {
              p.setLevel(Integer.parseInt(args[2]));
              Messaging.sendMessage(p.getServer(),player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ ChatColor.YELLOW+ p.getLevel());
              RCLogger.info(player.getName() + "String_Node_Str" + Language.isNowLevel+ "String_Node_Str"+ p.getLevel());
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,Language.cantLevel);
            }
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") && args.length > 1) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          if (args.length == 3) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            if ((p.getLevel() != -1)) {
              p.setExp(Integer.parseInt(args[2]));
              Messaging.sendMessage(sender,player.getName() + "String_Node_Str" + Language.hasNow+ "String_Node_Str"+ ChatColor.YELLOW+ p.getExp()+ "String_Node_Str"+ Language.experiance);
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,Language.cantLevel);
            }
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") || cmd.is(args[0],"String_Node_Str") && args.length > 1) {
        handled=true;
        if (cmd.isPlayer(sender) && RCPermissions.permission(cmd.getPlayerOfSender(sender),"String_Node_Str")) {
          if (args.length == 3) {
            this.player=cmd.getPlayer(sender,args,1);
            RCPlayer p=new RCPlayer(player);
            if ((p.getLevel() != -1)) {
              p.setSkillPoints((Integer.parseInt(args[2])));
              Messaging.sendMessage(sender,player.getName() + "String_Node_Str" + Language.hasNow+ "String_Node_Str"+ ChatColor.YELLOW+ p.getSkillPoints()+ "String_Node_Str"+ Language.skillpoints);
              p.writeDatabase();
            }
 else {
              Messaging.sendMessage(sender,Language.cantLevel);
            }
          }
        }
 else {
          Messaging.sendMessage(sender,Language.noPermission);
        }
      }
      if (cmd.is(args[0],"String_Node_Str") || cmd.is(args[0],"String_Node_Str")) {
        if (args.length == 1) {
          Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + 1,ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(help),ChatColor.YELLOW));
          ExtraFunctions.listPage(help,cmd.getPlayerOfSender(sender),1);
        }
 else         if (args.length == 2) {
          Messaging.sendMessage("String_Node_Str",sender,Language.page + "String_Node_Str" + Messaging.colorizeText("String_Node_Str" + args[1],ChatColor.YELLOW)+ "String_Node_Str"+ Language.from+ "String_Node_Str"+ Messaging.colorizeText("String_Node_Str" + ExtraFunctions.getPages(help),ChatColor.YELLOW));
          ExtraFunctions.listPage(help,cmd.getPlayerOfSender(sender),Integer.parseInt(args[1]));
        }
      }
    }
  }
  return handled;
}