ModpackManifest deleted
This commit is contained in:
@@ -22,24 +22,26 @@ public class AssetsDownloadTaskFactory : INetworkTaskFactory
|
||||
|
||||
public async Task<NetworkTask?> CreateAsync(bool checkHashes)
|
||||
{
|
||||
NetworkTask? networkTask = null;
|
||||
if (!await CheckFilesAsync(checkHashes))
|
||||
return new NetworkTask(
|
||||
{
|
||||
networkTask = new NetworkTask(
|
||||
$"assets '{_descriptor.assetIndex.id}'",
|
||||
GetTotalSize(),
|
||||
Download
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
return networkTask;
|
||||
}
|
||||
private async Task<bool> CheckFilesAsync(bool checkHashes)
|
||||
{
|
||||
var assetIndex = await ReadOrDownloadAndDeserialize<AssetIndex>(
|
||||
(AssetIndex assetIndex, _) = await ReadOrDownloadAndDeserialize<AssetIndex>(
|
||||
_indexFilePath,
|
||||
_descriptor.assetIndex.url,
|
||||
_descriptor.assetIndex.sha1,
|
||||
checkHashes);
|
||||
|
||||
_assetsToDownload.Clear();
|
||||
// removing duplicates for Dictionary (idk how can it be possible, but Newtonsoft.Json creates them)
|
||||
HashSet<string> assetHashes = new HashSet<string>();
|
||||
foreach (var pair in assetIndex.objects)
|
||||
|
||||
@@ -28,11 +28,14 @@ public class JavaDownloadTaskFactory : INetworkTaskFactory
|
||||
|
||||
NetworkTask? networkTask = null;
|
||||
if (!CheckFiles(checkHashes))
|
||||
networkTask = new(
|
||||
$"java runtime '{_descriptor.javaVersion.component}'",
|
||||
GetTotalSize(),
|
||||
Download
|
||||
);
|
||||
{
|
||||
networkTask = new NetworkTask(
|
||||
$"java runtime '{_descriptor.javaVersion.component}'",
|
||||
GetTotalSize(),
|
||||
Download
|
||||
);
|
||||
}
|
||||
|
||||
return networkTask;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,11 +24,14 @@ public class LibrariesDownloadTaskFactory : INetworkTaskFactory
|
||||
{
|
||||
NetworkTask? networkTask = null;
|
||||
if (!CheckFiles(checkHashes))
|
||||
{
|
||||
networkTask = new NetworkTask(
|
||||
$"libraries '{_descriptor.id}'",
|
||||
GetTotalSize(),
|
||||
Download
|
||||
);
|
||||
}
|
||||
|
||||
return Task.FromResult(networkTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,19 +28,16 @@ public class ModpackDownloadTaskFactory : INetworkTaskFactory
|
||||
|
||||
public class MyModpackV1DownloadTaskFactory : INetworkTaskFactory
|
||||
{
|
||||
private IOPath _modpackManifesPath;
|
||||
private readonly GameVersionDescriptor _descriptor;
|
||||
private IOPath _modpackDescriptorPath;
|
||||
private IOPath _versionDir;
|
||||
private MyModpackV1? _modpack;
|
||||
private ModpackFilesManifest? _modpackManifest;
|
||||
private HashSet<IOPath> _filesToDosnload = new();
|
||||
|
||||
public MyModpackV1DownloadTaskFactory(GameVersionDescriptor descriptor)
|
||||
{
|
||||
_descriptor = descriptor;
|
||||
_modpackDescriptorPath = PathHelper.GetModpackDescriptorPath(_descriptor.id);
|
||||
_modpackManifesPath = PathHelper.GetModpackManifestPath(_descriptor.id);
|
||||
_versionDir = PathHelper.GetVersionDir(_descriptor.id);
|
||||
}
|
||||
|
||||
@@ -48,9 +45,8 @@ public class MyModpackV1DownloadTaskFactory : INetworkTaskFactory
|
||||
{
|
||||
if(_descriptor.modpack is null)
|
||||
throw new ArgumentNullException(nameof(_descriptor.modpack));
|
||||
|
||||
|
||||
_modpack = await NetworkHelper.ReadOrDownloadAndDeserialize<MyModpackV1>(
|
||||
|
||||
(_modpack, bool didDownloadModpackDescriptor) = await NetworkHelper.ReadOrDownloadAndDeserialize<MyModpackV1>(
|
||||
_modpackDescriptorPath,
|
||||
_descriptor.modpack.artifact.url,
|
||||
_descriptor.modpack.artifact.sha1,
|
||||
@@ -58,21 +54,18 @@ public class MyModpackV1DownloadTaskFactory : INetworkTaskFactory
|
||||
if (_modpack.format_version != _descriptor.modpack.format_version)
|
||||
throw new Exception($"Modpack.format_version mismatches descriptor.modpack.version: " +
|
||||
$"{_modpack.format_version} != {_descriptor.modpack.format_version}");
|
||||
|
||||
_modpackManifest = await NetworkHelper.ReadOrDownloadAndDeserialize<ModpackFilesManifest>(
|
||||
_modpackManifesPath,
|
||||
_modpack.manifest.url,
|
||||
_modpack.manifest.sha1,
|
||||
checkHashes);
|
||||
|
||||
if(!_modpackManifest.CheckFiles(_versionDir, checkHashes, _filesToDosnload))
|
||||
return new NetworkTask(
|
||||
|
||||
NetworkTask? networkTask = null;
|
||||
if(!_modpack.CheckFiles(_versionDir, checkHashes, didDownloadModpackDescriptor, _filesToDosnload))
|
||||
{
|
||||
networkTask = new NetworkTask(
|
||||
$"modpack '{_descriptor.assetIndex.id}'",
|
||||
_modpack.zip.size,
|
||||
Download
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
return networkTask;
|
||||
}
|
||||
|
||||
private async Task Download(NetworkProgressReporter pr, CancellationToken ct)
|
||||
|
||||
@@ -20,11 +20,14 @@ public class VersionJarDownloadTaskFactory : INetworkTaskFactory
|
||||
{
|
||||
NetworkTask? networkTask = null;
|
||||
if (!CheckFiles(checkHashes))
|
||||
{
|
||||
networkTask = new NetworkTask(
|
||||
$"game version jar '{_descriptor.id}'",
|
||||
GetTotalSize(),
|
||||
Download
|
||||
);
|
||||
$"game version jar '{_descriptor.id}'",
|
||||
GetTotalSize(),
|
||||
Download
|
||||
);
|
||||
}
|
||||
|
||||
return Task.FromResult(networkTask);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user