}
@Override
public boolean perform(CommandSender sender, LinkedHashMap<String, Argument> arguments) throws InvalidUsage {
if(!hasPermissions(sender, "give"))
throw new InvalidUsage("You do not have permission to do that.");
String name = arguments.get("name").getStringValue();
String tag = template.color(Template.Node.TAG_MONEY);
Double amount;
if(name.equals("0"))
throw new InvalidUsage("Missing <white>name<rose>: /money give <name> <amount>");
if(arguments.get("amount").getStringValue().equals("empty"))
throw new InvalidUsage("Missing <white>amount<rose>: /money give <name> <amount>");
try {
amount = arguments.get("amount").getDoubleValue();
} catch(NumberFormatException e) {
throw new InvalidUsage("Invalid <white>amount<rose>, must be double.");
}
if(Double.isInfinite(amount) || Double.isNaN(amount))
throw new InvalidUsage("Invalid <white>amount<rose>, must be double.");
if(!Accounts.exists(name)) {
template.set(Template.Node.ERROR_ACCOUNT);
template.add("name", name);