diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-12-10 20:33:24 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-12-10 20:33:24 +0100 |
commit | 10e13df00d618c408d4772920e7bc64efc8df174 (patch) | |
tree | c0e82d74e96a66036792b70e6c87db85c7430988 /logic/OneSixUpdate.cpp | |
parent | 1b185eba41319be846eed07efb1e90d8b6d9e9aa (diff) | |
download | MultiMC-10e13df00d618c408d4772920e7bc64efc8df174.tar MultiMC-10e13df00d618c408d4772920e7bc64efc8df174.tar.gz MultiMC-10e13df00d618c408d4772920e7bc64efc8df174.tar.lz MultiMC-10e13df00d618c408d4772920e7bc64efc8df174.tar.xz MultiMC-10e13df00d618c408d4772920e7bc64efc8df174.zip |
Use metacache for minecraft.jar downloads
Diffstat (limited to 'logic/OneSixUpdate.cpp')
-rw-r--r-- | logic/OneSixUpdate.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/logic/OneSixUpdate.cpp b/logic/OneSixUpdate.cpp index feaba6a5..44314e1e 100644 --- a/logic/OneSixUpdate.cpp +++ b/logic/OneSixUpdate.cpp @@ -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()); |