Contents Director is a runtime mod and file installer for Minecraft modpacks. It downloads files that cannot be bundled directly with a pack and installs them during startup.
Use the shaded -all.jar artifacts. The plain JARs are intermediate build outputs and do not include all runtime dependencies.
| JAR | Target environment |
|---|---|
ContentsDirector-launchwrapper-*-all.jar |
Forge 1.7.10–1.12.2 using LaunchWrapper |
ContentsDirector-modlauncher-*-all.jar |
Forge / compatible ModLauncher-era loaders |
ContentsDirector-*-all.jar |
Combined LaunchWrapper, ModLauncher, and NeoForge FML early-service artifact |
ContentsDirector-standalone-*.jar |
Standalone/testing entry point |
For LaunchWrapper-era Forge, add:
--tweakClass com.juanmuscaria.modpackdirector.launchwrapper.ModpackDirectorTweaker
For the existing ModLauncher integration, the service is discovered through:
META-INF/services/cpw.mods.modlauncher.api.ITransformationService
NeoForge 1.21.9 and newer use the FML early-service path. Client runs have been verified on NeoForge 1.20.1, 1.21.9, and 26.3, and Forge 1.7.10, 1.12.2, 1.16.5, and 1.20.1. CI also checks early startup on a NeoForge 1.21.9 dedicated server before the EULA prompt. These are tested examples, not an exhaustive version range.
Place configuration files in the platform configuration directory, normally:
config/mod-director/
A minimal direct-download entry can be written as example.url.json:
{
"url": "https://example.invalid/example-mod.jar",
"fileName": "example-mod.jar"
}Contents Director also supports CurseForge, Modrinth, remote configuration files, bundles, file modification rules, side filtering, hashes, optional selections, superseding old files, archive extraction, and modpack version checks.
See Configuration for the complete format.
- Configuration — file types, provider entries, metadata, installation policy, bundles, remote configs, and modify rules
- Localization — bundled languages, locale behavior, external message overrides, and translation maintenance
- Troubleshooting — network/TLS failures, manual CurseForge fallback, offline startup, hash failures, and known limitations
- Releasing — versioning, release workflow, publication targets, and release checklist
- Changelog — unreleased changes prepared for the next release
The original projects' wikis remain useful historical references, but Contents Director's current behavior is documented in this repository.
Janrupf/mod-director
└─ juanmuscaria/ModpackDirector
└─ TerraFirmaGreg-Team/AutoPack-Director
└─ liquidcatmofu/Contents-Director
Current unreleased work includes stronger download/hash validation, staged installation and commit handling, safer remote configuration loading, offline-friendly provider metadata handling, a CurseForge manual-download fallback, macOS Swing isolation, expanded regression coverage, and Japanese/Simplified Chinese localization.
See the changelog for a release-oriented summary.
Building requires JDK 17. The project compiles Java sources as UTF-8 and targets Java 8 bytecode through Jabel. Tests execute with a Java 8 toolchain.
./gradlew clean build --no-daemonOutput JARs are written under the root/subproject build/libs/ directories.
- Mod Director — original project
- Modpack Director — UI and feature additions
- AutoPack Director — direct upstream fork
- FileDirector — file-processing features
- FlatLaf — UI theming