Plugin architecture #339
Labels
enhancement
New feature or request
idea
A large scope idea that needs to be discussed before it can be implemented.
Milestone
What do you want to see?
A proper plugin architecture, where you can replace various stock code (see #322) such as construction queues or vehicles with custom logic that implements the same interfaces.
In a mod definition, you could specify which stock modules you'd want to override and with what classes from what DLLs / scripts. These would correspond to the injected classes in dependency injection.
How would it help players?
Makes modding even more powerful!
Alternatives
???
Screenshots and mockups
N/A
Things to consider
Should we allow DLLs, scripts, or both to be imported?
How can we keep plugins in sync between players in a multiplayer game? Names and version numbers, perhaps?
Are we just giving up on securing the API?
Should the existing injected modules be broken down into smaller pieces or be given virtual methods so they don't have to be replaced wholesale?
Where should these plugins be stored? In a mod directory? In a separate directory hierarchy called Plugins (since probably many mods will use the stock plugins or any other set of plugins)?
Related issues
#322 - dependency injection which makes plugins possible
The text was updated successfully, but these errors were encountered: