modip-org / spec

Please use Modrinth's spec - https://github.com/modrinth/docs/blob/master/docs/modpacks/format_definition.md
Creative Commons Zero v1.0 Universal
2 stars 2 forks source link

Multi-file Zips #10

Closed stairman06 closed 3 years ago

stairman06 commented 4 years ago

Improves modpacks by allowing for multiple files to be in one zip, and specifies the proper structure of a MODIP zip. Will be useful with #8.

immibis commented 4 years ago

What are the semantics of having several different files for the same project? This seems contrary to the goal of indexing. (It works for modpack distribution)

stairman06 commented 4 years ago

Modpacks are the primary reason for this. With multifile zips, things like the Twitch zip format can be replaced. If you want to send a modpack to a friend for example, it's much easier to just ship the overrides inside the zip rather than set up a web server to serve files.

It is most useful for overrides zips, so you can bundle config files or local jar files easily. You also shouldn't bundle mods that can be downloaded remotely, as that is a waste. But for things that don't exist remotely, this is useful.

immibis commented 4 years ago

Are there use-cases other than modpacks? If not, I think we should make it clear that this is not part of the core spec, but an add-on spec for distributing modpacks.

Also it might be worth noting that the JSON files in a modpack only have to include enough data to install the modpack - not the full data for each mod, and they don't have to match the official data either.

stairman06 commented 4 years ago

If it is part of an addon spec, then I worry if anyone will implement it. I think this is important if we want to be a contender for universal modpack format.

To your second point - yes I will add that, sounds good.

immibis commented 4 years ago

I mean that it's a core part of using MODIP to distribute modpacks, but it's not a core part of using MODIP on a forge site for example, or using MODIP to install a single mod. It's specifically for modpacks and nothing else?

stairman06 commented 4 years ago

I see. Yeah, it's just for modpacks. I can make implementation optional, but encouraged if you want to implement modpack downloading/importing.

immibis commented 4 years ago

I don't mean "optional", either. I mean: Required if you support the install-modpack-from-file usecase, and irrelevant if you don't.

Edit: perhaps there should be a usecase document. Usecases so far: convert a centralized index to HTML for browsing; install a modpack from an online service; install a single mod from an online service; install a modpack from a file; install a single mod from a file (this could also be a zip)

stairman06 commented 4 years ago

That's what I meant by "optional". Use cases document sounds like a good idea too, I will get to work on that later.

stairman06 commented 4 years ago

This has been reorganized a bit. Would like to know your thoughts @immibis.