Open immibis opened 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.
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
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.
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:
Pro: no extra code required. Pro: dependencies are easy. Con: spams search results. Con: lots of clicks needed to install the entire mod. Con: if modules are removed, they have to stick around as obsolete projects because of their old versions.