-
Notifications
You must be signed in to change notification settings - Fork 126
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
Change mod loading location #746
base: main
Are you sure you want to change the base?
Conversation
Keeping this as draft and not pinging people that need to be involved in this until I actually have something that somewhat fulfils the requirements above. |
Here are my thoughts on a better mod loader: structureI like the current mods so I think packages should be dropped and plugins should just be added has a subdir like The old formats should just be dropped and a tool converter tool we could translate most stuff to the new format. toolingthis is kinda of off topic... with the converter we should also have just cli tool/s for quick mod maintenance stuff like cargo loadingFor loading order I like how rain world does it. The mods are just ordered kinda of randomly but can be reordered manually but dependencies must loaded before. so like
This means we drop load priority thing and replace it with dependencies defined in mod.json. This would also allow the dependencies constants to not be some randomly added system. reloadingA quick note about this and again from rain world. Some mods could be just tagged with restart on reload and the launcher would load back into the same server or lobby. I accidentally pressed shift + enter and it sent the comment before I finished it >:( |
Related Discord discussion thread https://discord.com/channels/920776187884732556/1277362579781455984 |
Make the mod name field in the mod.json purely visual only. It should display in UI and not be used for anything else. The mod's folder/path should be used as it's identifier |
What this do?
Basically
mods/
gets split intomods/core/
for core Northstar mods (onlyNorthstar.XYZ
named mods allowed)mods/manual
for manually installed mods (no name specific requirements other than that they should beAUTHOR.MODNAME
maybe.packages
is moved intocore/thunderstore-legacy
/mods/<mod-name>
(forcing on Northstar mod per Thunderstore mod)Additionaly
mod.json
should get maybe also get a manifest version number and0
should be assumed if the version number is missing.Partially implements: R2Northstar/Northstar#618
What this involved?
Arguably the biggest issue with all of this is getting all the wiki and other sources of information updated, updating GitHub Actions for pushing to Thunderstore, getting helpers informed, somehow getting old YouTube videos updated, getting mod-managers involved, ... it's gonna be a mess at first but it's gonna be worth it.
Why?
TODO
mods/core/
to be prefixed withNorthstar.
mods/thunderstore/
AUTHOR-MOD-VERSION
folder name andmod.json
in folder rootmods/manual/
Figure out how to do plugins. They should be inside a Northstar mod IMO but how exactly? Or are there better approaches?Plugins should be in a subfolder of the mod likerpak
folder for examplemods.json
Tether