Find the directory the selected profile actually uses

A custom value takes precedence over the default Minecraft folder. When it is blank, Windows normally uses %appdata%/.minecraft, macOS uses ~/Library/Application Support/minecraft and Linux uses ~/.minecraft. Append mods to the actual game directory. Third-party instances can live elsewhere: use that launcher's Open Folder command rather than copying a directory from an unrelated tutorial. This matters when the same computer has both a current game profile and a legacy 1.12.2 setup. Copying a valid JAR into the wrong installation makes no change to the profile you launch.

Windows
%appdata%\.minecraft\mods
macOS
~/Library/Application Support/minecraft/mods
Linux
~/.minecraft/mods

Create mods without changing saves or versions

Launch Forge once, close Minecraft and look for a lowercase mods folder in that game directory. If it is still missing, create the folder there after confirming the profile really is Forge. Copy the intact JAR into it; do not put it under saves, versions or resourcepacks. Enable filename extensions in your file manager so a downloaded .jar.zip does not masquerade as the required archive. Keep one legacy archive for the shared mod ID and move comparison releases into separate profiles. On sandboxed Linux launchers or custom Windows installations, the visible folder name may look ordinary while its parent directory differs, so follow the active instance rather than a memorized path.

Installation steps

  1. Select the profile you actually launch

    Open the launcher’s installation or instance list and identify the Forge profile. A folder belonging to another installation is not read by this instance.

  2. Read Game Directory

    Edit the installation and inspect its directory field. Copy a custom path exactly; if it is blank, use the operating system’s default Minecraft data directory.

  3. Open the parent game folder

    Navigate to the game directory before creating anything. Existing saves, logs, resourcepacks and configuration folders help identify that this is game data, not a downloads folder.

  4. Locate or create mods

    Run Forge once, close the game, and use its mods folder. Create a lowercase mods directory here if needed after confirming that Forge is the selected profile.

  5. Keep the archive intact

    Copy the selected JAR, not its extracted contents. Enable visible extensions in the file manager so double extensions do not hide the actual format.

  6. Launch the same installation

    Return to the launcher and select that Forge entry. Check Mods at the menu; if absent, inspect this directory’s latest.log rather than another profile’s logs.

Recognize the right folder before moving anything

The active game directory usually contains several recognizable siblings: logs, saves, config and sometimes resourcepacks. The mods directory belongs alongside them, not inside saves, versions or resourcepacks. A folder named mods in Downloads is only a normal folder until the selected launcher instance actually uses it. If the launcher offers a game-directory field, copy that path into the file manager rather than searching the entire disk for every folder called mods.

With multiple launchers, expect multiple valid directories. The official launcher, Prism and other instance managers can each keep their own files. A folder with a working mod for another instance does not prove it belongs to today's selected profile. Launch the intended profile once, close it and inspect its current log path if you are unsure. The log you opened should correspond to the launch you just performed, not an old installation found by a Windows search.

Copy the intact selected JAR directly into mods. Do not create a second nested mods folder or unpack the archive into a folder of classes. Remove duplicate variants while the game is closed, moving them to a separate storage folder rather than deleting uncertain files. Keep world backups outside the active saves folder. If Windows says a file is in use, close the game and launcher processes that own it before trying the move again. Changing file associations or opening the JAR with Java is unnecessary for a file that Forge loads from this directory.

Use paths without turning them into commands

On Windows, paste %appdata% into File Explorer's address bar or the Run dialog, then open .minecraft and mods if the launcher uses that default directory. Pasting a folder path into the browser's search box searches the web instead of opening the game directory. For a custom profile, use the absolute path saved in Game Directory. Create mods only inside that selected directory.

On macOS, Finder's Go to Folder accepts ~/Library/Application Support/minecraft/mods. The space in Application Support belongs to the path. On Linux, ~/.minecraft/mods uses a hidden directory under the user's home folder. A third-party launcher can place instances elsewhere, so its Open Folder control remains the better starting point when available. Do not edit system Java folders to install a mod.

If you find several copies of the archive, keep the one you want in the active instance and move the others outside loaded directories. A backup stored inside mods is still in the loader's search location. Use a separate archive or backup folder instead. Keep saves and configuration untouched while correcting the file location; the goal is to give Forge the right intact JAR, not to rebuild every folder in Minecraft.

Find the active game directory

Open the Minecraft Launcher installation settings for the Forge profile and inspect its Game Directory field. If a custom path is present, use that path. If it is blank, the launcher uses its normal Minecraft data directory.

Create or locate mods

Launch the Forge profile once, close Minecraft, then open the active game directory. Use the folder named mods. If Forge has not created it, confirm the profile really launches Forge before creating a simple lowercase mods folder.

Add the Java file

  • Keep the .jar intact.
  • Do not put it in resourcepacks, versions or saves.
  • Remove duplicate releases of the same mod.
  • Keep Bedrock .mcpack and .mcaddon files out of this folder.

Verify the result

Restart the same Forge profile and inspect the Mods screen. If the mod is missing, compare the Minecraft version, Forge version, filename and location, then read latest.log for the first relevant loading error.

Choose your next step

Sources used for this guide

These primary references support the technical file, loader and package details on this page.

  1. GitHub: ZellRaihan/Jenny-Mod releasesgithub.com
  2. Minecraft Forge 1.12.x documentation: File and folder locationsdocs.minecraftforge.net
  3. Minecraft Forge 1.12.x documentation: Getting Starteddocs.minecraftforge.net
  4. Prism Launcher: Downloading Modsprismlauncher.org
FAQ

Frequently asked questions

Why is there no mods folder?+

Forge may not have run successfully for that profile yet, or you may be viewing a different game directory.

Should I unzip the .jar?+

No. Forge mods are normally placed in the folder as intact .jar files.

Which path wins when Game Directory is customized?+

The selected profile's custom directory takes precedence over the default .minecraft location.

Should mods go inside the resourcepacks directory?+

No. Use mods directly under the selected Java game directory.

Can two launcher instances have separate mods folders?+

Yes. Each instance can use its own directory and independent mod set.

Does creating mods install Forge?+

No. Run the matching Forge profile; a folder alone does not create a loader.

Can I keep backup JARs inside mods under another folder name?+

Keep backups outside the active mod-loading location. A renamed archive or a folder called backup is a poor way to separate content you do not want loaded. Use a different storage directory for alternative downloads, then leave only the selected intact archive in the active mods directory. This makes later inspection straightforward and prevents uncertainty about which variant the profile is using. Preserve the original filenames in your storage folder so you can identify each release when returning to it.

How do I know a folder belongs to the launch I just performed?+

Open the selected installation’s game-directory control in the launcher. Then compare the log location from that launch with the directory you opened. A filesystem search can find old Minecraft folders that no current profile uses, so their familiar names are not enough. Keep the custom Game Directory value as the reference when it exists. Once you have confirmed the location, use that folder for the intact JAR and leave other instances unchanged.