Loader behavior

AutoModpack keeps pack mods out of your mods/ folder by loading them from its own directory (automodpack/client/active/mods/). How that works - and what still ends up in mods/ - depends on the mod loader, because each loader discovers mods differently.

Loading in place (the default, every loader)

  • Forge and NeoForge discover mod files from a fixed set of locations. AutoModpack registers the active pack directory with the loader itself (a locator on NeoForge, an additional-locations hook on Forge), so pack mods flow through the same discovery pass as your own mods. Dependencies between a pack mod and your mod resolve normally.
  • Fabric has no way to add a second mod directory. AutoModpack therefore loads pack mods through a second discovery pass after the loader has already resolved mods/.

Everything below exists because of the consequences of that Fabric difference.

The generated bundle (Fabric)

On Fabric, a dependency that exists only inside the pack - a library nested in one of its jars, or a pack mod your own mod needs - is invisible to the pass that resolves your mods/ mods. AutoModpack detects exactly those unmet dependencies and writes one generated jar:

mods/automodpack-generated.jar

This file is created, updated, and deleted by AutoModpack. It carries every jar the loader needs inside it and nothing else - when the pack or your mods change, its content is regenerated; when nothing needs it anymore, it disappears. Do not delete or rename it: while it is missing, the loader fails mod resolution before AutoModpack can run - the game will not start, and no AutoModpack screen is reachable. Restore the file manually (for example from the recycle bin), remove the mod that needed it, or reinstall the pack. Renaming it leaves a stray duplicate behind - the real file comes back, and the stray is cleaned up by the next repair.

Two rules worth knowing:

  • If the pack updates any jar inside the bundle, the bundle is regenerated and a restart is required - the old copy was already loaded into the game.
  • The bundle never appears for packs whose dependencies are all satisfied without it.

Force-copied mods (Forge and NeoForge)

Both Forge and NeoForge pick the mod that provides the early loading window (IMMEDIATE_WINDOW_PROVIDER) before mod discovery and run it immediately - before AutoModpack's pack directory is reachable. If the pack ships such a mod, AutoModpack copies it into mods/ so the loader finds it in time, and asks for a restart:

  • Forge: FORGE_IMMEDIATE_WINDOW_PROVIDER
  • NeoForge: NEOFORGE_IMMEDIATE_WINDOW_PROVIDER (all supported NeoForge generations)

This is the only case where a pack mod is copied into mods/ on Forge or NeoForge, and it applies whether AutoModpack is online or syncing offline from the stored generation.

Why your mods folder stays clean

LoaderPack mods live inWhat can appear in mods/
Forgeactive projection (discovered in place)early-window provider mods, if the pack ships one
NeoForgeactive projection (discovered in place)early-window provider mods, if the pack ships one
Fabricactive projection (second discovery pass)automodpack-generated.jar, when a dependency needs it

The name automodpack-generated.jar is reserved: a pack cannot ship a file under that name, and a file you place there yourself will be reported as a conflict rather than silently overwritten.