diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MojangDownloadProvider.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MojangDownloadProvider.java index 86fc3e032..a0a677f25 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MojangDownloadProvider.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MojangDownloadProvider.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.download; import org.jackhuang.hmcl.download.fabric.FabricAPIVersionList; import org.jackhuang.hmcl.download.fabric.FabricVersionList; -import org.jackhuang.hmcl.download.forge.ForgeVersionList; +import org.jackhuang.hmcl.download.forge.ForgeBMCLVersionList; import org.jackhuang.hmcl.download.game.GameVersionList; import org.jackhuang.hmcl.download.liteloader.LiteLoaderVersionList; import org.jackhuang.hmcl.download.neoforge.NeoForgeOfficialVersionList; @@ -35,7 +35,7 @@ public class MojangDownloadProvider implements DownloadProvider { private final GameVersionList game; private final FabricVersionList fabric; private final FabricAPIVersionList fabricApi; - private final ForgeVersionList forge; + private final ForgeBMCLVersionList forge; private final NeoForgeOfficialVersionList neoforge; private final LiteLoaderVersionList liteLoader; private final OptiFineBMCLVersionList optifine; @@ -49,7 +49,7 @@ public class MojangDownloadProvider implements DownloadProvider { this.game = new GameVersionList(this); this.fabric = new FabricVersionList(this); this.fabricApi = new FabricAPIVersionList(this); - this.forge = new ForgeVersionList(this); + this.forge = new ForgeBMCLVersionList(apiRoot); this.neoforge = new NeoForgeOfficialVersionList(this); this.liteLoader = new LiteLoaderVersionList(this); this.optifine = new OptiFineBMCLVersionList(apiRoot); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java index e450a70c1..fa9a55813 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java @@ -43,17 +43,9 @@ public final class ForgeVersionList extends VersionList { return false; } - private static String toLookupVersion(String gameVersion) { - return "1.7.10-pre4".equals(gameVersion) ? "1.7.10_pre4" : gameVersion; - } - - private static String fromLookupVersion(String lookupVersion) { - return "1.7.10_pre4".equals(lookupVersion) ? "1.7.10-pre4" : lookupVersion; - } - @Override public CompletableFuture refreshAsync() { - return HttpRequest.GET(FORGE_LIST).getJsonAsync(ForgeVersionRoot.class) + return HttpRequest.GET(downloadProvider.injectURL(FORGE_LIST)).getJsonAsync(ForgeVersionRoot.class) .thenAcceptAsync(root -> { lock.writeLock().lock(); @@ -63,7 +55,7 @@ public final class ForgeVersionList extends VersionList { versions.clear(); for (Map.Entry entry : root.getGameVersions().entrySet()) { - String gameVersion = fromLookupVersion(VersionNumber.normalize(entry.getKey())); + String gameVersion = VersionNumber.normalize(entry.getKey()); for (int v : entry.getValue()) { ForgeVersion version = root.getNumber().get(v); if (version == null) @@ -80,7 +72,7 @@ public final class ForgeVersionList extends VersionList { if (jar == null) continue; versions.put(gameVersion, new ForgeRemoteVersion( - toLookupVersion(version.getGameVersion()), version.getVersion(), null, Collections.singletonList(jar) + version.getGameVersion(), version.getVersion(), null, Collections.singletonList(jar) )); } } @@ -90,5 +82,5 @@ public final class ForgeVersionList extends VersionList { }); } - public static final String FORGE_LIST = "https://zkitefly.github.io/forge-maven-metadata/list.json"; + public static final String FORGE_LIST = "https://files.minecraftforge.net/maven/net/minecraftforge/forge/json"; }