From 4221cd5acde7285e20b8088d8235571ffbfcc063 Mon Sep 17 00:00:00 2001 From: Luke Bemish Date: Mon, 16 Sep 2024 20:34:25 -0500 Subject: [PATCH] Actually add mod ID format to the contract of getModId() --- .../net/neoforged/fml/loading/moddiscovery/ModInfo.java | 4 ---- .../net/neoforged/neoforgespi/language/IModInfo.java | 9 +++++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/loader/src/main/java/net/neoforged/fml/loading/moddiscovery/ModInfo.java b/loader/src/main/java/net/neoforged/fml/loading/moddiscovery/ModInfo.java index 2dec36e52..ed4c8f212 100644 --- a/loader/src/main/java/net/neoforged/fml/loading/moddiscovery/ModInfo.java +++ b/loader/src/main/java/net/neoforged/fml/loading/moddiscovery/ModInfo.java @@ -29,10 +29,6 @@ public class ModInfo implements IModInfo, IConfigurable { private static final Logger LOGGER = LogUtils.getLogger(); private static final DefaultArtifactVersion DEFAULT_VERSION = new DefaultArtifactVersion("1"); - // Mod IDs must: - // - be from 2 to 64 characters long - // - contain only lowercase letters, digits, underscores, and periods, to satisfy both java module and resource location namespace requirements - // - each dot-separated section must start with a lowercase letter (they must be java identifiers) private static final Pattern VALID_MODID = Pattern.compile("^(?=.{2,64}$)[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$"); private static final Pattern VALID_NAMESPACE = Pattern.compile("^[a-z][a-z0-9_.-]{1,63}$"); private static final Pattern VALID_VERSION = Pattern.compile("^\\d+.*"); diff --git a/loader/src/main/java/net/neoforged/neoforgespi/language/IModInfo.java b/loader/src/main/java/net/neoforged/neoforgespi/language/IModInfo.java index b2a678e3d..ce8e891ad 100644 --- a/loader/src/main/java/net/neoforged/neoforgespi/language/IModInfo.java +++ b/loader/src/main/java/net/neoforged/neoforgespi/language/IModInfo.java @@ -27,6 +27,15 @@ public interface IModInfo { */ IModLanguageLoader getLoader(); + /** + * {@return the mod id} + * Mod IDs must satisfy the following requirements: + * + */ String getModId(); String getDisplayName();