quilt-loader icon indicating copy to clipboard operation
quilt-loader copied to clipboard

Allow Minecraft-version-specific subfolders in the mods folder

Open Earthcomputer opened this issue 3 years ago • 17 comments

The main use case is for people who use the vanilla launcher, which only has one mods folder shared between potentially many instances. Forge allows you to create subfolders in the mods folder named the same as each Minecraft version, and FML will not attempt to load mods from subfolders not matching your current version. I know quite a few people find it annoying that Fabric loader does not allow you to do the same thing, so it would be nice if Quilt loader had this feature.

Earthcomputer avatar May 06 '21 12:05 Earthcomputer

Can't you use multiple different installations with separate game directories for different versions? We wouldn't want to encourage people to use the same game directory across several versions anyway.

TwoLeggedCat avatar May 06 '21 14:05 TwoLeggedCat

IMO FML's doing this is a relic from before it was easy to separate instances into their own directories.

Perhaps we should instead make quilt installer optionally create a new directory for the quilt install?

williambl avatar May 06 '21 16:05 williambl

Can't you use multiple different installations with separate game directories for different versions? We wouldn't want to encourage people to use the same game directory across several versions anyway.

It's complicated and I recall mods not working nicely with that; though that experience must be a few years old by now.

Geolykt avatar May 06 '21 16:05 Geolykt

Can't you use multiple different installations with separate game directories for different versions? We wouldn't want to encourage people to use the same game directory across several versions anyway.

It's complicated and I recall mods not working nicely with that; though that experience must be a few years old by now.

I have had no complications with such a thing. On Vanilla launcher its as simple as changing the installation folder to somewhere else and then dragging the mods in there instead.

Siuolplex avatar May 06 '21 16:05 Siuolplex

I see no reason not to. It's simple to add and makes things easier for less technical users. We seem to forget not everyone uses MultiMC (even though they arguably should)

chexo3 avatar May 10 '21 02:05 chexo3

We seem to forget not everyone uses MultiMC (even though they arguably should)

What does this have to do with MultiMC? This is possible even with Mojang's launcher. Doing this in Quilt would just encourage people to use the same game directory across multiple versions and with different mods, often leading to corrupted worlds, and offer no real benefit over what the launcher itself can do. Additionally, I'm not sure you have to be a "technical user" to put different versions in different folders, and no more so than putting different mods in the correct folders.

TwoLeggedCat avatar May 10 '21 03:05 TwoLeggedCat

Additionally, I'm not sure you have to be a "technical user" to put different versions in different folders, and no more so than putting different mods in the correct folders.

have you seen fabricoord's #player-support ?

hYdos avatar May 10 '21 06:05 hYdos

often leading to corrupted worlds

As long as you don't join the world with incompatible modsets that is not possible. And I think there should be good enough guards at warning the user if they attempted to do that

Geolykt avatar May 10 '21 07:05 Geolykt

Additionally, I'm not sure you have to be a "technical user" to put different versions in different folders, and no more so than putting different mods in the correct folders.

have you seen fabricoord's #player-support ?

Yes, and I have no more confidence in those who cannot use a separate profile to use a separate folder for different versions than a separate profile.

often leading to corrupted worlds

As long as you don't join the world with incompatible modsets that is not possible. And I think there should be good enough guards at warning the user if they attempted to do that

This was more directed at the idea of running different versions in the same folder than it was different mods.

IMO FML's doing this is a relic from before it was easy to separate instances into their own directories.

Perhaps we should instead make quilt installer optionally create a new directory for the quilt install?

Assuming by "quilt install" you mean the profile the installer can create, this seems like a much better solution, though it could easily be done post-installation by the user.

TwoLeggedCat avatar May 10 '21 16:05 TwoLeggedCat

Also, I think making separate instances entirely (in the vanilla launcher, MultiMC of course forces you to learn how right away) is a lot more complicated seeming to some users than simply creating a subfolder in their existing mods folder.

chexo3 avatar May 10 '21 22:05 chexo3

So it makes sense to allow that feature, because it's simpler than explaining to some 11 year old who just got minecraft how they need to install a different launcher entirely.

chexo3 avatar May 10 '21 22:05 chexo3

how they need to install a different launcher entirely.

