Hacknet-Pathfinder
Hacknet-Pathfinder copied to clipboard
Plugins installed both globally and in extensions load both times
A plugin installed both globally and in an extension will load both times without any warning.
The global plugins's entry in HacknetChainloader.Instance.Plugins
gets replaced by the extension plugin's entry and gets removed when the extension plugin unloads.
Everything in the plugin (e.g. patches) will be applied twice and might fail.
Extension-installed plugins with already loaded GUIDs should be forbidden from loading.
Additionally, it might be possible to make an attribute on HacknetPlugin
(checked on the global installation) that will allow the global installation to override and replace the extension one while still satisfying the dependencies of other extension plugins.
If the plugin has hard dependencies (or soft dependencies that are installed globally), all of the plugins that are installed twice must support overriding, but if it has soft dependencies that are only installed in the extension, overriding is impossible.