File information

Last updated

Original upload

Created by

MaskPlague

Uploaded by

MaskPlague

Virus scan

Safe to use

About this mod

A fast-ESLifing tool for Mod Organizer 2. Notifies you of potential light plugins and allows you to flag them.

Requirements
Permissions and credits
Changelogs
PLEASE read the Warnings/Notes at the bottom if nothing else.

What this does:
This plugin will notify you if a mod can be made light by simply changing the flag or if a mod can be compacted to fit the requirements to be light. It also provides a UI that allows you to ESLifiy mods that fit esl requirements. This is essentially mimicking the feature that is present in Vortex. It’s like Ruddy88 Eslify as a faster GUI + xEdit’s script Find esps that can be esl as a MO2 notification.


Specifics:

There are multiple MO2 plugin components to this mod:
  • ESLifierWarn: A notification for possible light plugins.
  • ESLifier: A UI for managing possible light plugins.
  • Light Qualification Checker: A simple program that retrieves plugin information.

ELSifierWarn:
This plugin will automatically send a notification (same place as missing master / form 43 warning) to you when there are plugins that can be light or that can be light after compacting. If a plugin can be light, then it will also warn if the plugin has cells. 

There are two settings for ESLifierWarn:
  • Display Plugins With Cells: Can be true or false. If true, then both the notification and ESLifier will display plugins that can be light but have cells. If false, then neither will show plugins with cells. ESLifierWarn is categorized under Diagnose in the plugin settings tab.
  • Quick Mode Notifications: Can be true or false. If true, when clicking the notification icon to open the notifications screen in MO2, ESLifierWarn will not process the entire mod list. It will not display detailed information, only that there is a plugin can be ESLified. Best for larger mod lists.

ESLifier:
This plugin will show up under the Tools dropdown in MO2. When you select ESLifier a prompt will ask you if you would like to ESLify, Add to Ignore List, or Remove from Ignore List, or Undo ESLifyt:
  • ESLify: Displays a list of plugins that can be made light by simply adding the ESL flag. You can select the check box next to the plugins you want to ESLify and click Ok to change the plugin flags (this modifies the byte in the file and doesn't require xEdit). This will also ask if you want to change any plugin headers that are 1.70 to 1.71 (this is necessary for the new form ID range, doesn't hurt 1130+, and doesn't hurt older skyrim versions if you have Backported Extended Esl Support.)
  • Add to Ignore List: Similar to ESLify, but instead of changing a flag, it adds the plugins to the ignore list so that ESLifierWarn and ESLifier will not show that plugin.
  • Remove from Ignore List: Similar to Add to Ignore List, but this option shows the list of ignored plugins and allows you to remove them from the list.
  • Undo ESLify: Displays a list of plugins that were previously set as ESL via the ESLify option. You can select the plugins you want to remove the ESL flag from. (This will not undo the header change from 1.70 to 1.71).

For large mod lists (around 2k mods), the tool may take 1-10 seconds to load the first two options above, as it needs to rebuild the necessary plugin lists, which involves processing your entire mod list.

There are three settings for ESLifier:
  • Enable Refresh: Can be true or false (default: true). If true, opening ESLifier's UI will trigger a MO2 refresh to ensure the plugin list is up-to-date.
  • ignoredPlugins: A string that holds the list of ignored plugins. You can manually edit this string if you wish but the UI is designed to handle it. The format for the string is 'C:\full\path\to\1stPlugin.esp|||C:\full\path\to\2ndPlugin.esp|||etc'. If you want to manually edit it, ensure the string format is consistent. Alternatively, you can delete the entire string to quickly clear the ignore list.
  • ESLified by ESLifier: A string that holds the list of ESLified plugins by ESLifier.
  • Clean Up ESLified List: Can be true or false (default: false). If true, opening ESLifier's undo option will remove previously ESLified plugins from the list if their mod is not installed/enabled.

Light Qualification Checker:
This is a utility for the other two plugins, and you can ignore it. It gets if a file can be ESLified (checks for max form id and form id count), if it has cells, and if it needs compacting and returns that information to the ESLifierWarn and ESLifier plugins. It has no settings.


Requirements:
Requires MO2 v2.5.0+, This plugin's UI elements are built using PyQt6 which is included with version 2.5.0+ of MO2. Older versions of MO2 use PyQt5 and earlier
I only considered Skyrim SE while writing this plugin, but it may work for Skyrim VR, as I believe the file structure is the same.

WARNING/Notes:
  • This plugin does NOT take into account if a plugin has form references in a script/SKSE dll before it concludes that a mod can be compacted.
  • This plugin does NOT take into account if a plugin has files with Form ID names, SEQ files, or Facegen before it concludes that a mod can be compacted.
Adding the above would significantly increase the already long (over a second) processing time. I'll consider making it an option in the future if I can confirm that everything else is working correctly. If you want to compact a mod regardless of the presence of form ids outside of the plugin file, then there is a program called ESLifyEverything, which will do the renaming, script recompiling, etc.
  • This mod does not compact form ids, you'll need to run xEdit for that.
  • All the warnings in regards to compacting form ids present in Fractal's Updated ESL finding scripts for xEdit also apply here.
  • Backing up mods is recommended as this plugin is still new.

Installation:
Unpack/unzip/extract ESLifier plugin.zip and put the ESLifier folder into MO2's plugins folder (not the ESLifier plugin folder but it's subfolder ESLifier).
For example, the ESLifier.py file should be located at "MO2/plugins/ESLifier/ESLifier.py" (refer to the last image). 

Uninstallation:
Delete the ESLifier folder in MO2's plugin folder.

TODO:
Potentially add option to scan file names using regex to detect form id like file names.
Potentially add option to scan for the presence of files that would need to be recompiled/generated if you were to compact fids.