getAssetIndex method
Gets the asset index for a specific version.
versionId
- Minecraft version ID
Returns the asset index ID.
Implementation
@override
Future<String> getAssetIndex(String versionId) async {
final shouldSkip = await beforeGetAssetIndex(
versionId,
(await getVersionInfo(versionId)) ??
(throw Exception('VersionInfo is null for versionId: $versionId')),
);
if (shouldSkip) {
debugPrint('Asset index retrieval skipped for $versionId');
final defaultAssetIndex = versionId;
await afterGetAssetIndex(versionId, defaultAssetIndex);
return defaultAssetIndex;
}
final versionInfo = await fetchVersionManifest(versionId);
if (versionInfo == null || versionInfo.assetIndex == null) {
throw Exception('Failed to get asset index info for $versionId');
}
final assetIndexInfo = versionInfo.assetIndex;
final assetIndexId = assetIndexInfo!.id;
await afterGetAssetIndex(versionId, assetIndexId);
return assetIndexId;
}