FFModsSubfolders
Keep your mods folder organized. FFModsSubfolders lets you sort your mods into subfolders
by category, by modpack section, however makes sense to you instead of one giant flat list,
without NeoForge losing track of any of them.
This mod must stay in the top level folder, as must Sinytra Connector if present, but any other mods should be able to be placed in subfolders within /mods/
Features
- Subfolders, to any depth.
mods/performance/,mods/qol/utility/ - Nothing gets left behind. Mods that ship as an early-loading wrapper around an embedded mod (Sodium's NeoForge jar is the main example) still register their real mod id from a subfolder, so things that depend on them (like (Sodium) Chloride) resolve.
- Disable a whole folder at once. Rename a folder to end in
.disabledand everything inside it is skipped, the same way a single mod is disabled by renaming its jar to end in.disabled. - Sinytra Connector compatible. Fabric mods running via Connector are found in subfolders too, automatically, with zero setup.
- Clear logging. A startup summary, and specific, actionable warnings if something looks wrong (a corrupt jar, an accidental duplicate, a folder that couldn't be read).
Known Limitations
- This mod's own jar must stay in the top level of
mods. It can't be organized into a subfolder itself. Every other mod is free to go anywhere. - Sinytra Connector's Fabric-mod integration has one edge case: a subfolder whose name (or an ancestor folder's name) contains a literal comma can't be relayed to Connector safely. Regular NeoForge mods in that folder still load normally either way, only Connector's ability to see Fabric mods in that specific folder is affected. Your log will say exactly which folder, if this ever applies to you.
- Only one early loading-screen replacement can be active at a time, if you happen to have more than one mod that provides one placed in different subfolders (this is rare - most mods never touch the loading screen at all). NeoForge decides which one wins; your log will say if it detects more than one candidate.
FAQ
Why does this mod have to stay in the top level of mods, if the whole point is subfolders?
Because of how mod loading works under the hood, a mod that finds other mods in subfolders
can't also find itself in one, it has to already be running before it can go looking. Every
other mod is free to go anywhere.
Does this slow down startup?
Not meaningfully. It's a filesystem walk, the same kind of work NeoForge already does for the top
level of mods, just extended to cover subfolders too.
Will this break anything?
It shouldn't. This mod only adds places NeoForge looks for mods; it doesn't change how any mod
itself loads or behaves. If something looks wrong, check your log for lines starting with
[mod scan] or [early-service scan]as they're written specifically to make problems easy to
diagnose.
Does this work with modpacks that use Sinytra Connector to run Fabric mods? Yes, fully. Both regular NeoForge mods and Fabric mods (via Connector) work from subfolders.
Feedback
If you have any ideas for improvements, questions, or concerns, I am open to communicating through email: [email protected]
No gallery available for this project.