downloadClientJar method

  1. @override
Future<void> downloadClientJar()
override

Downloads the Minecraft client JAR file.

Implementation

@override
Future<void> downloadClientJar() async {
  final versionId = _profileManager.activeProfile.lastVersionId;

  // Run before download client jar hook
  final shouldProceed = await beforeDownloadClientJar(versionId);
  if (!shouldProceed) {
    debugPrint('Client JAR download was cancelled by a hook');
    return;
  }

  final versionInfo = await fetchVersionManifest(versionId);

  if (versionInfo == null) {
    throw Exception('Failed to get version info for $versionId');
  }

  await _classpathManager.downloadClientJar(versionInfo, versionId);

  // Run after download client jar hook
  await afterDownloadClientJar(versionId);
}