Utilities for managing dependencies. Provides two key functions: - Ensure a mod is not loaded if a dependency is missing or has a mismatched version. - Ensure mods are loaded in the correct order (dependency mods before dependent mods).
Static methods
staticcompileDependencies(modList:Array<ModMetadata>):Map<String, VersionRule>
Given a list of mods, return a merged list of mod dependency versions.
For example, if one mod requires >1.2.0
of modA
and another requires >1.3.0
of modA
,
the merged list will be [modA: '>1.2.0 && >1.3.0']
.
staticsortByDependencies(modList:Array<ModMetadata>, skipErrors:Bool = false):Array<ModMetadata>
Given an ordered list of mods, return a reordered list of mods which satisfies dependency order.
Parameters:
mods | The list of mods to reorder. |
---|---|
ignoreErrors | If true, omit mods which cannot be reordered or whose dependencies are not met.
If false, raise an error in these cases and return |
Returns:
The reordered list of mods, or []
if an error occurred.