diff --git a/lib/mod.dart b/lib/mod.dart index c3a7da4..647b549 100644 --- a/lib/mod.dart +++ b/lib/mod.dart @@ -172,12 +172,32 @@ class Mod { .findElements('li') .map((e) => e.innerText.toLowerCase()) .toList(); - logger.info('Load after dependencies found: ${loadAfter.join(", ")}'); + logger.info( + 'Load after dependencies found: ${loadAfter.isNotEmpty ? loadAfter.join(", ") : "none"}', + ); } catch (e) { logger.warning( - 'Load after element is missing in ModMetaData ($aboutFile).', + 'Load after element is missing or empty in ModMetaData ($aboutFile). Original error: $e', ); } + List loadAfterForce = []; + try { + loadAfterForce = + metadata + .findElements('forceLoadAfter') + .first + .findElements('li') + .map((e) => e.innerText.toLowerCase()) + .toList(); + logger.info( + 'Force load after dependencies found: ${loadAfterForce.isNotEmpty ? loadAfterForce.join(", ") : "none"}', + ); + } catch (e) { + logger.warning( + 'Force load after element is missing or empty in ModMetaData ($aboutFile). Original error: $e', + ); + } + dependencies.addAll(loadAfterForce); List loadBefore = []; try { @@ -188,10 +208,12 @@ class Mod { .findElements('li') .map((e) => e.innerText.toLowerCase()) .toList(); - logger.info('Load before dependencies found: ${loadBefore.join(", ")}'); + logger.info( + 'Load before dependencies found: ${loadBefore.isNotEmpty ? loadBefore.join(", ") : "none"}', + ); } catch (e) { logger.warning( - 'Load before element is missing in ModMetaData ($aboutFile).', + 'Load before element is missing or empty in ModMetaData ($aboutFile). Original error: $e ', ); }