{{lowercase}}
{{File|archive|'''client.jar'''|inline=1}} is a JAR archive containing the ''[[Minecraft]]'' program and resources. It is located at <samp>[[.minecraft]]/versions/''version''/''version''.jar</samp>, next to the {{File|file|[[client.json]]|inline=1}} file.

It can be opened with a [[wikipedia:File archiver|file archiving program]] that supports ZIP files.

== Contents ==
The file contains some, but not all, resources. For instance, the vanilla resource pack is stored here, but [[Tutorials/Sound directory|sound files]] are stored separately.

It also stores the ''Minecraft'' program in form of Java class files. These files have names such as "acq" or "qn", because they have been obfuscated with the {{w|ProGuard}} tool to hide the original names. However, they can still be disassembled or decompiled to understand their functionality and aid modding, and can be deobfuscated using the official [[obfuscation map]]s or community-created obfuscation maps such as Yarn.

== Directory structure ==
The {{File|archive|client.jar}} file has the following directory structure. Note that Java class files have been omitted for brevity.

<div class="treeview"><!-- last checked in 1.21.1 -->
*{{File|archive|''version''.jar}}

**{{File|directory|META-INF}}: Information for the JVM, including signature information
***{{File|file|MANIFEST.MF}}
***{{File|file|MOJANGCS.RSA}}
***{{File|file|MOJANGCS.SF}}
**{{File|directory|assets}}: The vanilla [[resource pack]].
***{{File|directory|minecraft}} <div class="mw-collapsible mw-collapsed">
****{{File|directory|atlases}}
****{{File|directory|blockstates}}
****{{File|directory|font}}
****{{File|directory|items}}
****{{File|directory|lang}}
*****{{File|file|en_us.json}}
****{{File|directory|models}}
****{{File|directory|particles}}
****{{File|directory|shaders}}
****{{File|directory|texts}}
****{{File|directory|textures}}
****{{File|file|gpu_warnlist.json}}
****{{File|file|regional_compliancies.json}}</div>
***{{File|file|.mcassetsroot}}: Empty file identifying the vanilla resource pack.
**{{File|directory|com}}
***{{File|directory|mojang}}
****{{File|directory|blaze3d}}
**{{File|directory|data}}: The vanilla [[data pack]].
***{{File|directory|minecraft}} <div class="mw-collapsible mw-collapsed">
****{{File|directory|advancement}}
****{{File|directory|banner_pattern}}
****{{File|directory|chat_type}}
****{{File|directory|damage_type}}
****{{File|directory|datapacks}}
*****{{File|directory|bundle}}
*****{{File|directory|trade_rebalance}}
****{{File|directory|dimension_type}}
****{{File|directory|enchantment}}
****{{File|directory|enchantment_provider}}
*****{{File|directory|raid}}
****{{File|directory|jukebox_song}}
****{{File|directory|loot_table}}
****{{File|directory|recipe}}
****{{File|directory|structure}}
****{{File|directory|tags}}
****{{File|directory|trim_material}}
****{{File|directory|trim_pattern}}
****{{File|directory|wolf_variant}}
****{{File|directory|worldgen}}</div>
***{{File|file|.mcassetsroot}}: Empty file identifying the vanilla data pack.
**{{File|directory|net}}
***{{File|directory|minecraft}}
****{{File|directory|client}}
****{{File|directory|data}}
****{{File|directory|obfuscate}}
****{{File|directory|server}}
****{{File|directory|util}}
**{{File|file|flightrecorder-config.jfc}}
**{{File|file|pack.png}}: Vanilla resource pack and data pack icon.
**{{File|file|[[version.json]]}}
</div>

== History ==
{{HistoryTable
|{{HistoryLine|java pre-classic}}
|{{HistoryLine||mc-161607|[[Markus Persson|Notch]] started distributing the game to other people, constituting the creation of client.jar.}}
|{{HistoryLine|java classic}}
|{{HistoryLine||0.0.14a_08|Signature files, MOJANG_C.SF and MOJANG_C.DSA have been added to the META-INF folder.}}
|{{HistoryLine|java indev}}
|{{HistoryLine||0.31|dev=20091223-0040|Java class files have been moved from client.jar/com/mojang/minecraft to client.jar/net/minecraft.}}
|{{HistoryLine|java infdev}}
|{{HistoryLine||20100627|Java class files are now all located in the root directory of client.jar.}}
|{{HistoryLine|java}}
|{{HistoryLine||1.2.5|The signature files, MOJANG_C.SF and MOJANG_C.DSA have been moved to CODESIGN.SF and CODESIGN.RSA, respectively.}}

|{{HistoryLine||1.21.4|dev=24w45a|New entry point {{samp|net.minecraft.client.data.Main}} is present in client.jar, with similar command line structure as data generator in [[server.jar]].}}
}}

== See also ==
* [[.minecraft]]

== Navigation ==
{{Navbox Java Edition technical|general}}

[[Category:Development]]

[[de:Minecraft.jar]]
[[es:Minecraft.jar]]
[[fr:Client.jar]]
[[it:Client.jar]]
[[ja:Client.jar]]
[[ko:Client.jar]]
[[nl:Minecraft.jar]]
[[pl:Minecraft.jar]]
[[pt:Client.jar]]
[[ru:Client.jar]]
[[tr:Client.jar]]
[[uk:Client.jar]]
[[zh:Client.jar]]
