@EventHandler(priority = EventPriority.LOWEST)
	public void onPlayerPreLoginEvent(AsyncPlayerPreLoginEvent event) {
		try {
			// see if they're banned or not			
			// query the database
			ArrayList<HashMap<String, Object>> results = DatabaseManager.accessQuery(
					"select * from banlogs where banee=? or banee=? order by date desc limit 1;",
					event.getName(),
					event.getAddress().toString());
			
			// check their results
			if(results.size() > 0) {
				// if their latest ban log expiry is after now, they're still banned
				Timestamp expiry = (Timestamp)results.get(0).get("expiry");
				Timestamp now = new Timestamp(System.currentTimeMillis());
				
				/*MCNSAEssentials.debug("expiry: " + expiry);
				MCNSAEssentials.debug("now: " + now);
				MCNSAEssentials.debug("expiry after now: " + expiry.after(now));*/
				
				if(expiry.after(now)) {
					// nope, they're banned
					event.disallow(Result.KICK_BANNED, ColourHandler.processColours(String.format(
							"&cYou are banned until &f%s&c: &f%s",
							expiry.toString(),
							(String)results.get(0).get("reason"))));
				}
			}
		}
		catch(Exception e) {
			event.disallow(Result.KICK_WHITELIST, "Something went wrong: " + e.getMessage());
		}
	}