public static final void checkDonation(final Player player) {
		if (player.isExtremeDonator())
			return;
		if (player.getTemporaryAttributtes().get("CheckingDonation") != null)
			return;
		player.getTemporaryAttributtes().put("CheckingDonation", Boolean.TRUE);
		player.getPackets().sendGameMessage("Checking donation...");
		CoresManager.slowExecutor.execute(new Runnable() {
			@Override
			public void run() {
				try {
					URL url = new URL(
							"http://matrixftw.com/donate/checkdonate.php?username="
									+ player.getUsername().toLowerCase());
					BufferedReader reader = new BufferedReader(
							new InputStreamReader(url.openStream()));
					String string = reader.readLine();
					boolean noresult = string == null || string.length() <= 0 || string.equalsIgnoreCase("false");
					reader.close();
					if (noresult)
						player.getPackets()
								.sendGameMessage(
										"<col=ff0000>We were unable to locate your donation, please try again later.");
					else {
						if(string.equalsIgnoreCase("1"))
							player.setExtremeDonator(true);
						else
							player.setDonator(true);
						SerializableFilesManager.savePlayer(player);
						player.getPackets()
								.sendGameMessage(
										"<col=00ff00>Congratulations! You are now a "+(string == "1" ? "extreme " : "")+"donator.");
					}
				} catch (Throwable e) {
					player.getPackets()
							.sendGameMessage(
									"<col=ff0000>We were unable to verify your donation, please try again later.");
				}
				player.getTemporaryAttributtes().remove("CheckingDonation");
			}
		});
	}