Use metacache for minecraft.jar downloads
This commit is contained in:
parent
1b185eba41
commit
10e13df00d
@ -261,16 +261,20 @@ void LegacyUpdate::jarStart()
|
||||
// Build a list of URLs that will need to be downloaded.
|
||||
setStatus("Downloading new minecraft.jar");
|
||||
|
||||
QString urlstr("http://s3.amazonaws.com/Minecraft.Download/versions/");
|
||||
QString intended_version_id = inst->intendedVersionId();
|
||||
urlstr += intended_version_id + "/" + intended_version_id + ".jar";
|
||||
QString version_id = inst->intendedVersionId();
|
||||
QString localPath = version_id + "/" + version_id + ".jar";
|
||||
QString urlstr = "http://s3.amazonaws.com/Minecraft.Download/versions/" + localPath;
|
||||
|
||||
auto dljob = new NetJob("Minecraft.jar for version " + intended_version_id);
|
||||
dljob->addNetAction(MD5EtagDownload::make(QUrl(urlstr), inst->defaultBaseJar()));
|
||||
legacyDownloadJob.reset(dljob);
|
||||
auto dljob = new NetJob("Minecraft.jar for version " + version_id);
|
||||
|
||||
|
||||
auto metacache = MMC->metacache();
|
||||
auto entry = metacache->resolveEntry("versions", localPath);
|
||||
dljob->addNetAction(CacheDownload::make(QUrl(urlstr), entry));
|
||||
connect(dljob, SIGNAL(succeeded()), SLOT(jarFinished()));
|
||||
connect(dljob, SIGNAL(failed()), SLOT(jarFailed()));
|
||||
connect(dljob, SIGNAL(progress(qint64, qint64)), SIGNAL(progress(qint64, qint64)));
|
||||
legacyDownloadJob.reset(dljob);
|
||||
legacyDownloadJob->start();
|
||||
}
|
||||
|
||||
@ -482,4 +486,4 @@ void LegacyUpdate::ModTheJar()
|
||||
// inst->UpdateVersion(true);
|
||||
emitSucceeded();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -290,17 +290,22 @@ void OneSixUpdate::jarlibStart()
|
||||
return;
|
||||
}
|
||||
|
||||
// Build a list of URLs that will need to be downloaded.
|
||||
std::shared_ptr<OneSixVersion> version = inst->getFullVersion();
|
||||
// minecraft.jar for this version
|
||||
{
|
||||
QString version_id = version->id;
|
||||
QString localPath = version_id + "/" + version_id + ".jar";
|
||||
QString urlstr = "http://s3.amazonaws.com/Minecraft.Download/versions/" + localPath;
|
||||
|
||||
// download the right jar, save it in versions/$version/$version.jar
|
||||
QString urlstr("http://s3.amazonaws.com/Minecraft.Download/versions/");
|
||||
urlstr += version->id + "/" + version->id + ".jar";
|
||||
QString targetstr("versions/");
|
||||
targetstr += version->id + "/" + version->id + ".jar";
|
||||
auto job = new NetJob("Libraries for instance " + inst->name());
|
||||
|
||||
auto job = new NetJob("Libraries for instance " + inst->name());
|
||||
job->addNetAction(MD5EtagDownload::make(QUrl(urlstr), targetstr));
|
||||
jarlibDownloadJob.reset(job);
|
||||
auto metacache = MMC->metacache();
|
||||
auto entry = metacache->resolveEntry("versions", localPath);
|
||||
job->addNetAction(CacheDownload::make(QUrl(urlstr), entry));
|
||||
|
||||
jarlibDownloadJob.reset(job);
|
||||
}
|
||||
|
||||
auto libs = version->getActiveNativeLibs();
|
||||
libs.append(version->getActiveNormalLibs());
|
||||
|
Loading…
Reference in New Issue
Block a user