fix: load fabric api version list by incorrect game version. Closes #1273.

This commit is contained in:
huanghongxun
2022-01-02 00:49:30 +08:00
parent 56538623a5
commit 2436dab797
3 changed files with 2 additions and 17 deletions

View File

@@ -118,7 +118,7 @@ public class DownloadListPage extends Control implements DecoratorPage, VersionP
if (!searchInitialized) {
searchInitialized = true;
search("", null, 0, "", 0);
search("", null, 0, "", RemoteModRepository.SortType.DATE_CREATED);
}
if (versionSelection) {

View File

@@ -48,7 +48,7 @@ public class ModDownloadListPage extends DownloadListPage {
private class Repository implements RemoteModRepository {
@Override
public Stream<RemoteMod> search(String gameVersion, Category category, int pageOffset, int pageSize, String searchFilter, int sort) throws IOException {
public Stream<RemoteMod> search(String gameVersion, Category category, int pageOffset, int pageSize, String searchFilter, SortType sort) throws IOException {
String newSearchFilter;
if (StringUtils.CHINESE_PATTERN.matcher(searchFilter).find()) {
List<ModTranslations.Mod> mods = ModTranslations.searchMod(searchFilter);

View File

@@ -23,11 +23,8 @@ import org.jackhuang.hmcl.mod.RemoteMod;
import org.jackhuang.hmcl.mod.modrinth.ModrinthRemoteModRepository;
import org.jackhuang.hmcl.util.Lang;
import java.util.Collection;
import java.util.Collections;
import java.util.concurrent.CompletableFuture;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static org.jackhuang.hmcl.util.Lang.wrap;
@@ -55,16 +52,4 @@ public class FabricAPIVersionList extends VersionList<FabricAPIRemoteVersion> {
}
}));
}
@Override
protected Collection<FabricAPIRemoteVersion> getVersionsImpl(String gameVersion) {
Matcher matcher = GAME_VERSION_PATTERN.matcher(gameVersion);
if (matcher.find()) {
return super.getVersionsImpl(String.format("%s.%s", matcher.group("major"), matcher.group("minor")));
}
return super.getVersionsImpl(gameVersion);
}
private static final Pattern FABRIC_VERSION_PATTERN = Pattern.compile("^(?<version>[0-9.]+)\\+(build\\.(?<build>\\d+)-)?(?<mcversion>[0-9.]+)$");
private static final Pattern GAME_VERSION_PATTERN = Pattern.compile("^(?<major>[0-9]+)\\.(?<minor>[0-9]+)");
}