4 Custom Version Manifest
Henry edited this page 2020-12-26 14:39:34 +00:00

The version manifest is used by the launcher (as well as Mojang's launcher) to determine:

  • The Java libraries to load
  • The command line arguments to run Minecraft with
  • The main class to run
  • The version of Minecraft to obtain assets (textures, sounds, etc.) for

For every version of Minecraft, there is an associated version manifest file.

Mod Loaders

Mod loaders like Forge, LiteLoader, Fabric, and a small minority of other mods make modifications to the version manifest. Changes include:

  • Adding more libraries to the list
  • Changing the main class
  • Appending to or replacing the command line arguments

You can check the embedded version manifest of your loader-based packs if you're curious about what changes are made.

Sourcing the Version Manifest

When you use the launcher's tools to build the modpack, the manifest is downloaded from Mojang's server for the selected Minecraft version, and then modifications required by any mods loaders (or mods) in the loaders/ folder are applied.

This version manifest is embedded into the package manifest, which the launcher later uses.

Custom Version Manifests

Rather than sourcing the version manifest from Mojang, you can provide your own.

Simply add in a version.json file into your modpack's project files. It should go into the root folder, not src/.

From a Mojang Launcher Profile

If you are using a version file from a Mojang launcher profile (that was added by an installer like the Forge installer), you may need to remove some libraries from this file before you can use it. The libraries that need to be removed are the ones that have been added directly into the .jar (like a .jar mod).

In addition, if there are libraries that were added to the version manifest by a installer and they weren't added into the .jar, you will have to host these libraries for download for the launcher.