A terminal-styled interface for bulk-downloading mods, resourcepacks, shaders, datapacks, plugins, and modpacks from Modrinth.
Real API calls, real files — no mockups.
$ npm install
$ npm run dev
home- Landing page and quick overviewcollection- Download every project in one or more Modrinth collectionsmodpack- Download a single modpack at an exact versionhelp- Full command reference and usage details
-
Enter one or more collection IDs or URLs (comma-separated), a mod version, a pack version, and a loader.
-
Mod version applies to loader-bound projects (e.g.
1.21.9) -
Pack version applies to resourcepacks/shaders/datapacks/plugins, and accepts
latestto grab the newest release regardless of Minecraft version -
Loader is selected from a dropdown (
fabric,forge,neoforge,quilt); it stays disabled until a mod version is set (skipped when the version isNA)
Required dependencies are resolved and pulled in automatically. Output is zipped as: collections_{timestamp}/ ├── mods/ ├── resourcepacks/ ├── shaders/ ├── datapacks/ └── plugins/
Enter the exact version URL of a modpack, e.g.:
https://modrinth.com/modpack/fabulously-optimized/version/M5BnAIQy
Or upload a local .mrpack file instead of a URL.
The .mrpack file is downloaded (or read from the upload) and unpacked, every file
in its manifest is resolved and fetched, and overrides//client-overrides/ are
merged into the pack root.
Output is zipped as:
modpack_{slug}{version}{timestamp}/
├── mods/, config/, ... (as defined by the pack manifest)
└── overrides merged into pack root\
- Up to 5 downloads run concurrently per batch
- Failed downloads are logged individually and listed (
•) in a boxed run summary runtoggles tostopmid-run to abort in-flight downloads (marked as stopped)- Log lines are color-coded live (soft red = errors, yellow = warnings) with an animated terminal loader
- A zip is only produced if at least one file downloaded successfully