-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add option to disable certain mods via JSON #109
Comments
agree. we can salvage a bit from #33 - mod_loader and mod_loader_helper, but just saving to a json instead. |
Maybe we can add some simple profile functionality with this?
I play on PC and Steam Deck and Workshop syncs everything but you might want different mods per system. I think there is mod pack support in steam workshop? |
I mean that is why I use thunderstore, you have separate profiles, don't think steam has that |
Best to keep it in one file. Then you can handle load/save with a single read/write operation. Eg: {
"current_profile": "Default",
"profiles": {
"Default": {
"Author-ModName": true,
"Darkly77-ContentLoader": false,
}
}
} Funcs we'll need to provide: func _load_mod_options() # private, loads options into ModLoader singleton's data on ModLoader init
func save_mod_options() # public, saves all data that's currently in memory, needs to be run after the following 2 funcs too
func enable_mod(mod_id: String, profile: String = "Default")
func disable_mod(mod_id: String, profile: String = "Default")
func create_mod_options_profile(profile: String) # public
func change_mod_options_profile(profile: String) # public |
Yes those are good. Should we enable any dependency of a mod when it is enabled? And disable mods if they depend on a mod that is being disabled? |
I'm assigning myself to this as I'll be working with JSON saving for the Config JSON issues |
I think its a good idea to add an extra key {
"current_profile": "Default",
"profiles": {
"Default": {
"mod_list": {
"Author-ModName": true,
"Darkly77-ContentLoader": false
}
}
}
} |
|
We could add support for checking a file called
mods.json
in the user data folder, and when ModLoader inits, we could check that file and skip any disabled mods.We could also provide a func to save the settings to this file.
This would let games implement a toggle to enable/disable certain mods from within the game itself, so users don't need to unsubscribe from them in the workshop/Thunderstore, or manually delete/rename mod ZIPs from their game folder.
The text was updated successfully, but these errors were encountered: