feat(download): modpack search chinese words.
This commit is contained in:
@@ -25,6 +25,16 @@ import java.util.stream.Stream;
|
||||
|
||||
public interface RemoteModRepository {
|
||||
|
||||
enum Type {
|
||||
MOD,
|
||||
MODPACK,
|
||||
RESOURCE_PACK,
|
||||
WORLD,
|
||||
CUSTOMIZATION
|
||||
}
|
||||
|
||||
Type getType();
|
||||
|
||||
enum SortType {
|
||||
DATE_CREATED,
|
||||
POPULARITY,
|
||||
|
||||
@@ -40,13 +40,20 @@ import static org.jackhuang.hmcl.util.Pair.pair;
|
||||
public final class CurseForgeRemoteModRepository implements RemoteModRepository {
|
||||
|
||||
private static final String PREFIX = "https://addons-ecs.forgesvc.net";
|
||||
|
||||
|
||||
private final Type type;
|
||||
private final int section;
|
||||
|
||||
public CurseForgeRemoteModRepository(int section) {
|
||||
private CurseForgeRemoteModRepository(Type type, int section) {
|
||||
this.type = type;
|
||||
this.section = section;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public List<CurseAddon> searchPaginated(String gameVersion, int category, int pageOffset, int pageSize, String searchFilter, int sort) throws IOException {
|
||||
String response = NetworkUtils.doGet(new URL(NetworkUtils.withQuery(PREFIX + "/api/v2/addon/search", mapOf(
|
||||
pair("categoryId", Integer.toString(category)),
|
||||
@@ -158,11 +165,11 @@ public final class CurseForgeRemoteModRepository implements RemoteModRepository
|
||||
public static final int SECTION_UNKNOWN2 = 4979;
|
||||
public static final int SECTION_UNKNOWN3 = 4984;
|
||||
|
||||
public static final CurseForgeRemoteModRepository MODS = new CurseForgeRemoteModRepository(SECTION_MOD);
|
||||
public static final CurseForgeRemoteModRepository MODPACKS = new CurseForgeRemoteModRepository(SECTION_MODPACK);
|
||||
public static final CurseForgeRemoteModRepository RESOURCE_PACKS = new CurseForgeRemoteModRepository(SECTION_RESOURCE_PACK);
|
||||
public static final CurseForgeRemoteModRepository WORLDS = new CurseForgeRemoteModRepository(SECTION_WORLD);
|
||||
public static final CurseForgeRemoteModRepository CUSTOMIZATIONS = new CurseForgeRemoteModRepository(SECTION_CUSTOMIZATION);
|
||||
public static final CurseForgeRemoteModRepository MODS = new CurseForgeRemoteModRepository(Type.MOD, SECTION_MOD);
|
||||
public static final CurseForgeRemoteModRepository MODPACKS = new CurseForgeRemoteModRepository(Type.MODPACK, SECTION_MODPACK);
|
||||
public static final CurseForgeRemoteModRepository RESOURCE_PACKS = new CurseForgeRemoteModRepository(Type.RESOURCE_PACK, SECTION_RESOURCE_PACK);
|
||||
public static final CurseForgeRemoteModRepository WORLDS = new CurseForgeRemoteModRepository(Type.WORLD, SECTION_WORLD);
|
||||
public static final CurseForgeRemoteModRepository CUSTOMIZATIONS = new CurseForgeRemoteModRepository(Type.CUSTOMIZATION, SECTION_CUSTOMIZATION);
|
||||
|
||||
public static class Category {
|
||||
private final int id;
|
||||
|
||||
@@ -52,6 +52,11 @@ public final class ModrinthRemoteModRepository implements RemoteModRepository {
|
||||
private ModrinthRemoteModRepository() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getType() {
|
||||
return Type.MOD;
|
||||
}
|
||||
|
||||
private static String convertSortType(SortType sortType) {
|
||||
switch (sortType) {
|
||||
case DATE_CREATED:
|
||||
|
||||
Reference in New Issue
Block a user