diff --git a/lib/mod_list.dart b/lib/mod_list.dart index 376c4f5..7d88311 100644 --- a/lib/mod_list.dart +++ b/lib/mod_list.dart @@ -337,6 +337,15 @@ class ModList { if (loadAfterMod != null && loadOrder.order.indexOf(mod) < loadOrder.order.indexOf(loadAfterMod)) { + final loadAfterIndex = loadOrder.order.indexOf(loadAfterMod); + // Mod is not loaded, we don't care about it + if (loadAfterIndex == -1) { + logger.warning( + 'Missing loadAfter: ${mod.id} requires mod with ID $loadAfter', + ); + continue; + } + logger.info( 'Reordering: ${mod.id} should come after ${loadAfterMod.id}', ); @@ -352,6 +361,15 @@ class ModList { if (loadBeforeMod != null && loadOrder.order.indexOf(mod) > loadOrder.order.indexOf(loadBeforeMod)) { + final loadBeforeIndex = loadOrder.order.indexOf(loadBeforeMod); + // Mod is not loaded, we don't care about it + if (loadBeforeIndex == -1) { + logger.warning( + 'Missing loadBefore: ${mod.id} requires mod with ID $loadBefore', + ); + continue; + } + logger.info( 'Reordering: ${mod.id} should come before ${loadBeforeMod.id}', );