FabricMC / fabric-loader

Fabric's mostly-version-independent mod loader.
Apache License 2.0
632 stars 271 forks source link

Search for mods recursively #81

Open sargunv opened 5 years ago

sargunv commented 5 years ago

I'd love to be able to organize my mods however I like within the "mods/" folder, so for example I could maintain a structure like this:

minecraft/
| mods/
  | lib/
    | fabric.jar
    | fabric-language-kotlin.jar
    | cloth.jar
    | crochet.jar
  | core/
    | roughly-enough-items.jar
    | modmenu.jar
  | content/
    | level-up-hp.jar
    | some-really-cool-mod.jar
  | utility/
    | lead-villagers.jar
    | some-tweaks-here.jar
liach commented 5 years ago

For now, you can use prefix in your mod jar names to serve this purpose while getting mods loaded by the loader.

liach commented 5 years ago

We should have a vote on this. I disagree as people may actually use folders to put their disabled mods in.

Pannoniae commented 5 years ago

You can treat a folder named "disabled" as a special-case for disabled mods, and everything else as just a category.

liach commented 5 years ago

Imo there are just too many "special cases" to consider, including version-specific folders, etc. maybe we can have a file that defines what folders to load from? (bad idea possibly, overcomplicated)

Frontrider commented 5 years ago

I'd say that if you want to remove a mod then actually remove that mod, or add a ".disabled" extension to the file like multimc does.

Julienraptor01 commented 2 years ago

One idea could be that by default subfolders are loaded except : If the name of the folder is a MC version that isn't the one used If the name of the folder end by .disabled

If recursivity is added and a subfolder is in a subfolder, will it be loaded Example of what i mean

mods
->1.16.5
-->libs
--->someLib+v1.0.0.jar
--->someOtherLib+v1.0.0.jar
-->mods
--->someMod+v1.0.0.jar
--->someOtherMod+v1.0.0.jar
-->notWorking.disabled
--->anotherMod+v1.0.0.jar
->1.18.2
-->libs
--->someLib+v2.0.0.jar
--->someOtherLib+v2.0.0.jar
-->mods
--->someMod+v2.0.0.jar
--->someOtherMod+v2.0.0.jar
-->notWorking.disabled
--->anotherMod+v2.0.0.jar
sfPlayer1 commented 2 years ago

Recursive loading is currently only available with some customization, e.g. -Dfabric.addMods=mods effectively makes the whole folder recursively available

Julienraptor01 commented 2 years ago

Recursive loading is currently only available with some customization, e.g. -Dfabric.addMods=mods effectively makes the whole folder recursively available

Nice 👍 Having this feature toggleable is a really good idea. Version sorting and folder disabling could be a great addition.

MJRamon commented 4 months ago

Bumping this, as it is essential feature for server owners and modpack makers.

claymorwan commented 1 month ago

We need this feature fr, I have multiple mc instances, one being a vanilla with clients mods, but that means I have to manually add the client mod to every instance everytime I add one. It would be easier if I could just link my mod folder for the client only mods to my otehr instances so I just have to add it to 1 directory to get it sync