Again, why do we keep coming back to MultiMC? This is possible with Mojang's launcher; you would not need to explain to them how to do this.

TwoLeggedCat avatar May 10 '21 23:05 TwoLeggedCat

As it is, mod users create new installations in the vanilla launcher for different versions. This is the best way for this to be done, as it encourages them to use different game directories for different versions. The proposed change would not only make it easier for users to use the same folder across multiple versions, but actually encourage it ("If it were bad, why do they tel me I can do it?"). While I understand the point being made that it may be a bit easier for non-technical users to put mods in folders for the correct version, this is the exact group we would want to make use separate installations, as they are the ones who might not know exactly what can lead to world corruption and what cannot. IMO, adding a feature targeted specifically at non-technical users that encourages them to play multiple versions in the same folder is just plain wrong. All they have to do is load one 1.8 world in 1.7 and say "bye bye" to all their chests.

TL;DR: yes, it makes it easier, but being easier makes it easier for people who don't understand what they're doing to mess up.

TwoLeggedCat avatar May 11 '21 02:05 TwoLeggedCat

While I am a technical person to some degree I wouldn't change the game directory as it results in more clutter (meaning it takes more time to back up the saves), having to download assets twice (okay, that is a minor concern) and some other minor inconveniences. I also wouldn't use a 3rd party launcher because it too inevitably also causes clutter.

The joining a world with a different version thing is something you cannot avoid (especially because this is only an issue with 1.8 and below, which quilt does not support natively. If any nonstandard quilt implementations should choose to do that they may also choose to fingerprint the saves to do that) And I guess that using a different game directory in the launcher is easier than having to navigate to the .minecraft folder and creating a subdirectory. I also don't quite understand why using a singular game directory for all profiles should hurt. I've been doing that for multiple years now and never found any issues with it

Geolykt avatar May 11 '21 08:05 Geolykt

The joining a world with a different version thing is something you cannot avoid (especially because this is only an issue with 1.8 and below, which quilt does not support natively. If any nonstandard quilt implementations should choose to do that they may also choose to fingerprint the saves to do that)

Obviously you are correct about that, but it was just an example. Maybe next time it'll be loading a 1.18 world in 1.17. Newer versions of the client do have the warning screen for that, true, (added in 1.13 I think, so before Quilt's first version) but that doesn't mean no one will ignore the warning. Additionally, there might be some update (or snapshot, since Quilt also works on those) that handles files outside of the worlds differently, such as hotbar.nbt. While these files are always less important and it wouldn't be disastrous if they were overwritten, it is still a bad practice to share a folder between versions, as Mojang's launcher and website would be happy to tell you repeatedly.

having to download assets twice (okay, that is a minor concern)

Assets are stored outside of the profile directory, meaning you wouldn't have to redownload them (but you would, of course, have to download them when you make an installation of a new version).

And I guess that using a different game directory in the launcher is easier than having to navigate to the .minecraft folder and creating a subdirectory.

Agreed

Having subfolders for versions wouldn't even make it much easier for users of the vanilla launcher, as they would have to create a new profile simply to switch versions anyway. This would not save them from creating a new profile, but only from changing the game directory, which is comparable in difficulty to creating a subfolder for a new version (especially if the game directory is in the default path, which is rather hidden from reach).

TwoLeggedCat avatar May 11 '21 13:05 TwoLeggedCat

From experience, this is a (mostly) one line change. Another possibility would be implementing an API for specifying additional folders on the fly.

sschr15 avatar Feb 26 '22 16:02 sschr15

Different from Forge/FML Mods, Quilt/Fabric Mod can be cross-versions (e.g. 1.16-1.18.2).
So maybe this could be better:

mods
| - foo-0.1.jar
| - 1.18.2/      # For 1.18.2 only
| | - bar-0.1-1.18.2.jar
| - 1.17.x/      # For 1.17.x, aka >=1.17- <1.18-
| | - bar-0.1-1.18.jar
| - lorem_ipsum_dolor/
| | - mods.properties     # aka mods.txt, to adapt common Windows users
| | - baz-1.0.3.jar

mods.properties:

# optional, default true.
# if false, mods in this directory won't be loaded.
quilt=true
# optional, default *
# blank == *
versions=>=1.16- <1.18-

teddyxlandlee avatar Jun 10 '22 01:06 teddyxlandlee