From 513f53bc063c8135faa43ed24c841bd8f92c3963 Mon Sep 17 00:00:00 2001 From: Glavo Date: Tue, 8 Sep 2026 20:18:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=AE=89=E8=A3=85=E4=BA=86=20Forge=20=E7=9A=84=20Mine?= =?UTF-8?q?craft=201.6.4=20=E5=AE=9E=E4=BE=8B=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(#6839)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jackhuang/hmcl/game/GameComponentType.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameComponentType.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameComponentType.java index a29ab86ce9..457ac16ecb 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameComponentType.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameComponentType.java @@ -83,6 +83,7 @@ public enum GameComponentType { }, FORGE("forge", ModLoaderType.FORGE) { private final Pattern FORGE_VERSION_MATCHER = Pattern.compile("^([0-9.]+)-(?[0-9.]+)(-([0-9.]+))?$"); + private final Set ARTIFACTS = Set.of("forge", "fmlloader", "minecraftforge"); @Override protected @Nullable String getComponentVersion(GameInstanceManifest manifest, String libraryVersion) { @@ -95,13 +96,17 @@ public enum GameComponentType { @Override protected boolean matchLibrary(Library library, List libraries) { - for (Library l : libraries) { - if (NEO_FORGE.matchLibrary(l, libraries)) { - return false; + if ("net.minecraftforge".equals(library.groupId()) && ARTIFACTS.contains(library.artifactId())) { + for (Library l : libraries) { + if (NEO_FORGE.matchLibrary(l, libraries)) { + return false; + } } + + return true; } - return "net.minecraftforge".equals(library.groupId()) && ("forge".equals(library.artifactId()) || "fmlloader".equals(library.artifactId())); + return false; } }, CLEANROOM("cleanroom", ModLoaderType.CLEANROOM) {