From 39d89b785044c0f760c115d9808fc67413bb7d04 Mon Sep 17 00:00:00 2001 From: ThatGravyBoat Date: Fri, 28 Feb 2025 19:48:02 -0330 Subject: [PATCH] fix: crash when using mixin constraints on neo(forge) (#7) --- .../ForgeAbstractionsImpl.java | 18 ++++-------------- .../NeoForgeAbstractionsImpl.java | 17 ++++------------- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/src/forge/java/com/moulberry/mixinconstraints/ForgeAbstractionsImpl.java b/src/forge/java/com/moulberry/mixinconstraints/ForgeAbstractionsImpl.java index 6039516..5d25f42 100644 --- a/src/forge/java/com/moulberry/mixinconstraints/ForgeAbstractionsImpl.java +++ b/src/forge/java/com/moulberry/mixinconstraints/ForgeAbstractionsImpl.java @@ -1,17 +1,13 @@ package com.moulberry.mixinconstraints; import com.moulberry.mixinconstraints.util.Abstractions; +import net.minecraftforge.fml.loading.FMLLoader; import net.minecraftforge.fml.loading.LoadingModList; +import net.minecraftforge.forgespi.language.IModFileInfo; import org.apache.maven.artifact.versioning.ArtifactVersion; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.Restriction; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.loading.FMLLoader; -import net.minecraftforge.forgespi.language.IModInfo; - -import java.util.List; - public class ForgeAbstractionsImpl extends Abstractions { @Override protected boolean isDevEnvironment() { @@ -20,14 +16,8 @@ protected boolean isDevEnvironment() { @Override protected String getModVersion(String modid) { - List infoList = LoadingModList.get().getModFileById(modid).getMods(); - if(infoList.isEmpty()) { - return null; - } else if(infoList.size() > 1) { - MixinConstraints.LOGGER.warn("Multiple mods with id {} found, using first one", modid); - } - - return infoList.get(0).getVersion().toString(); + IModFileInfo info = LoadingModList.get().getModFileById(modid); + return info == null || info.getMods().isEmpty() ? null : info.versionString(); } @Override diff --git a/src/neoforge/java/com/moulberry/mixinconstraints/NeoForgeAbstractionsImpl.java b/src/neoforge/java/com/moulberry/mixinconstraints/NeoForgeAbstractionsImpl.java index edf1454..0a075bd 100644 --- a/src/neoforge/java/com/moulberry/mixinconstraints/NeoForgeAbstractionsImpl.java +++ b/src/neoforge/java/com/moulberry/mixinconstraints/NeoForgeAbstractionsImpl.java @@ -1,16 +1,13 @@ package com.moulberry.mixinconstraints; import com.moulberry.mixinconstraints.util.Abstractions; -import net.neoforged.fml.ModList; import net.neoforged.fml.loading.FMLLoader; +import net.neoforged.fml.loading.LoadingModList; +import net.neoforged.neoforgespi.language.IModFileInfo; import org.apache.maven.artifact.versioning.ArtifactVersion; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.Restriction; -import net.neoforged.neoforgespi.language.IModInfo; - -import java.util.List; - public class NeoForgeAbstractionsImpl extends Abstractions { @Override protected boolean isDevEnvironment() { @@ -19,14 +16,8 @@ protected boolean isDevEnvironment() { @Override protected String getModVersion(String modid) { - List infoList = ModList.get().getModFileById(modid).getMods(); - if(infoList.isEmpty()) { - return null; - } else if(infoList.size() > 1) { - MixinConstraints.LOGGER.warn("Multiple mods with id {} found, using first one", modid); - } - - return infoList.get(0).getVersion().toString(); + IModFileInfo info = LoadingModList.get().getModFileById(modid); + return info == null || info.getMods().isEmpty() ? null : info.versionString(); } @Override