diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseForgeRemoteModRepository.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseForgeRemoteModRepository.java index a02ce58ab..2b6c03132 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseForgeRemoteModRepository.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseForgeRemoteModRepository.java @@ -111,9 +111,8 @@ public final class CurseForgeRemoteModRepository implements RemoteModRepository .header("X-API-KEY", apiKey) .getJson(new TypeToken>>() { }.getType()); - Stream res = response.getData().stream().map(CurseAddon::toMod); if (searchFilter.isEmpty()) { - return new SearchResult(res, (int)Math.ceil((double)response.pagination.totalCount / pageSize)); + return new SearchResult(response.getData().stream().map(CurseAddon::toMod), (int)Math.ceil((double)response.pagination.totalCount / pageSize)); } // https://github.com/HMCL-dev/HMCL/issues/1549 @@ -125,7 +124,7 @@ public final class CurseForgeRemoteModRepository implements RemoteModRepository StringUtils.LevCalculator levCalculator = new StringUtils.LevCalculator(); - return new SearchResult(res.map(remoteMod -> { + return new SearchResult(response.getData().stream().map(CurseAddon::toMod).map(remoteMod -> { String lowerCaseResult = remoteMod.getTitle().toLowerCase(); int diff = levCalculator.calc(lowerCaseSearchFilter, lowerCaseResult); @@ -136,7 +135,7 @@ public final class CurseForgeRemoteModRepository implements RemoteModRepository } return pair(remoteMod, diff); - }).sorted(Comparator.comparingInt(Pair::getValue)).map(Pair::getKey), res, response.pagination.totalCount); + }).sorted(Comparator.comparingInt(Pair::getValue)).map(Pair::getKey), response.getData().stream().map(CurseAddon::toMod), response.pagination.totalCount); } @Override