This commit is contained in:
Anuken
2023-07-29 00:22:01 -04:00
parent ba9e39d7a4
commit 1968da9409

View File

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