From 9acfc71003144ebd261464336c065c879e89be43 Mon Sep 17 00:00:00 2001 From: Juuz <6596629+Juuxel@users.noreply.github.com> Date: Wed, 26 Jan 2022 15:14:18 +0200 Subject: [PATCH] Actually fix mixin refmaps by removing broken containsKey --- .../net/fabricmc/loom/task/RemapJarTask.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index 26a594d6..7e92b4c0 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -71,6 +71,7 @@ import org.gradle.api.tasks.InputFiles; import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.TaskAction; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -254,13 +255,18 @@ public abstract class RemapJarTask extends AbstractRemapJarTask { File inputJar = getInputFile().get().getAsFile(); try (JarFile jar = new JarFile(inputJar)) { - Attributes attributes = jar.getManifest().getMainAttributes(); + @Nullable Manifest manifest = jar.getManifest(); - if (attributes.containsKey(Constants.Forge.MIXIN_CONFIGS_MANIFEST_KEY)) { - return Set.of(attributes.getValue(Constants.Forge.MIXIN_CONFIGS_MANIFEST_KEY).split(",")); - } else { - return Set.of(); + if (manifest != null) { + Attributes attributes = manifest.getMainAttributes(); + String mixinConfigs = attributes.getValue(Constants.Forge.MIXIN_CONFIGS_MANIFEST_KEY); + + if (mixinConfigs != null) { + return Set.of(mixinConfigs.split(",")); + } } + + return Set.of(); } catch (IOException e) { throw new UncheckedIOException("Could not read mixin configs from input jar", e); }