packwiz / packwiz

A command line tool for editing and distributing Minecraft modpacks, using a git-friendly TOML format. Supports CurseForge and Modrinth mods with automated updates!
https://packwiz.infra.link/
MIT License
620 stars 77 forks source link

Multiple source mod deduplication #29

Open triphora opened 3 years ago

triphora commented 3 years ago

The name of this issue is a bit confusing, so let me elaborate on what this means.

comp500 commented 3 years ago

Hmm, that's an interesting problem... Ideally we'd be able to get the actual modid + provides from the jar, but that isn't currently provided by any mod website API. Checking the slug for now will work, but I'd like to experiment with implementing the full dependency resolution features that Fabric/Quilt will use - especially for "provides" dependencies like Quilt's Fabric API replacements. Might require a local cache of this sort of metadata or mod jars somewhere.

Fnige commented 1 year ago

As a simpler way to maybe solve this, is it possible to just have a file that just states what dependencies to ignore? i.e:

.pwdepignore

# Ignores Fabric API (Could be slug or what it shows in the command line or whatever)
Fabric API
comp500 commented 1 year ago

I do like this idea as a stopgap. Since it needs to know what Modrinth/CurseForge project IDs to ignore, you'd have to include those in the ignores list - probably an [options] field in pack.toml.

Steveplays28 commented 1 year ago

This would be super nice as well for Quilt, since Quilt has its own Fabric API wrapper (Quilted Fabric API). Being able to ignore Fabric API from the dependency prompt would be neat.

comp500 commented 1 year ago

@Steveplays28 That's a slightly different issue to this one, see https://github.com/packwiz/packwiz/issues/173 (packwiz now has a manual override for that specific case)

Steveplays28 commented 1 year ago

Ahh cool, thanks!