1
0
mirror of https://github.com/SKCraft/Launcher.git synced 2024-11-24 12:16:28 +01:00

Fix Updater logic for downloading a missing version manifest

This codepath was unlikely to be hit since modern manifests always embed
the version manifest, but good to have a working fallback...
This commit is contained in:
Henry Le Grys 2020-12-07 03:44:03 +00:00
parent fb7a99549e
commit b12e3610b5

View File

@ -14,6 +14,8 @@ import com.skcraft.launcher.Instance;
import com.skcraft.launcher.Launcher; import com.skcraft.launcher.Launcher;
import com.skcraft.launcher.LauncherException; import com.skcraft.launcher.LauncherException;
import com.skcraft.launcher.install.Installer; import com.skcraft.launcher.install.Installer;
import com.skcraft.launcher.model.minecraft.ReleaseList;
import com.skcraft.launcher.model.minecraft.Version;
import com.skcraft.launcher.model.minecraft.VersionManifest; import com.skcraft.launcher.model.minecraft.VersionManifest;
import com.skcraft.launcher.model.modpack.Manifest; import com.skcraft.launcher.model.modpack.Manifest;
import com.skcraft.launcher.persistence.Persistence; import com.skcraft.launcher.persistence.Persistence;
@ -108,12 +110,16 @@ public class Updater extends BaseUpdater implements Callable<Instance>, Progress
mapper.writeValue(instance.getVersionPath(), version); mapper.writeValue(instance.getVersionPath(), version);
return version; return version;
} else { } else {
URL url = url(String.format( URL url = url(launcher.getProperties().getProperty("versionManifestUrl"));
launcher.getProperties().getProperty("versionManifestUrl"),
manifest.getGameVersion()));
return HttpRequest ReleaseList releases = HttpRequest.get(url)
.get(url) .execute()
.expectResponseCode(200)
.returnContent()
.asJson(ReleaseList.class);
Version relVersion = releases.find(manifest.getGameVersion());
return HttpRequest.get(url(relVersion.getUrl()))
.execute() .execute()
.expectResponseCode(200) .expectResponseCode(200)
.returnContent() .returnContent()