Skip to content

Auto detect client-only, server-only and client-server mods #370

Description

@Mikaru0Mystic

Motivation

Make AutoModpack trully be full on auto

Description

Mods Optimizer currently is able to detect mods which are client or server side only, being able to separate them.
It also removes duplicates and check other information, it would be ideal if when it is present AutoModpack uses this in it's advantage to ensure the mods are properly grouped on it's end, then let the server host to choose in configs if they want players to download the server-side only mods or not, or, a third option of letting the player choose of he wants them or not (since they are not required on the client)!

Alternatively instead of relying on Mods Optimizer this could be included directly in AutoModpack but either would work out if done well.

In short, this is what would be best:

  • Detect client having mods which are required in the server but are not present in the server and let the player know, giving them the option to remove each individually.
  • Detect mods in the server which are server-only and let the player decide if they want these installed (in the download screen) by default, and allow to configure forcing them to be installed or not through configs in server.
  • Same as for server-only but for client-only mods, if in the server modpack client-only mods are detected (many if not all will be renamed to have a ".client" extension at the end by Mods Optimizer, keep that in mind) let the player decide if they want to download them by default, but let servers configure this to be forced or not.

When saying forced I mean if it should be included in the complete download, since if it's not forced included the player is asked for each individually client-side mod download, server-side mods download and client-server mod downloads, and lastly (or first thing) are told about the mods in their client which are supposed to be in the server too but are not (so, client-server mods that are only in the client when the player tries to join), so they know and can avoid the unhelpful "minecraft failed to sync registries from the server java.lang.nullpointerexception" which tell thems nothing about what's wrong. - Perhaps could detect also missmatched versions.

The KubeJS download will also help to avoid the "minecraft failed to sync registries from the server java.lang.nullpointerexception" screen, as sometimes KubeJS makes changes which cause the player to face this screen as well, so it will be helpful to allow them to choose to download this or not.

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions