client.jar

| Author(s) | |
|---|---|
| Platform(s) | |
| Written in | |
| Latest version |
|
| Release date |
May 16, 2009 |
| Size |
≈ 26 MiB |
| License | |
| Source available |
Partial |
| Links |
|
{
"title": "client.jar",
"rows": [
{
"field": "\n* (link to File:Mojang Studios logo.svg article, displayed as x20px|link=Mojang Studios) (link to Mojang Studios article, displayed as Mojang Studios)",
"label": "Author(s)"
},
{
"field": "(link to File:Windows.svg article, displayed as x20px|Windows|link=wikipedia:Microsoft Windows)<span style=\"padding-left:4px\">(link to File:macOS.svg article, displayed as x10px|macOS|link=wikipedia:macOS|class=darkmode-invert)</span><span style=\"padding-left:4px\">(link to File:Tux.svg article, displayed as x20px|Linux|link=wikipedia:Linux)</span> and other platforms that support running a JVM",
"label": "Platform(s)"
},
{
"field": "(link to File:Java.svg article, displayed as x20px|Java|link=wikipedia:Java (programming language)) (link to wikipedia:Java (programming language) article, displayed as Java)",
"label": "Written in"
},
{
"field": "\n* '''Release''': (link to Java Edition_1.21.8 article, displayed as 1.21.8)",
"label": "Latest version"
},
{
"field": "May 16, 2009",
"label": "Release date"
},
{
"field": "≈ 26 MiB",
"label": "Size"
},
{
"field": "[https://www.minecraft.net/en-us/eula EULA]",
"label": "License"
},
{
"field": "Partial",
"label": "<span style=\"white-space:normal\">Source available</span>"
},
{
"field": "\n* [https://www.minecraft.net/en-us/download Website]",
"label": "Links"
}
],
"invimages": [],
"images": [
"Java Edition 1.21.8.png"
]
}
client.jar is a JAR file containing the Minecraft program and some default resources. It is launched by the user using the Minecraft Launcher.
The client.jar file is named using the version number after download, e.g., 1.21.5.jar. The name client.jar is used on the distribution server, and commonly as a general term for all versions of the file. It is located at .minecraft/versions/version/version.jar, next to the client.json file.
It can be opened with a file archiving program that supports ZIP files.
Contents
The file contains some, but not all, default resources. For instance, textures from the vanilla resource pack are stored here, but 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 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 maps or community-created obfuscation maps such as Yarn.
Directory structure
The client.jar file has the following directory structure. Note that Java class files have been omitted for brevity.
version.jar
META-INF: Information for the JVM, including signature information, which may be used to check if the game is modified.
MANIFEST.MF
MOJANGCS.RSA
MOJANGCS.SF
assets: The vanilla resource pack.
minecraft
atlases
blockstates
font
items
lang
en_us.json
models
particles
shaders
texts
textures
gpu_warnlist.json
regional_compliancies.json
.mcassetsroot: Empty file identifying the vanilla resource pack.
com
mojang
blaze3d
data: The vanilla data pack.
minecraft
advancement
banner_pattern
chat_type
damage_type
datapacks
bundle
trade_rebalance
dimension_type
enchantment
enchantment_provider
raid
jukebox_song
loot_table
recipe
structure
tags
trim_material
trim_pattern
wolf_variant
worldgen
.mcassetsroot: Empty file identifying the vanilla data pack.
net
minecraft
client
data
obfuscate
server
util
flightrecorder-config.jfc
pack.png: Vanilla resource pack and data pack icon.
version.json
History
| Java Edition pre-Classic | |||||||
|---|---|---|---|---|---|---|---|
| mc-161607 | Notch started distributing the game to other people, constituting the creation of client.jar. | ||||||
| Java Edition Classic | |||||||
| 0.0.14a_08 | Signature files, MOJANG_C.SF and MOJANG_C.DSA have been added to the META-INF folder. | ||||||
| Java Edition Indev | |||||||
| 0.31 | 20091223-0040 | Java class files have been moved from client.jar/com/mojang/minecraft to client.jar/net/minecraft. | |||||
| Java Edition Infdev | |||||||
| 20100627 | Java class files are now all located in the root directory of client.jar. | ||||||
| Java Edition | |||||||
| 1.2.5 | The signature files, MOJANG_C.SF and MOJANG_C.DSA have been moved to CODESIGN.SF and CODESIGN.RSA, respectively. | ||||||
| 1.21.4 | 24w45a | New entry point net.minecraft.client.data.Main is present in client.jar, with similar command line structure as data generator in server.jar. | |||||
See also
| |||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||