diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java index 0745dc543..5e85b28e7 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/download/MinecraftDownloadService.java @@ -172,7 +172,7 @@ public class MinecraftDownloadService extends IMinecraftDownloadService { @Override public String apply(Integer t) { - return DownloadType.values()[t / 3].getProvider().getVersionsDownloadURL() + suffix; + return DownloadType.values()[t / 2].getProvider().getVersionsDownloadURL() + suffix; } } diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/FileDownloadTask.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/FileDownloadTask.java index e1aa52393..6bafe2135 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/FileDownloadTask.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/FileDownloadTask.java @@ -121,8 +121,11 @@ public class FileDownloadTask extends Task implements PreviousResult, Prev if (repeat > 0) { HMCLog.warn("Failed to download, repeat: " + repeat); if (failedCallbackReturnsNewURL != null) { - url = IOUtils.parseURL(failedCallbackReturnsNewURL.apply(repeat)); - HMCLog.warn("Switch to: " + url); + URL tmp = IOUtils.parseURL(failedCallbackReturnsNewURL.apply(repeat)); + if (tmp != null) { + url = tmp; + HMCLog.warn("Switch to: " + url); + } } } try {