diff --git a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java index 7ae1f8960..c91090ea6 100644 --- a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java +++ b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java @@ -39,33 +39,35 @@ public class LibraryDownloadInfo extends GameDownloadInfo { IDownloadProvider provider = dt.getProvider(); String downloadUrl = (forgeURL == null ? provider.getLibraryDownloadURL() : forgeURL); if (StrUtils.isNotBlank(url) && allowSelf) { - downloadUrl = provider.getParsedDownloadURL(url); + downloadUrl = url; } - return getUrlWithBaseUrl(downloadUrl); + return provider.getParsedDownloadURL(getUrlWithBaseUrl(downloadUrl)); } - public String getUrlWithBaseUrl(String baseUrl) { - if (!baseUrl.endsWith(".jar")) { - if (path == null) - return null; - else - baseUrl = IOUtils.addURLSeparator(baseUrl) + path.replace('\\', '/'); - } - return baseUrl; - } - public String getRetryUrl(DownloadType dt) { IDownloadProvider provider = dt.getProvider(); String retryBaseUrl = provider.getRetryLibraryDownloadURL(); - if (StrUtils.isBlank(retryBaseUrl)) { - return null; - } String downloadUrl = (forgeURL == null ? retryBaseUrl : forgeURL); if (StrUtils.isNotBlank(url) && provider.isAllowedToUseSelfURL()) { downloadUrl = url; } - return getUrlWithBaseUrl(downloadUrl); + if (StrUtils.isBlank(downloadUrl)) { + return null; + } + + return provider.getParsedDownloadURL(getUrlWithBaseUrl(downloadUrl)); + } + + private String getUrlWithBaseUrl(String baseUrl) { + if (!baseUrl.endsWith(".jar")) { + if (path == null) { + return null; + } else { + baseUrl = IOUtils.addURLSeparator(baseUrl) + path.replace('\\', '/'); + } + } + return baseUrl; } }