message: fix: check the version jar checksum in diagnose
diff: @@ -3,7 +3,7 @@ import * as paths from "path";
  import Task from "treelike-task";
  import { MinecraftFolder, MinecraftLocation } from "../index";
  -import { computeChecksum, exists, missing } from "./utils/common";
  +import { computeChecksum, exists, validate } from "./utils/common";
  export function parseLibPath(name: string) {
  const pathArr = name.split(":");
  @@ -113,6 +113,9 @@ export interface Version {
  releaseTime: string;
  time: string;
  type: string;
  + /**
  + * The minecraft version of this version
  + */
  client: string;
  server: string;
  logging?: {
  @@ -335,9 +338,9 @@ function diagnoseSkeleton(version: string, minecraft: MinecraftFolder): (context
  };
  }
  const jarPath = minecraft.getVersionJar(resolvedVersion.client);
  - const missingJar = await context.execute("checkJar", () => missing(jarPath));
  + const missingJar = await context.execute("checkJar", () => validate(jarPath, resolvedVersion.downloads.client.sha1));
  const assetsIndexPath = minecraft.getAssetsIndex(resolvedVersion.assets);
  - const missingAssetsIndex = await context.execute("checkAssetIndex", async () => await missing(assetsIndexPath) || await computeChecksum(assetsIndexPath) !== resolvedVersion.assetIndex.sha1);
  + const missingAssetsIndex = await context.execute("checkAssetIndex", async () => validate(assetsIndexPath, resolvedVersion.assetIndex.sha1));
  const libMask = await context.execute("checkLibraries", () => Promise.all(resolvedVersion.libraries.map(async (lib) => {
  const libPath = minecraft.getLibraryByPath(lib.download.path);
  if (await exists(libPath)) {
  