Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Client.jar: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: new page from Minecraft
 
SyncBot (talk | contribs)
Sync: updated from Minecraft
 
(3 intermediate revisions by the same user not shown)
Line 20: Line 20:
| customlinks =
| customlinks =
'''Downloads'''
'''Downloads'''
* [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{v|java|nolink=yes}}|includepage={Infobox version}:clienthash}}/client.jar Release {{v|java|nolink=yes}}]
* [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{v|java|nolink=yes}}|includepage={Infobox version}:clienthash}}/client.jar {{v|java|nolink=yes}}]
* [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{v|java-snap|nolink=yes}}|includepage={Infobox version}:clienthash}}/client.jar {{ucfirst:{{v|java-type|nolink=1}}}} {{v|java-snap|nolink=yes}}]
* {{#if: {{v|java-snap}} | [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{v|java-snap|nolink=yes}}|includepage={Infobox version}:clienthash}}/client.jar {{v|java-snap|nolink=yes}}] }}
}}
}}
{{relevant tutorial|See Minecraft's code}}
{{relevant tutorial|See Minecraft's code}}
Line 180: Line 180:
|{{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.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 [[Minecraft:server.jar]].}}
|{{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 [[Minecraft:server.jar]].}}
|{{HistoryLine||26.1|dev=snap1|The Java class files in client.jar are no longer obfuscated, and are no longer located in the root directory of client.jar.}}
|{{HistoryLine||26.1|dev=snap1|The Java class files in client.jar are no longer obfuscated, and are no longer located in the root directory of client.jar.
|All files inside of client.jar (except for those inside the META-INF folder) now always have a last modified date of February 1, 1980. This is done by Gradle as part of its reproducable builds behavior.<ref>[https://github.com/gradle/gradle/blob/master/platforms/core-runtime/files/src/main/java/org/gradle/api/internal/file/archive/ZipEntryConstants.java#L24-L39 ZipEntryConstants.java: L24-L39] &ndash; gradle/gradle on GitHub.</ref>}}
}}
}}


Line 187: Line 188:
* [[Minecraft:.minecraft]]
* [[Minecraft:.minecraft]]
* [[Minecraft:server.jar]]
* [[Minecraft:server.jar]]
== References ==
{{reflist}}


== Navigation ==
== Navigation ==

Latest revision as of 11:04, 2 June 2026

Template:Lowercase Template:Redirect Template:Exclusive Template:Infobox program Template:Relevant tutorial

client.jar is a Template:W file containing the Minecraft:Minecraft program and some default resources. It is launched by the user using the Minecraft: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:.minecraft/versions/version/version.jar, next to the Minecraft:client.json file.

It can be opened with a file archiving program that supports ZIP files.

Contents

The file contains the Minecraft program in form of compiled Java class files. It also contains some, but not all, default resources; for instance, textures from the vanilla resource pack are stored here, but sound files are stored separately.

Directory structure

The client.jar file has the following directory structure. Note that Java class files have been omitted for brevity.

Template:Blist

Blaze3D

Blaze3D is a private library that provides the graphics backend for Template:W/Template:W and Template:WTemplate:Upcoming<ref>Template:Mcnet</ref> used in the game's Minecraft:rendering, while also providing some low-level abstraction for Template:W and Template:W typographic information for audio control and Minecraft:fonts respectively.

When used for rendering, Blaze3D sets up the render system and the graphics backend, managing the program's window, GPU devices, memory buffers, view states, and other resources. When used for audio, it provides audio devices, channeling, and playback control for the game's own Minecraft:sound engine.

In the future, Mojang Studios plans to rework the codebase, which includes separating the game's rendering and gameplay codebase,<ref>Template:Mcnet</ref> and a dedicated thread for rendering<ref>Template:Mcnet</ref>.

History

Template:HistoryTable

See also

References

Template:Reflist

Navigation

Template:Navbox Java Edition technical

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