优化 BMCLAPIDownloadProvider::injectURL
This commit is contained in:
parent
4c4fc36756
commit
1935f9f3ca
|
@ -17,6 +17,8 @@
|
|||
*/
|
||||
package com.tungsten.fclcore.download;
|
||||
|
||||
import static com.tungsten.fclcore.util.Pair.pair;
|
||||
|
||||
import com.tungsten.fclcore.download.fabric.FabricAPIVersionList;
|
||||
import com.tungsten.fclcore.download.fabric.FabricVersionList;
|
||||
import com.tungsten.fclcore.download.forge.ForgeBMCLVersionList;
|
||||
|
@ -26,8 +28,12 @@ import com.tungsten.fclcore.download.neoforge.NeoForgeBMCLVersionList;
|
|||
import com.tungsten.fclcore.download.optifine.OptiFineBMCLVersionList;
|
||||
import com.tungsten.fclcore.download.quilt.QuiltAPIVersionList;
|
||||
import com.tungsten.fclcore.download.quilt.QuiltVersionList;
|
||||
import com.tungsten.fclcore.util.Pair;
|
||||
|
||||
public class BMCLAPIDownloadProvider implements DownloadProvider {
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public final class BMCLAPIDownloadProvider implements DownloadProvider {
|
||||
private final String apiRoot;
|
||||
private final GameVersionList game;
|
||||
private final FabricVersionList fabric;
|
||||
|
@ -38,6 +44,7 @@ public class BMCLAPIDownloadProvider implements DownloadProvider {
|
|||
private final OptiFineBMCLVersionList optifine;
|
||||
private final QuiltVersionList quilt;
|
||||
private final QuiltAPIVersionList quiltApi;
|
||||
private final List<Pair<String, String>> replacement;
|
||||
|
||||
public BMCLAPIDownloadProvider(String apiRoot) {
|
||||
this.apiRoot = apiRoot;
|
||||
|
@ -50,6 +57,24 @@ public class BMCLAPIDownloadProvider implements DownloadProvider {
|
|||
this.optifine = new OptiFineBMCLVersionList(apiRoot);
|
||||
this.quilt = new QuiltVersionList(this);
|
||||
this.quiltApi = new QuiltAPIVersionList(this);
|
||||
this.replacement = Arrays.asList(
|
||||
pair("https://bmclapi2.bangbang93.com", apiRoot),
|
||||
pair("https://launchermeta.mojang.com", apiRoot),
|
||||
pair("https://piston-meta.mojang.com", apiRoot),
|
||||
pair("https://piston-data.mojang.com", apiRoot),
|
||||
pair("https://launcher.mojang.com", apiRoot),
|
||||
pair("https://libraries.minecraft.net", apiRoot + "/libraries"),
|
||||
pair("http://files.minecraftforge.net/maven", apiRoot + "/maven"),
|
||||
pair("https://files.minecraftforge.net/maven", apiRoot + "/maven"),
|
||||
pair("https://maven.minecraftforge.net", apiRoot + "/maven"),
|
||||
pair("https://maven.neoforged.net/releases/net/neoforged/forge", apiRoot + "/maven/net/neoforged/forge"),
|
||||
pair("http://dl.liteloader.com/versions/versions.json", apiRoot + "/maven/com/mumfrey/liteloader/versions.json"),
|
||||
pair("http://dl.liteloader.com/versions", apiRoot + "/maven"),
|
||||
pair("https://meta.fabricmc.net", apiRoot + "/fabric-meta"),
|
||||
pair("https://maven.fabricmc.net", apiRoot + "/maven"),
|
||||
pair("https://authlib-injector.yushi.moe", apiRoot + "/mirrors/authlib-injector"),
|
||||
pair("https://repo1.maven.org/maven2", "https://mirrors.cloud.tencent.com/nexus/repository/maven-public")
|
||||
);
|
||||
}
|
||||
|
||||
public String getApiRoot() {
|
||||
|
@ -94,22 +119,13 @@ public class BMCLAPIDownloadProvider implements DownloadProvider {
|
|||
|
||||
@Override
|
||||
public String injectURL(String baseURL) {
|
||||
return baseURL
|
||||
.replace("https://bmclapi2.bangbang93.com", apiRoot)
|
||||
.replace("https://launchermeta.mojang.com", apiRoot)
|
||||
.replace("https://piston-meta.mojang.com", apiRoot)
|
||||
.replace("https://piston-data.mojang.com", apiRoot)
|
||||
.replace("https://launcher.mojang.com", apiRoot)
|
||||
.replace("https://libraries.minecraft.net", apiRoot + "/libraries")
|
||||
.replaceFirst("https?://files\\.minecraftforge\\.net/maven", apiRoot + "/maven")
|
||||
.replace("https://maven.minecraftforge.net", apiRoot + "/maven")
|
||||
.replace("https://maven.neoforged.net/releases/net/neoforged/forge", apiRoot + "/maven/net/neoforged/forge")
|
||||
.replace("http://dl.liteloader.com/versions/versions.json", apiRoot + "/maven/com/mumfrey/liteloader/versions.json")
|
||||
.replace("http://dl.liteloader.com/versions", apiRoot + "/maven")
|
||||
.replace("https://meta.fabricmc.net", apiRoot + "/fabric-meta")
|
||||
.replace("https://maven.fabricmc.net", apiRoot + "/maven")
|
||||
.replace("https://authlib-injector.yushi.moe", apiRoot + "/mirrors/authlib-injector")
|
||||
.replace("https://repo1.maven.org/maven2", "https://maven.aliyun.com/repository/central");
|
||||
for (Pair<String, String> pair : replacement) {
|
||||
if (baseURL.startsWith(pair.getKey())) {
|
||||
return pair.getValue() + baseURL.substring(pair.getKey().length());
|
||||
}
|
||||
}
|
||||
|
||||
return baseURL;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue