Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public String execute(String args, CommandObject command) {
- String[] splitArgs = args.split(" ");
- boolean xpChanged = false;
- UserObject user = Utility.getUser(command, splitArgs[0], false);
- if (user == null) return "> Could not find user.";
- if (Utility.testUserHierarchy(user, command.user, command.guild)) {
- return "> You do not have permission to edit " + user.displayName + "'s pixels.";
- }
- long pixelAmmount = 0;
- try {
- if (isSubType(command)) {
- if (splitArgs.length < 2) return getMissingArgsSubCommand(command);
- pixelAmmount = Long.parseLong(splitArgs[1]);
- } else {
- if (splitArgs.length < 3) return missingArgs(command);
- pixelAmmount = Long.parseLong(splitArgs[2]);
- }
- } catch (NumberFormatException e) {
- String value = isSubType(command) ? splitArgs[1] : splitArgs[2];
- return "> **" + value + "** Not a valid Number.";
- }
- if (pixelAmmount < 0) return "> I don't know what negative pixels are. What are you trying to do?";
- if (pixelAmmount > Constants.PIXELS_CAP) return "> I can't give you that many pixels!";
- ProfileObject profile = user.getProfile(command.guild);
- if (profile == null) return "> " + user.displayName + " doesn't have a profile yet.";
- String out;
- if (SET_XP.isSubCommand(command)) {
- out = setXp(profile, pixelAmmount, user);
- xpChanged = true;
- } else if (ADD_XP.isSubCommand(command)) {
- out = addXp(profile, pixelAmmount, user);
- xpChanged = true;
- } else if (DEL_XP.isSubCommand(command)) {
- out = delXp(profile, pixelAmmount, user);
- xpChanged = true;
- } else {
- String modif = splitArgs[1].toLowerCase();
- switch (modif) {
- case "+":
- case "add":
- out = addXp(profile, pixelAmmount, user);
- xpChanged = true;
- break;
- case "-":
- case "rem":
- case "sub":
- out = delXp(profile, pixelAmmount, user);
- xpChanged = true;
- break;
- case "=":
- case "set":
- out = setXp(profile, pixelAmmount, user);
- xpChanged = true;
- break;
- default:
- out = "> Invalid modifier. Valid modifiers are **[+/-/=]** or **add/sub/set**";
- break;
- }
- }
- if (xpChanged) {
- profile.removeLevelFloor();
- GuildHandler.checkUsersRoles(user.longID, command.guild);
- }
- return out;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement