package me.desht.scrollingmenusign.commandlets;
import java.util.Arrays;
import me.desht.scrollingmenusign.SMSException;
import me.desht.scrollingmenusign.SMSValidate;
import me.desht.scrollingmenusign.ScrollingMenuSign;
import me.desht.scrollingmenusign.parser.CommandUtils;
import me.desht.scrollingmenusign.views.CommandTrigger;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import com.google.common.base.Joiner;
public class AfterCommandlet extends BaseCommandlet {
public AfterCommandlet() {
super("AFTER");
}
@Override
public boolean execute(ScrollingMenuSign plugin, final CommandSender sender, final CommandTrigger trigger, String cmd, String[] args) {
SMSValidate.isTrue(args.length >= 3, "Usage: " + cmd + " <delay> <command string>");
int delay;
try {
delay = Integer.parseInt(args[1]);
} catch (NumberFormatException e) {
throw new SMSException("Invalid numeric quantity: " + args[1]);
}
final String command = Joiner.on(" ").join(Arrays.copyOfRange(args, 2, args.length));
Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
@Override
public void run() {
CommandUtils.executeCommand(sender, command, trigger);
}
}, delay);
return true;
}
}