package com.lifeknight.relaymcbungeemain.commands.staff; import com.lifeknight.relaymcbungeemain.commands.CommandUtilities; import com.lifeknight.relaymcbungeemain.player.SmartPlayer; import com.lifeknight.relaymcbungeemain.utilities.BotUtils; import com.lifeknight.relayutils.basic.Miscellaneous; import com.lifeknight.relayutils.basic.Text; import com.lifeknight.relayutils.player.Group; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.plugin.Command; import org.bukkit.ChatColor; import java.util.List; public class PurchaseCommand extends Command { private static final List COMMANDS = Miscellaneous.getList("add", "remove"); public PurchaseCommand() { super("purchase"); } @Override public void execute(CommandSender commandSender, String[] arguments) { if (!CommandUtilities.isAdministrator(commandSender)) { CommandUtilities.sendInsufficientPermissionsMessage(commandSender); return; } if (arguments.length > 2) { SmartPlayer smartPlayer = SmartPlayer.getOrCreate(arguments[1]); if (smartPlayer == null) { CommandUtilities.noPlayerFound(commandSender, arguments[1]); return; } String entire = Text.concatenateArguments(Miscellaneous.from(arguments, 2)); switch (COMMANDS.indexOf(arguments[0].toLowerCase())) { case 0: if (entire.toLowerCase().contains("tokens")) { long credits = Long.parseLong(arguments[2].replace(",", "")); smartPlayer.setCredits(smartPlayer.getCredits() + credits); smartPlayer.broadcastUpdateMessage(); smartPlayer.sendMessage(true, "%sYou have received %s%d%s tokens!", ChatColor.GREEN, ChatColor.YELLOW, credits, ChatColor.GREEN); CommandUtilities.sendSuccessMessage(commandSender, "Gave %s %d credits with purchase command.", smartPlayer.getName(), credits); BotUtils.onGivenTokens(smartPlayer, credits); } else { if (entire.equalsIgnoreCase("skiptier")) { smartPlayer.onPurchaseSkipTier(); BotUtils.sendMessage("purchases", "%s skipped tier to %s", smartPlayer.getName(), smartPlayer.getFormattedName()); } else { Group group = Group.getGroup(Text.toComparable(entire)); smartPlayer.addToGroup(group); smartPlayer.sendMessage(true, "%sYou are now %s%s.", ChatColor.GREEN, smartPlayer.getFormattedName(), ChatColor.GREEN); if (group == Group.CHAMPION) { smartPlayer.onPurchaseChampion(); } BotUtils.onGivenGroup(smartPlayer, group); } CommandUtilities.sendSuccessMessage(commandSender, "Gave %s to %s with purchase command.", entire, smartPlayer.getName()); } break; case 1: if (entire.toLowerCase().contains("tokens")) { long credits = Long.parseLong(arguments[2].replace(",", "")); smartPlayer.setCredits(smartPlayer.getCredits() - credits); smartPlayer.broadcastUpdateMessage(); CommandUtilities.sendSuccessMessage(commandSender, "Took %s %d credits with purchase command.", smartPlayer.getName(), credits); BotUtils.onTakenCredits(smartPlayer, credits); } else { Group group = Group.getGroup(Text.toComparable(entire)); smartPlayer.removeFromGroup(group); CommandUtilities.sendSuccessMessage(commandSender, "Took %s to %s with purchase command.", group.getGroupName(), smartPlayer.getName()); BotUtils.onTakenGroup(smartPlayer, group); } break; default: CommandUtilities.sendCommandsMessage(commandSender, COMMANDS); break; } } else { CommandUtilities.sendUsageMessage(commandSender, "/purchase add/remove [recipient] [item]"); } } }