Skidamek / AutoModpack

Enjoy a seamless modpack installation process and effortless updates with a user-friendly solution that simplifies management, making your gaming experience a breeze.
https://modrinth.com/mod/automodpack
GNU Lesser General Public License v3.0
90 stars 29 forks source link

Configurable pack variants #223

Open Orinai opened 3 months ago

Orinai commented 3 months ago

Motivation

For larger or more resource-intensive packs, it is sometimes helpful to have an alternate, but compatible "potato version" of the pack with settings, configs, and removal of certain client side mods or resource packs configured for use on lower-end machines. Or perhaps the server admin wants to provide a variant of the pack that includes an auto-updated version of the single-player testing world, or a variant that includes a different configuration of resource or shader packs. Currently, if this mod is installed on the server, it will automatically override such variant packs installed on any client machine.

Description

Basically, the ability to define multiple accepted variants of the pack, which clients can select from when attempting to install/update their pack.

Other information

The simplest implementation would probably just be the ability to generate multiple automodpack-content.json files, with an additional config file that tells the mod what files to update in that json when the main pack is updated (for example: "don't update the options file or these 6 config files, and ignore any mods not already included in this variant"). That way you don't have to manually update multiple versions of the pack.

Alternatively, you could somehow have the mod automatically check the server admin's local instances folder for updated versions of multiple packs with variants of the same name (for example: pack_normal, pack_potato, pack_alpha). This would still rely on the server admin manually updating each variant, but would allow for more precise control, without needing to directly host a ton of duplicate files on the server itself.

There are probably other potential implementations, but those seem like the most strait-forward to me, as someone with only limited coding experience.

Skidamek commented 3 months ago

Hey! I have actually heavily thinking about this feature, in 4.0.0 tried to rebase the mod in the way that adding this will be easier it still nowhere near but yeah that's something I've been planing for some time already.

My idea for implementation is that you will be able to create more packs by just creating new folders, see /automodpack/host-modpack/main everything at the time being is in the main. In the future when you create new folder in /automodpack/host-modpack it will generate is as separate modpack and the idea is that in automodpack server config you can set which packs are required and which are optional and also which ones are conflicting with each other (in the way that you could use them as add-ons for main modpack or provide completely separate modpacks) and maybe more, that's on server.

On client on the other hand, there is plan to revamp the GUI and you as a player will be able to choose which modpack you would like to use.

Contributors are welcome! :)