@Override
	public void run(){
		if (nextRun < 0)
			nextRun = interval;
		if (nextRun <= 0){
			String announcement = pl.announcements.get(lastAnnouncedId + 1);
			announcement = pl.Variables.parse(announcement);
			if (announcement.startsWith("##")){
				try{
					int delay = Integer.parseInt(announcement.replace("##", ""));
					announcement = announcement.replace("##", "").replace("" + delay, "");
					nextRun = nextRun + delay;
				} catch (NumberFormatException e){}
			}
			if (!announcement.equals("")){
				pl.sendMsg(Bukkit.getConsoleSender(), false, prefix + announcement.replace("(PLAYERNAME)", "Console"));
				for (Player onlinePlayer : Bukkit.getServer().getOnlinePlayers()){
					if (onlinePlayer.hasPermission("superannouncer.see"))
						pl.sendMsg(onlinePlayer, false, prefix + announcement.replace("(PLAYERNAME)", onlinePlayer.getName()));
				}
			}
			lastAnnouncedId++;
			if (lastAnnouncedId >= pl.getListEntries(pl.announcements, 0))
				lastAnnouncedId = 0;
		}
		nextRun--;
	}