From 98b87969cb019f4577b0beb4af4591f1fc7e2284 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 26 Jan 2022 13:52:36 +0000 Subject: [PATCH] Don't try to update LWJGL 2 to 3 on arm machines. --- .../providers/minecraft/LWJGLVersionOverride.java | 10 ++++++++-- .../providers/minecraft/MinecraftLibraryProvider.java | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/LWJGLVersionOverride.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/LWJGLVersionOverride.java index c3a6b2e..b4109f2 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/LWJGLVersionOverride.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/LWJGLVersionOverride.java @@ -61,8 +61,14 @@ public class LWJGLVersionOverride { /** * Update lwjgl by default when running on arm and a supported configuration. */ - public static boolean overrideByDefault() { - return NATIVE_CLASSIFIER != null && Architecture.CURRENT.isArm(); + public static boolean overrideByDefault(MinecraftVersionMeta versionMeta) { + if (NATIVE_CLASSIFIER == null || !Architecture.CURRENT.isArm()) { + return false; + } + + return versionMeta.libraries().stream() + .map(MinecraftVersionMeta.Library::name) + .anyMatch(s -> s.startsWith("org.lwjgl:lwjgl:3")); } public static boolean forceOverride(Project project) { diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftLibraryProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftLibraryProvider.java index f7834c6..bcc1d14 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftLibraryProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftLibraryProvider.java @@ -46,7 +46,7 @@ public class MinecraftLibraryProvider { final BundleMetadata serverBundleMetadata = minecraftProvider.getServerBundleMetadata(); final boolean runtimeOnlyLog4j = extension.getRuntimeOnlyLog4j().get(); - final boolean overrideLWJGL = LWJGLVersionOverride.overrideByDefault() || LWJGLVersionOverride.forceOverride(project) || Boolean.getBoolean("loom.test.lwjgloverride"); + final boolean overrideLWJGL = LWJGLVersionOverride.overrideByDefault(versionInfo) || LWJGLVersionOverride.forceOverride(project) || Boolean.getBoolean("loom.test.lwjgloverride"); final boolean isMacOS = OperatingSystem.CURRENT_OS.equals(OperatingSystem.MAC_OS); if (overrideLWJGL) {