private void cycleAnnounce(int i, int milli, boolean silent) throws InterruptedException {

		if (this.isCancelled()) {
			return;
		}

		if (!silent) {
			Bukkit.broadcastMessage(ChatColor.DARK_RED + ">> " + ChatColor.AQUA + "Cycling to " + ChatColor.DARK_AQUA + "[" + rotatedMap.getType().getType() + "] " + rotatedMap.getMapName() + ChatColor.AQUA + " in " + ChatColor.DARK_AQUA + i + ChatColor.AQUA + " seconds" + ChatColor.DARK_RED + " <<");
		}
		
		if (this.team != null) {
			
			for (Entry<Player, ChatColor> set : HyperPVP.teamCycle.entrySet()) {
			
				if (set.getValue() != this.team.getColor()) {
					continue;
				}
				
				Player p = set.getKey();
				ChatColor c = set.getValue();
				
				HyperPVP.fireworkLocation.put(p.getLocation(), TeamColor.get(c));
				HyperPVP.checkFirework = true;
				
			}
		}
		
		if (this.name != null) {
			
			Player p = name;
			ChatColor c = ChatColor.GOLD;
			
			HyperPVP.fireworkLocation.put(p.getLocation(), TeamColor.get(c));
			HyperPVP.checkFirework = true;
		}
		
		Thread.sleep(milli);
	}