Minecraft Wiki
Advertisement

This article is about the main source code. For the launcher marked for "Linux/Other", see Minecraft Launcher.
Information icon
This feature is exclusive to Java Edition. 

client.jar is the main code source for Minecraft. It is located in the .minecraft/versions/<version> directory. When using the latest version of the launcher, it is named <game version>.jar.

It can be opened using a file archiving program or a Java decompiler.

Jar versions[]

The client.jar file is found in its version folder. It is accompanied by the client.json file that lists the version's attributes. Normal versions are available to choose from via the launcher, and snapshots are also available. It is also possible to download old alpha versions and create version files to install mods on. Note that creating a new version is the only way to install mods; the launcher keeps normal versions synced.

Files in client.jar[]

In client.jar many files can be found, except for sound files; they can be categorized like so:

  • Class files: compiled Java code that Minecraft uses for program logic. These files (classes) have names such as "acq" or "qn" because they have been run through an obfuscation tool to hide the names of methods, variables, and classes. However, they can still be disassembled to understand their functionality.
  • The META-INF directory: contains meta information about the game files.
  • Resource pack files: Contents that are in the vanilla resource pack, located in the assets directory.
  • .mcassetsroot: Used for identifying vanilla resources.
  • realms folder: Contains the textures and language files used by Realms.
  • minecraft folder: Resources for minecraft namespace.
  • Data pack files: Contents that are in the vanilla data pack, located in the data directory.
  • .mcassetsroot: Used for identifying vanilla datas.
  • minecraft folder: Datas for minecraft namespace.
  • pack.mcmeta: Metadata for both the vanilla resource and data packs. Fulfills the requirement for both resource pack and data pack metadata.
  • pack.png: Icon for both the vanilla resource and data packs.
  • log4j2.xml: XML Configuration file for Apache Log4j 2.
  • version.json: Contains some basic information of this version.

File hierarchy[]

This is the current file list as of Java Edition 1.16.5. Note that Java class files have been omitted for brevity.

Advertisement