@EventHandler
	public void onPlayerVelocityEvent(PlayerVelocityEvent event) {
	
		Player player = event.getPlayer();
		if (master.getMBWorldManager().isBoxel(player.getWorld())[0]) {
			int maxBoxelSize = master.getConfig().getInt("max-boxel-size", 0);
			
			if (maxBoxelSize == 0)
				return;
			
			Location targetLocation = player.getLocation();
			targetLocation.add(event.getVelocity());
			Chunk targetChunk = targetLocation.getChunk();
			
			if (targetChunk.getX() > maxBoxelSize / 2) {
				event.setCancelled(true);
			} else
				if (targetChunk.getX() < -maxBoxelSize / 2) {
					event.setCancelled(true);
				}
			
			if (targetChunk.getZ() > maxBoxelSize / 2) {
				event.setCancelled(true);
			} else
				if (targetChunk.getZ() < -maxBoxelSize / 2) {
					event.setCancelled(true);
				}
			
			// Notify the player if the event is canceled (border is reached).
			if (event.isCancelled() && lastBordercheckMessage <= System.currentTimeMillis() - 1000) {
				lastBordercheckMessage = System.currentTimeMillis();
				player.sendMessage("[A divine voice] You reached the border of the World.");
			}
		}
	}