From 204cbcbed0b6d1e090429729f32b8156c338c4d4 Mon Sep 17 00:00:00 2001 From: TomatoPuddin Date: Mon, 26 Jun 2023 17:43:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Curse=20RemoteMod.Version?= =?UTF-8?q?=20=E5=AF=B9=E5=A4=9A=E4=B8=AA=20ModLoaderType=20=E7=9A=84?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20(#2311)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jackhuang/hmcl/mod/curse/CurseAddon.java | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseAddon.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseAddon.java index 30545bf1b..5b8fbae6c 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseAddon.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/curse/CurseAddon.java @@ -557,17 +557,6 @@ public class CurseAddon implements RemoteMod.IMod { break; } - ModLoaderType modLoaderType; - if (gameVersions.contains("Forge")) { - modLoaderType = ModLoaderType.FORGE; - } else if (gameVersions.contains("Fabric")) { - modLoaderType = ModLoaderType.FABRIC; - } else if (gameVersions.contains("Quilt")) { - modLoaderType = ModLoaderType.QUILT; - } else { - modLoaderType = ModLoaderType.UNKNOWN; - } - return new RemoteMod.Version( this, Integer.toString(modId), @@ -579,7 +568,12 @@ public class CurseAddon implements RemoteMod.IMod { new RemoteMod.File(Collections.emptyMap(), getDownloadUrl(), getFileName()), Collections.emptyList(), gameVersions.stream().filter(ver -> ver.startsWith("1.") || ver.contains("w")).collect(Collectors.toList()), - Collections.singletonList(modLoaderType) + gameVersions.stream().flatMap(version -> { + if ("fabric".equalsIgnoreCase(version)) return Stream.of(ModLoaderType.FABRIC); + else if ("forge".equalsIgnoreCase(version)) return Stream.of(ModLoaderType.FORGE); + else if ("quilt".equalsIgnoreCase(version)) return Stream.of(ModLoaderType.QUILT); + else return Stream.empty(); + }).collect(Collectors.toList()) ); } }