mc-cip / spec

Index specification
MIT License
4 stars 1 forks source link

Subprojects / modules #4

Open immibis opened 4 years ago

immibis commented 4 years ago

Some mods are split up into subprojects or modules. For example Buildcraft modules; the old RedPower modules; the Thermal mods.

Should they be counted as separate projects or part of the same project? Presumably when you click on "Install Buildcraft" you want to download all of Buildcraft by default, and not have to find and install several distinct mod projects. And if they all show up separately in the search, that's basically spam. But we still need to record separate files and separate dependencies for each module. How can we solve this?

Also notice: Buildcraft modules are considered all the same mod, and Thermal mods are considered separate mods, even though they're basically the same thing.

Some ideas:

l-Luna commented 4 years ago

it could simply be up to the launcher to provide a "install with all dependancies" option, and Buildcraft would just specify each module as a seperate project and as a dependancy.

immibis commented 4 years ago

Perhaps it can be both ways around. Buildcraft releases versions consisting of all modules simultaneously, but Thermal mods are completely separate projects, which (IMO) we'd like to group together in search results

stairman06 commented 4 years ago

I think a bundle system would work. You could define a bundle, which would simply be a list of mod IDs that launchers would have to figure out how to download and install the latest version. It wouldn't be the same as simply declaring dependencies, as a bundle does not define specific versions that would need to be installed. An attribute could be added to mods, onlyShowInBundle that would only show the mod inside the bundle, not as a separate project in search results. Users would then have to go into the bundle to see and install the mod.

For example, there could be a bundle named "Thermal Series" which would contain all of the Thermal mods. Each individual Thermal mod could have the onlyShowInBundle attribute set, so users must go into the Thermal Series bundle in order to install the mod.