Open Boden-C opened 1 month ago
Oh wow you are genius! I have no idea why I didn't get that idea before. AutoModpack does it already to a little extend it does download mods from modrinth/curseforge apis. HTTP server is mostly used as a fallback and to server other files. I like the idea, I believe it could be quite easy to implement since literally there's code which as I said it downloads from those apis. But that solution makes you lose a bit of functionally, you no longer can share your private mods or any other files.
However I also thought about a different solution. To implement custom protocol for file transfer via injection to Minecraft networking I/o which would basically mean that we wouldn't sacrifice on anything, there would still be full functionality of automodpack no matters if we have access to http or not. So you could serve any files you need as you do right now. Therefore I would be more in favor for this solution.
So if you or someone readying this while this issue is still open, feel free to fork it and implement any of those fixes. I am planning on coding the second one by myself but that may take a little while due to lack of free time.
I was thinking about how it works when downloading like .mrpack, which is it has the main modlist but also has an override folder for any custom mods/configs, so the total folder size should still be "manageable"
You can bundle that together into your own .modpack for easy sharing if you want
Sending it through Minecraft networking is more user friendly, but I think defining it in configs is still a nice idea mostly because it allows modpack developers to add CurseForge mods when starting up (Prominence II on Modrinth has this issue currently)
Also I'll expand on this idea of config defined modpacks
While there is a default automodpack, each server and world can have it's own automodpack if it is different from default. You can have basically world-specific modpacks in the same profile, and when joining a world/server it'll swap to that modpack (maybe temporarily and give the user an option to set it as new default) and restart
(should probably cache mods to save on downloading)
Don't know if I should make a separate issue for this idea
i am felling like you dont understand how this mod works. it already does all of these things. it downloads what it can from modrinth or curseforge, to separate modpack specific folder, on launch it's loading all of the files from selected modpack. if you try to connect to different server it will download new modpack creating new folder for that specific modpack. and so these folders a cache as well.
for me the only reason this issue is still open is because you mentioned World Host, with which it won't work and we've got ideas for potential solutions.
i am felling like you dont understand how this mod works. it already does all of these things. it downloads what it can from modrinth or curseforge, to separate modpack specific folder, on launch it's loading all of the files from selected modpack. if you try to connect to different server it will download new modpack creating new folder for that specific modpack. and so these folders a cache as well.
I'm saying specifically being able to define required mods in the configs and it automatically installing them on launch
This is because for Modrinth modpack devs, they can define CurseForge mods in the config and it'll install them for the complete modpack
Right now in Prominence II, users have to manually download the mods and drag them in the folder. Since this mod already has the code to do that, it would be nice to let devs/users manage their mods through the config instead of joining servers only
Then I am not sure what you mean... Do you just want better .mrpack which can auto download curseforge mods or what?
No, I just want some way to define additional mods in configs and have it install/transfer on launch
What format to put the config is is up to you, I say it would be cool if you make it a specific file type to make it clear, but you can also just leave it as a plain config folder
As far as I understand how this works, this sends a json list as well as any custom mods to the client, which then installs them. I'm saying if you bundle that json list and custom mods into a single "thing", it can make for easier sharing.
Really man I have no idea what are you talking about. Explain it all in more detail. Hows that connected to automodpack? In automodpack you can add more mods without having them loaded on server if you want that then read this
Ok, so specifically this mod is really cool because it can automatically install mods
Basically, I want is to use that ability without it only installing when I join a server. For example, automatically install CurseForge mods when I launch.
A good way of doing that is having some list, defined in configs, that it will install from on launch. That can just be the automodpack-content.json
However, as you said, sharing automodpack-content.json won't include private mods
I "assume" when joining a server, the server takes it's mods, generates the automodpack-content.json and private mods, zips it together, and sends it to the client which unzips, reads, and installs them
Therefore, if you allow users to get and share that zip, and for them to put that zip in their configs, then automodpack will read and install that zip when launching, then users can also share private mods
What I described is basically a .mrpack, so I guess your description of a .mrpack that can also install CurseForge is sorta accurate
Ok I see now. Looks like packwiz is exactly what you are looking for.
AutoModpack has a different approach for sharing modpacks, as mentioned it is strictly connected with sharing it from servers to clients to easily join modded servers and automatically update server modpack.
Packwiz on the other hand is a tool which generates for you universal modpack file with links to the mods from modrinth and curseforge which can be easily imported to create new modded instance in e.g. prism launcher.
So I don't think that's something we want to have in automodpack since packwiz already fills out that niche.
That actually is what I'm looking for, but it would still be nicer if a mod could handle that so I don't need to have all my players install and learn a separate thing. This "sharing custom modpacks" is probably a niche thing though.
Do you have a solution to the other problem where modpack devs want to install external mods after launching? I feel like this is a pretty common issue, and I doubt modpack devs would all migrate over to packwiz
As I said, their current solution is to give users a link to manually download and drag the files in, this mod could solve that
Motivation
Three reasons specifically:
Description
Have a "default" folder in the config or modpacks folder You can add a modpack (the metadata) into that default folder On startup, it will read the default modpack and check the current mods. If it is missing any or some mods needs updating, it will use the Modrinth and CurseForge API to download those mods and restart
Therefore
I'm not sure if that is possible currently
Other information
No response