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.