diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 11f3e6b5ff..3834582f10 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -520,7 +520,7 @@ public class Mods implements Loadable{ //only enabled mods participate; this state is resolved in load() Seq enabled = mods.select(LoadedMod::enabled); - var mapping = enabled.asMap(m -> m.meta.name); + var mapping = enabled.asMap(m -> m.meta.internalName); lastOrderedMods = resolveDependencies(enabled.map(m -> m.meta)).orderedKeys().map(mapping::get); } return lastOrderedMods; @@ -828,11 +828,11 @@ public class Mods implements Loadable{ for(var dependency : meta.softDependencies){ dependencies.add(new ModDependency(dependency, false)); } - context.dependencies.put(meta.name, dependencies); + context.dependencies.put(meta.internalName, dependencies); } for(var key : context.dependencies.keys()){ - if (context.ordered.contains(key)) { + if(context.ordered.contains(key)){ continue; } resolve(key, context); @@ -1167,7 +1167,7 @@ public class Mods implements Loadable{ /** Mod metadata information.*/ public static class ModMeta{ - public String name, minGameVersion = "0"; + public String name, minGameVersion = "0", internalName; public @Nullable String displayName, author, description, subtitle, version, main, repo; public Seq dependencies = Seq.with(); public Seq softDependencies = Seq.with(); @@ -1197,6 +1197,9 @@ public class Mods implements Loadable{ if(author != null) author = Strings.stripColors(author); if(description != null) description = Strings.stripColors(description); if(subtitle != null) subtitle = Strings.stripColors(subtitle).replace("\n", ""); + if(name != null){ + internalName = name.toLowerCase(Locale.ROOT).replace(" ", "-"); + } } public int getMinMajor(){