fix: load fabric api version list by incorrect game version. Closes #1273.
This commit is contained in:
@@ -118,7 +118,7 @@ public class DownloadListPage extends Control implements DecoratorPage, VersionP
|
|||||||
|
|
||||||
if (!searchInitialized) {
|
if (!searchInitialized) {
|
||||||
searchInitialized = true;
|
searchInitialized = true;
|
||||||
search("", null, 0, "", 0);
|
search("", null, 0, "", RemoteModRepository.SortType.DATE_CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionSelection) {
|
if (versionSelection) {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class ModDownloadListPage extends DownloadListPage {
|
|||||||
private class Repository implements RemoteModRepository {
|
private class Repository implements RemoteModRepository {
|
||||||
|
|
||||||
@Override
|
@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;
|
String newSearchFilter;
|
||||||
if (StringUtils.CHINESE_PATTERN.matcher(searchFilter).find()) {
|
if (StringUtils.CHINESE_PATTERN.matcher(searchFilter).find()) {
|
||||||
List<ModTranslations.Mod> mods = ModTranslations.searchMod(searchFilter);
|
List<ModTranslations.Mod> mods = ModTranslations.searchMod(searchFilter);
|
||||||
|
|||||||
@@ -23,11 +23,8 @@ import org.jackhuang.hmcl.mod.RemoteMod;
|
|||||||
import org.jackhuang.hmcl.mod.modrinth.ModrinthRemoteModRepository;
|
import org.jackhuang.hmcl.mod.modrinth.ModrinthRemoteModRepository;
|
||||||
import org.jackhuang.hmcl.util.Lang;
|
import org.jackhuang.hmcl.util.Lang;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import static org.jackhuang.hmcl.util.Lang.wrap;
|
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]+)");
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user