Skip to content

Allow installing mods directly from the installer #85

Description

@PaintNinja

It would be nice to be able to drag and drop Forge mod jars into the installer and have them listed as mods that will be installed alongside Forge, as well as a CLI flag or two for third-party launchers to tell the installer about mod jars it wants to install as well.

This would allow for basic checks at install-time instead of crashing when the game starts. For example, a user could drag and drop a Forge 1.21.1 mod into a Forge 1.20.1 installer and the installer would fail-fast telling the user that the mod isn't compatible.

Activity

  1. LexManos commented on Oct 1, 2026

    @LexManos
    Member

    Hurm, the installer doesn't natively know where its being installed to. Im not sure im seeing a simple UX for this.

    However if we made the game instance support drag/dropping of jars it might be more feasible. As obviously the game knows its install locatiom when its running.

    We'd even be able to do basic metadat based compatibility checking against the currently installed mods.

    If this was done on the installer side only thing i can think of would be adding a "make modpack installer" option like we have the offline option. Which would then open a window that accepted mods/config zips to install. That then bundles them into a new fat jar. Which is then passed to others to select the install path.

    I could see that being useful for "I made a server with this custom modpack that isnt on curse/modrinth. Here is a simple installer if you want to join"

    What would be the usecase for a launcher being able to pass in mods to be installed? Weve already tried giving them the ability to pass in a modlist to be loaded (basically an extra mod locator). But nobody ever took advantage of that.

  2. PaintNinja commented on Oct 1, 2026

    @PaintNinja
    ContributorAuthor

    The installer asks you where to install Forge, so we'd resolve the mods folder relative to that.

    The use-case for a launcher being able to pass in mods to be installed is to make it easy for them to do install-time checks by handing it to us.

    Longer-term allowing mods to be installed from the launcher opens up the possibility for future features down the line that shift more work away from the performance-sensitive game startup, essentially giving mod authors a step between compile-time and game startup, such as generating default config files at install time, doing global transforms or other one-off things that would otherwise slow down game startup.

  3. LexManos commented on Oct 1, 2026

    @LexManos
    Member

    So, currently the installer get loaded.
    Asks you what and where you want to install (with default paths).
    You click install. It runs and after that popups a success/failure. When that popup is closed, the installer exits.
    The only time that dragging a mod on to the installer would work if after you've selected what and where you want to install, but before you click the install button.
    It wouldn't function for 'drag the mod onto the installer file'. At least not in a way that I can see, unless we store some global 'last installed location'

    I'm not seeing how this would be intuitive for users, it would cause a lot of confusion IMO.

    As for allowing mods to do install time actions, that's an interesting concept, however we run into the issue of cache invalidation. It is standard procedure for users to modify their modlist often. we've made that as simple as possible ("Just put your mod in the mods folder"). That functionality will never go away so we need to make sure that anything a modder does ahead of time (such as global transforms) properly gets invalidated when a new mod shows up.

    Configs do need to be re-vamped to not use/use a fixed night-config. As a lot of time is spent in that library opposed to our code. Perhaps a simple solution would be a build-time baked config file that gets straight copied if the config doesn't exist instead of relying on nigh config to 'correct' and empty file.

    So, aside from the modpack installer idea from my last post. I am not seeing a good UX for users installing mods by dropping on the installer/installer jar. Plus I think (based on nothing but anecdotal experience) that most users just delete the installer after they run it. If we wanted to support 'drag&drop' style mod install it would have to be on the game instance itself. We could still do the same 'quick validation' such as checking version compatibility. Or 'install time' processors. We'd just have to add a 'reboot minecraft to take effect' thing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions