Advertisement
Vaerys_Dawn

EditXP subtypes

Feb 26th, 2018
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.86 KB | None | 0 0
  1. @Override
  2.     public String execute(String args, CommandObject command) {
  3.  
  4.         String[] splitArgs = args.split(" ");
  5.  
  6.         boolean xpChanged = false;
  7.  
  8.         UserObject user = Utility.getUser(command, splitArgs[0], false);
  9.         if (user == null) return "> Could not find user.";
  10.         if (Utility.testUserHierarchy(user, command.user, command.guild)) {
  11.             return "> You do not have permission to edit " + user.displayName + "'s pixels.";
  12.         }
  13.  
  14.         long pixelAmmount = 0;
  15.         try {
  16.             if (isSubType(command)) {
  17.                 if (splitArgs.length < 2) return getMissingArgsSubCommand(command);
  18.                 pixelAmmount = Long.parseLong(splitArgs[1]);
  19.             } else {
  20.                 if (splitArgs.length < 3) return missingArgs(command);
  21.                 pixelAmmount = Long.parseLong(splitArgs[2]);
  22.             }
  23.         } catch (NumberFormatException e) {
  24.             String value = isSubType(command) ? splitArgs[1] : splitArgs[2];
  25.             return "> **" + value + "** Not a valid Number.";
  26.         }
  27.         if (pixelAmmount < 0) return "> I don't know what negative pixels are. What are you trying to do?";
  28.         if (pixelAmmount > Constants.PIXELS_CAP) return "> I can't give you that many pixels!";
  29.  
  30.         ProfileObject profile = user.getProfile(command.guild);
  31.         if (profile == null) return "> " + user.displayName + " doesn't have a profile yet.";
  32.  
  33.         String out;
  34.         if (SET_XP.isSubCommand(command)) {
  35.             out = setXp(profile, pixelAmmount, user);
  36.             xpChanged = true;
  37.         } else if (ADD_XP.isSubCommand(command)) {
  38.             out = addXp(profile, pixelAmmount, user);
  39.             xpChanged = true;
  40.         } else if (DEL_XP.isSubCommand(command)) {
  41.             out = delXp(profile, pixelAmmount, user);
  42.             xpChanged = true;
  43.         } else {
  44.             String modif = splitArgs[1].toLowerCase();
  45.             switch (modif) {
  46.                 case "+":
  47.                 case "add":
  48.                     out = addXp(profile, pixelAmmount, user);
  49.                     xpChanged = true;
  50.                     break;
  51.                 case "-":
  52.                 case "rem":
  53.                 case "sub":
  54.                     out = delXp(profile, pixelAmmount, user);
  55.                     xpChanged = true;
  56.                     break;
  57.                 case "=":
  58.                 case "set":
  59.                     out = setXp(profile, pixelAmmount, user);
  60.                     xpChanged = true;
  61.                     break;
  62.                 default:
  63.                     out = "> Invalid modifier. Valid modifiers are **[+/-/=]** or **add/sub/set**";
  64.                     break;
  65.             }
  66.         }
  67.  
  68.         if (xpChanged) {
  69.             profile.removeLevelFloor();
  70.             GuildHandler.checkUsersRoles(user.longID, command.guild);
  71.         }
  72.         return out;
  73.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement