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)
Remove broken links to missing pages
SyncBot (talk | contribs)
Fix template calls: add MC/ prefix
 
Line 1: Line 1:
{{Lowercase}}
{{MC/Lowercase}}
{{Redirect|Client|the entity sometimes called "client"|Player|the [[Minecraft:block]] {{in|be}}|Client request placeholder block}}
{{Redirect|Client|the entity sometimes called "client"|Player|the [[Minecraft:block]] {{MC/In|be}}|Client request placeholder block}}
{{Exclusive|java}}
{{MC/Exclusive|java}}
{{Infobox program
{{Infobox program
| image = Java Edition {{v|java|nolink=1}}.png
| image = Java Edition {{MC/V|java|nolink=1}}.png
| title = client.jar
| title = client.jar
| author =
| author =
* [[File:Mojang Studios logo.svg|x20px|link=Mojang Studios]] Mojang Studios
* [[File:Mojang Studios logo.svg|x20px|link=Mojang Studios]] Mojang Studios
| platform = {{OS|win|mac|lin}} and other platforms that support running a JVM
| platform = {{MC/OS|win|mac|lin}} and other platforms that support running a JVM
| programming language = {{OS|java}} {{w|Java (programming language)|Java}}
| programming language = {{MC/OS|java}} {{MC/W|Java (programming language)|Java}}
| license = [https://www.minecraft.net/en-us/eula EULA]
| license = [https://www.minecraft.net/en-us/eula EULA]
| website = https://www.minecraft.net/en-us/download
| website = https://www.minecraft.net/en-us/download
| source available = Partial
| source available = Partial
| size = * ≈ 53 MiB ({{v|java}})
| size = * ≈ 53 MiB ({{MC/V|java}})
* ≈ 76 MiB (as of {{v|java-snap}})
* ≈ 76 MiB (as of {{MC/V|java-snap}})
| version =
| version =
* '''Release''': {{v|java}}
* '''Release''': {{MC/V|java}}
{{#if: {{v|java-snap}} | * '''Snapshot''': {{v|java-snap}} }}
{{#if: {{MC/V|java-snap}} | * '''Snapshot''': {{MC/V|java-snap}} }}
| date = May 16, 2009 (mc-161607)
| date = May 16, 2009 (mc-161607)
| 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 {{MC/V|java|nolink=yes}}|includepage={Infobox version}:clienthash}}/client.jar Release {{MC/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}}]
* [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{MC/V|java-snap|nolink=yes}}|includepage={Infobox version}:clienthash}}/client.jar {{ucfirst:{{MC/V|java-type|nolink=1}}}} {{MC/V|java-snap|nolink=yes}}]
}}
}}
{{relevant tutorial|See Minecraft's code}}
{{MC/Relevant tutorial|See Minecraft's code}}


<code>'''client.jar'''</code> is a {{w|JAR (file format)|JAR}} file containing the ''Minecraft'' program and some default resources. It is launched by the user using the ''Minecraft Launcher''.
<code>'''client.jar'''</code> is a {{MC/W|JAR (file format)|JAR}} file containing the ''Minecraft'' program and some default resources. It is launched by the user using the ''Minecraft Launcher''.


The <code>client.jar</code> 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 <code>.minecraft/versions/''version''/''version''.jar</code>, next to the <code>client.json</code> file.
The <code>client.jar</code> 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 <code>.minecraft/versions/''version''/''version''.jar</code>, next to the <code>client.json</code> file.
Line 162: Line 162:


=== Blaze3D ===
=== Blaze3D ===
Blaze3D is a private library that provides the graphics backend for {{w|LWJGL}}/{{w|OpenGL}} and {{w|Vulkan}}{{upcoming|je 26.2}}<ref>{{mcnet|another-step-towards-vibrant-visuals-for-java-edition|Another step towards Vibrant Visuals|February 18, 2026}}</ref> used in the game's rendering, while also providing some low-level abstraction for {{w|OpenAL}} and {{w|glyph}} typographic information for audio control and fonts respectively.
Blaze3D is a private library that provides the graphics backend for {{MC/W|LWJGL}}/{{MC/W|OpenGL}} and {{MC/W|Vulkan}}{{MC/Upcoming|je 26.2}}<ref>{{mcnet|another-step-towards-vibrant-visuals-for-java-edition|Another step towards Vibrant Visuals|February 18, 2026}}</ref> used in the game's rendering, while also providing some low-level abstraction for {{MC/W|OpenAL}} and {{MC/W|glyph}} typographic information for audio control and 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 sound engine.
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 sound engine.
Line 170: Line 170:
== History ==
== History ==
{{HistoryTable
{{HistoryTable
|{{HistoryLine|java classic}}
|{{MC/HistoryLine|java classic}}
|{{HistoryLine||mc-161607|Notch started distributing the game to other people, constituting the creation of client.jar.}}
|{{MC/HistoryLine||mc-161607|Notch started distributing the game to other people, constituting the creation of client.jar.}}
|{{HistoryLine||0.0.14a_08|Signature files, MOJANG_C.SF and MOJANG_C.DSA have been added to the META-INF folder.}}
|{{MC/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}}
|{{MC/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.}}
|{{MC/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}}
|{{MC/HistoryLine|java infdev}}
|{{HistoryLine||20100627|Java class files are now all located in the root directory of client.jar.}}
|{{MC/HistoryLine||20100627|Java class files are now all located in the root directory of client.jar.}}
|{{HistoryLine|java}}
|{{MC/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.}}
|{{MC/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.}}
|{{MC/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.}}
}}
}}


== See also ==
== See also ==
* [[Minecraft:Bedrock Edition installation files|''Bedrock Edition'' installation files]], which contain the game client executable for {{BE}}.
* [[Minecraft:Bedrock Edition installation files|''Bedrock Edition'' installation files]], which contain the game client executable for {{MC/BE}}.
* .minecraft
* .minecraft
* [[Minecraft:server.jar]]
* [[Minecraft:server.jar]]


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


[[Category:Development]]
[[Category:Development]]

Latest revision as of 20:07, 9 April 2026

  1. REDIRECT Template:Lowercase title

Template:Redr Template:Redirect Script error: No such module "Exclusive". Template:Infobox program Template:Pointer box

client.jar is a

  1. REDIRECT Template:Wikipedia

Template:Redr 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 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

  1. REDIRECT Template:Wikipedia

Template:Redr/

  1. REDIRECT Template:Wikipedia

Template:Redr and

  1. REDIRECT Template:Wikipedia

Template:Redr​{{#vardefine: $version | je 26.2 }}{{#vardefine: $version2 | }}<upcoming: Template:Version link & Template:Version link></upcoming: Template:Version link & Template:Version link><ref>Template:Mcnet</ref> used in the game's rendering, while also providing some low-level abstraction for

  1. REDIRECT Template:Wikipedia

Template:Redr and

  1. REDIRECT Template:Wikipedia

Template:Redr typographic information for audio control and 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 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

Navigation

Concepts
General format
World
Legacy
Level format
Legacy
.minecraft
Tools
Sound
Commands

All commands

Launching
Legacy
Protocol
Server
Protocols
Legacy
Components
Tag
GameTest
World generation
Noise settings
Structures
Removed
Data packs
Tutorials
Content
World generation

Template:Article other

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