From 97cf9dcf16ab26ebd73331f181069cf74cc1b370 Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 12 Sep 2026 20:39:34 +0800 Subject: [PATCH] Refactor native library checks for improved clarity and efficiency (#6857) --- .../main/java/org/jackhuang/hmcl/util/NativePatcher.java | 2 +- .../src/main/java/org/jackhuang/hmcl/game/Library.java | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/util/NativePatcher.java b/HMCL/src/main/java/org/jackhuang/hmcl/util/NativePatcher.java index 3351b8769a..d4f8a43a6b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/NativePatcher.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/util/NativePatcher.java @@ -107,7 +107,7 @@ public final class NativePatcher { .filter(library -> { if (library.classifier() != null && library.classifier().startsWith("natives") && "org.lwjgl".equals(library.groupId())) { - if ((useNativeGLFWorSDL && ("lwjgl-glfw".equals(library.artifactId()) || library.artifactId().contains("sdl"))) + if ((useNativeGLFWorSDL && ("lwjgl-glfw".equals(library.artifactId()) || "lwjgl-sdl".equals(library.artifactId()))) || (useNativeOpenAL && "lwjgl-openal".equals(library.artifactId()))) { LOG.info("Filter out " + library.name()); return false; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java index d0798fa65b..8c8a81417e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java @@ -203,12 +203,9 @@ public record Library( return true; } - if (downloads != null && downloads.classifiers() != null - && downloads.classifiers().keySet().stream().anyMatch(s -> s.startsWith("native"))) { - return true; - } - - return this.artifact().getClassifier() != null && this.artifact().getClassifier().startsWith("natives-"); + return downloads != null + && downloads.classifiers() != null + && downloads.classifiers().keySet().stream().anyMatch(s -> s.startsWith("native")); } public @Nullable LibraryDownloadInfo getRawDownloadInfo() {