-
Notifications
You must be signed in to change notification settings - Fork 125
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 support for loading Thunderstore mods natively #503
Conversation
To keep Thunderstore stuff together
Renamed to `packages` cause it's essentially mod packages.
to match `AUTHOR-MOD-VERSION` pattern.
I put you under review request specifically @F1F7Y as you had some ideas for a v2 rewrite of mods (which I'm all in favour). I see this PR as a good way to prepare for a v2 and as such wanna make sure that it's set up in a way that helps us to get to a v2 ^^ So feedback would be super appreciated when you get the chance to <3 |
Going through it it looks good, will review tomorrow when i get home. Ignoring core mods would this fully replace the Also considering 1 thunderstore package can have multiple mods it might be a good idea to display the thunderstore package name to the user in some way. ( Id keep this for a future PR, just worth mentioning here imo ) |
Awesome, super appreciated <3
That's what we gotta figure out next. Right now all documentation for manually install explains how to extract the folder into the However that doesn't handle the case of what to do with non-Thunderstore mods, e.g. a modder testing a current build of their mod that isn't published to Thunderstore yet. Maybe have another directory to differentiate between core, Thunderstore, and manual (non-thunderstore)? At that point things are gonna start getting chaotic though, especially when you also factor in auto-downloaded mods. So yeah, don't really have a good solution for that yet. My suggestion would be to keep manually installed non-Thunderstore mods in
100% agreed. Thunderstore packages contain a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works in testing
Code looks okay, but the whone ModManager
class should probably be refactored for auto-download
Would we do that in #362 or in a separate PR before/after? ^^ |
Created #505 to discuss timeline of implementation with mod-manager authors under the assumption that apart from technical aspects this PR will be merged. |
Unsure, we'll see how launcher PRs progress as I'd like to implement bobs changes, but making multiple large PRs is just asking for trouble. Regarding this PR i'm fine with this getting merged. |
This PR allows for loading Thunderstore mods directly from a separate directory (
calledwas changed tothunderstore-mods
rn, I'm happy to changepackages
).It expects a folder that represents the unpacked zip from the mod from Thunderstore. This heavily simplifies mod management as now there's a direct link between Thunderstore mod and Northstar (Thunderstore folder name).
Loading user installed Northstar mods from
R2Northstar/mods/
is still supported for now as mod-managers need to be updated first and as a fallback for mods not on Thunderstore.Mod-managers could then also take care of moving existing Thunderstore mods from
mods/
tothunderstore-mods/
packages
.I will take care of notifying mod-manager authors once a decision about merging (or not merging) this PR has been made.
This PR is an initial implementation and could be adapted based on feedback. As a reminder I barely know how to read C++ and simply took existing code as an inspiration. If something's done in a peculiar way, it's most likely not cause I was trying to be "clever" but simply used what worked so please point out anything odd you might see in the code.
Related: R2Northstar/Northstar#472