Apologies if this has already been suggested. I didn't find it in my search but I'm surprised it's not already here! This system would suit players who aren't using published modpacks which are updated by the author, and create their own private modpacks.
I would really love a system that lets you have a set of 'favourite' mods in a template that you can then apply to a new or different version of Minecraft and/or modloader. I create packs mostly for personal use and working with MC as a game facilitator - and I am often switching between MC versions depending on servers or required tools etc. Once a pack is set up, this is fine, but when creating them for different MC versions I have to manually search for and add each mod every time. As far as I can see there is no way to "upgrade" or "downgrade" a Modpack by MC version.
The current tools for updating modpacks are good, but they don't update anything not already in a modpack unless the user manually adds them - this is intended to address that.
(Mods and datapacks, etc, referred to collectively as mods from here on)
Template management UI
Base on modpack/profile UI
Tab for Templates (full templates)
Tab for Collections (subgroups, favourites, not full templates but self contained lists of selected mods)
Action: Create profile from template
View Template
Info Card
Template name, number of mods/subgroups, number of dependent profiles, last updated, author
Recommended MC version and Modloader (the newest release that is compatible with all Essential mods, and the highest number of other mods)
Most Compatible:
List mods
Additional Selector: Essential/Normal/etc
Branch selector: manual dependencies dropdown from all mods in Template
Additional Selector: preferred version / minimum version / maximum version / none
Additional function: Create/edit/delete subgroup (delete mods in subgroup or move to next group in hierarchy)
Additional tabs
Profiles using this template: list profiles, selector for auto update from template (if changes are made to this template, propagate to all profiles with this set to True. If false, move to next tab)
Profiles based on this template: profiles created with this template but no longer synced (option to update profiles to use template and move to previous tab) (option to unlink/hide these profiles)
Profiles:
have a Play button to launch from here
display current MC version and Modloader, number of mods loaded from the template as X/Y
View Collection
Collection Selector: Essential/Normal/None/etc (applies to all mods in Collection,)
List mods
Additional Selector: Collection/Essential/Normal/etc (Hierarchy inherited from Collection)
Additional Selector: Override Collection tags (Set tags at a higher priority than the collection, eg for referencing mods outside the subgroup.
Possibly allow collections to be nested?
Create a Template
Template is version independent for MC or Modloader, but user can filter based on these when selecting mods.
for collections, choose to filter if any mods in it match filter, show collection, or only if all mods match.
Find mods and add them to the list in the template.
Add using current "Add Content" system
Add from existing Template, or Published Template
Add Collection - a subgroup / list of preselected mods
Create from existing Profile - use mods in Profile
Create from Modpack - either downloaded or online
Generate dependencies as per usual, check for mod compatibility and double ups
Check for multiple instances of mods when adding subgroups - prompt user - select subgroup to keep mod, merge subgroups, move mod to different subgroup/new subgroup/main directory, toggle: remember this choice if this mod is added again.
Check for known mod conflicts and prompt dialog - ignore, choose on profile generation, set preferred
store dependency chain in template so that essential dependencies are checked first and child mods can be skipped if dependencies are not available when performing Profile Update
Options:
Mark mod as Essential (generation fails if not available), Normal (generates but flags as unavailable), Wishlist (trigger notification dialog for user if incompatible mod is updated and becomes compatible and prompt Profile update), Specify version (only use specific version(s) of this mod), Ignore (skip when generating Modpack), etc
Mod categories (from Curseforge) - eg World Generation, Tools, Addons - to allow for blanket ignore/essential/update/etc tags (good for preventing new terrain generators from messing up a world, for example)
Manual Categories - sub groups in the template to allow similar functionality
Could use an existing template or separate saved subgroup file to add en masse
Manual Dependencies - auto include/exclude - ie "if this mod is unavailable, ignore mod X, Y, Z" and conversely "Ignore this mod unless Mod X is available"
Create Collection
Save a list of mods for adding to templates or profiles en masse
Version independent, but without full function of a template
Option to tag collection as "essential" and set tags in mods in list
Can be shared/published
Different to a Modpack, as it lists mods with no version, therefore cannot directly download or apply mods, must be used with a template or profile.
When adding directly to profile, dialog "skip incompatible mods (and dependencies)" / "warn me about incompatible mods" / "only add mods if all mods in Collection are compatible with the profile"
Create Profile from Template
Select template file and open a dialog
Profile Setup
Option - Profile Name
Option - auto append MC version to Profile name: y/n
Option - MC version change: allow/disallow
Option - Modloader change: allow/disallow
Select MC version, Modloader, etc
Configure Template
Options - manual dependencies, ignore mod category or subgroup always/Ignore after this Profile generation, etc
Option - manually select mods in template to include/exclude
Option - update template based on these options / save options for this profile
Configure Auto Updates
Option - Auto updates / confirm before update / manual updates
Option - Update check frequency - App default, or other option
Option - Update if template is updated (original template is linked, trigger updates if changes to this list are detected)
Option - Update only this modpack (save configuration and mod template in Profile, do not update from external)
Use template list to auto-add all compatible mods and dependencies to a new profile based on selections
Generate report and confirmation listing incompatible mods
Select which mods to keep/ignore
Generate profile with confirmed list.
Update Modpack from Template
Periodically check for new compatible mods from the template
options: manual check, on app start-up, on MC load, on push from mod update, hourly/daily/custom/etc
Update per modpack ie update Modpack X from template,
Update per template ie update all modpacks based on this template
Prompt user - update Modpack(s) with new compatible mods?
Options to select specific mods to automatically add, ask for confirmation, or ignore
Regenerate Modpack with new mod list including dependencies.
Version Change - upgrade/downgrade a Profile
Change a Modpack MC version and reevaluate based on template
Edit mod pack directly with new version
Save a copy with new version
Caution dialog if target version would not be compatible with mods marked "essential"
Auto version change -
Prompt / auto update to latest MC version when released and modloader is compatible
Prompt / auto version change when 'Mod X' (or a group of mods) is updated and compatible
Modloader change
run this process using saved profile configuration for a different modloader - eg Fabric --> Neoforge
stretch option - if mods are incompatible with new modloader suggest replacements/alternatives
Publish a Template
Option to publish a template in the same way a Modpack is published.
End users subscribe to a published template - same update options as modpacks, can trigger update cascade in all linked Profiles
Author updates propagate to end users and trigger updates for end user according to their settings
Publish Collection
as for Template
Sorry for the insane brain dump, I hope its helpful. Would love a credit for the idea if it gets used :)
Thanks H
This board is being moderated, if you wish for your idea(s) to go public, please consider the following:
If your idea already exists, vote for it, this will increase the chances for the idea to become reality. Duplicate ideas only split and lower votes
This board is for new ideas and feature suggestions, for technical issues or bug reports, visit/contact CurseForge Support
This ensures that the idea is accessible to a wider audience and makes it easier for others to understand and vote for the idea
Any ideas posted with foul language will not be published and get deleted
Avoid posting 'lists' of different ideas, we won't be able to address them with a proper status and they will get less votes from others, each idea should have its own post