Written in Java. Designed for all platform and portable use.
Note that this is not a launcher. It is just a modpack manager. Game launching still requires Minecraft launcher.
Use this website instead of CurseForge. It is way easier to search with it.
Remember to enable "Show Project ID" on the left of the site, so you can easily copy the ID.
- Download the "curseforge.zip" at the release page.
- Extract it to your desire location.
- Open a terminal in the extracted folder.
- If you're using Linux, make the "curseforge" file executable. There are 2 approaches:
- GUI: Open your file manager, right-click the file and get into "Properties", search and check "Executable" (or similar options).
- CLI: Run
chmod +x <path>, where "path" is the path to the "curseforge" bash script.
- Run
./curseforgein the terminal you opened to start it. - (Optional) Put the path where you extracted the program to the PATH variable. That way you can run
curseforgedirectly from terminal withoutcd-ing to there first.
If you want to use the "curseforge-cli.jar" file directly, follow step 2 and 3 above, and then do the following:
- Run
java -jar curseforge-cli.jar --argsand put your arguments after--args.
helpDisplay commands of the program.configConfigure the program.directory <path>Set the working directory of the program.
modpackCommands for modpack.install <ID[_FileID]>Install modpack(s). The ID parameter is the ID of the modpack found on CurseForge. To install a modpack with a specific version, use the format ID_FileID, where FileID is the ID of the modpack zip file on CurseForge. Omit to install the latest version.delete <ID[_FileID] | Slug>Delete modpack(s). The ID/slug parameter is the ID/slug of the modpack. Specify the FileID to remove a spcific version.listList all installed modpacks.
profileCommands for custom profile.createCreate a custom profile. You will need to answer some questions.edit <profile>Edit a custom profile. Similar tocreate.delete <name>Delete a profile. The name parameter is the name of the profile.add <profile> <ID[_FileID]>Add a mod to the profile. ID is the ID of the mod on CurseForge.remove <profile> <ID>Remove a mod from the profile. Works similarly toadd.update <profile> [all | ID[_FileID]]Update mods of a profile. Appendallto update all mods. Omit ID to check for updates. Include FileID to update to a specific version.exportExport the profile as an uploadable modpack format.import <path>Import a downloaded modpack.
modCommands for mods.search <keywords>Search for mods with keywords. Will also export results to file for easier adding to profile.
You can configure CurseForge CLI by editing cf.json. The file should be generated once the JAR file has run once.
These are the options you can edit:
directoryThe directory where modpacks and profiles are stored. Default:./curseforge-cliacceptParentWhether mods with only the parent version of a profile is accepted or not. For example, you can install a 1.18 mod into a 1.18.1 profile. Default:truesuppressUpdatesWhether the update messages should be suppressed or not. Default:falsesilentExceptionsWhether the exception stack traces should be silenced or not. Default:falseretriesThe amount of retries when downloading something fails. Default:3
If you put the JAR file together with a zip of the exported profile, CurseForge CLI will automatically install that profile to the current directory.
This has 1 limitation, which is you should not put multiple zip files in the same directory.
When you run the CLI, you should see a new file called cf.json. It is essentially the save file of the program. If you don't know what you are doing, do not touch it.
You will find modpack/mod name with some numbers after it. That is totally intentional. Do not attempt to remove it. It is used for recognition.
Installing a modpack will also generate a profile. However, the profile doesn't use the correct mod loader. Please install the mod loader yourself as instructed.
To compile the program yourself, some libraries are needed:
Download them and put them somewhere.
This program is compiled with IntelliJ, so I don't know how to compile it outside of IntelliJ.
Anyway, follow the steps:
- Download the repository by
git cloneor downloading as ZIP and extract it. - Launch IntelliJ IDEA if you haven't.
- Open the directory where the files are extracted into.
- In the top bar, go to File->Project Structure.
- On the left side, go to Global Libraries.
- Click the + symbol and choose Java.
- In the file chooser, choose the Java libraries you downloaded.
- Click OK on everything.
- In the top bar, go to Build->Build Artifacts.
- In the little window, choose Build.
- The
.jarfile should be built insideout/artifacts.
If you want to support me, please consider becoming my Patron.
GNU GPLv3