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)
Remove broken links to missing pages
Line 1: Line 1:
{{Lowercase}}
{{Lowercase}}
{{Redirect|Client|the [[Minecraft: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]] {{in|be}}|Client request placeholder block}}
{{Exclusive|java}}
{{Exclusive|java}}
{{Infobox program
{{Infobox program
Line 6: Line 6:
| title = client.jar
| title = client.jar
| author =
| author =
* [[File:Mojang Studios logo.svg|x20px|link=Mojang Studios]] [[Minecraft: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 = {{OS|win|mac|lin}} and other platforms that support running a JVM
| programming language = {{OS|java}} {{w|Java (programming language)|Java}}
| programming language = {{OS|java}} {{w|Java (programming language)|Java}}
Line 17: Line 17:
* '''Release''': {{v|java}}
* '''Release''': {{v|java}}
{{#if: {{v|java-snap}} | * '''Snapshot''': {{v|java-snap}} }}
{{#if: {{v|java-snap}} | * '''Snapshot''': {{v|java-snap}} }}
| date = May 16, 2009 ([[Minecraft:Java Edition Classic mc-161607|mc-161607]])
| date = May 16, 2009 (mc-161607)
| customlinks =
| customlinks =
'''Downloads'''
'''Downloads'''
Line 25: Line 25:
{{relevant tutorial|See Minecraft's code}}
{{relevant tutorial|See Minecraft's code}}


<code>'''client.jar'''</code> is a {{w|JAR (file format)|JAR}} file containing the ''[[Minecraft:Minecraft]]'' program and some default resources. It is launched by the user using the ''[[Minecraft:Minecraft Launcher]]''.
<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''.


The <code>client.jar</code> file is named using the [[Minecraft:Version formats#Release|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:.minecraft]]/versions/''version''/''version''.jar</code>, next to the <code>[[Minecraft: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.


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


== Contents ==
== 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 [[Minecraft:Tutorial:Sound directory|sound files]] are stored separately.
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 ===
=== Directory structure ===
Line 48: Line 48:
     |{{File|file|MOJANGCS.SF}}
     |{{File|file|MOJANGCS.SF}}
}}
}}
|{{File|directory|assets}}: The vanilla [[Minecraft:resource pack]].
|{{File|directory|assets}}: The vanilla resource pack.
{{blist
{{blist
     |{{Collapse|title={{File|directory|minecraft}}
     |{{Collapse|title={{File|directory|minecraft}}
Line 89: Line 89:
     }}
     }}
}}
}}
|{{File|directory|data}}: The vanilla [[Minecraft:data pack]].
|{{File|directory|data}}: The vanilla data pack.
{{blist
{{blist
     |{{Collapse|title={{File|directory|minecraft}}
     |{{Collapse|title={{File|directory|minecraft}}
Line 102: Line 102:
         |{{File|directory|datapacks}}
         |{{File|directory|datapacks}}
         {{blist
         {{blist
         |{{File|directory|minecart_improvements}}: The Minecart Improvements [[Minecraft:data pack]].
         |{{File|directory|minecart_improvements}}: The Minecart Improvements data pack.
|{{File|directory|redstone_improvements}}: The Redstone Improvements [[Minecraft:data pack]].
|{{File|directory|redstone_improvements}}: The Redstone Improvements data pack.
         |{{File|directory|trade_rebalance}}: The Villager Trade Rebalance [[Minecraft:data pack]].
         |{{File|directory|trade_rebalance}}: The Villager Trade Rebalance data pack.
         }}
         }}
|{{File|directory|dialog}}
|{{File|directory|dialog}}
Line 127: Line 127:
         |{{File|directory|structure}}: [[Minecraft:Structure]] data.
         |{{File|directory|structure}}: [[Minecraft:Structure]] data.
         |{{File|directory|tags}}
         |{{File|directory|tags}}
|{{File|directory|test_environment}}: Introduced in [[Minecraft:Java Edition 1.21.5|1.21.5]].
|{{File|directory|test_environment}}: Introduced in 1.21.5.
|{{File|directory|test_instance}}: Introduced in [[Minecraft:Java Edition 1.21.5|1.21.5]].
|{{File|directory|test_instance}}: Introduced in 1.21.5.
|{{File|directory|timeline}}: [[Minecraft:Timeline]] data.
|{{File|directory|timeline}}: Timeline data.
|{{File|directory|trade_set}}
|{{File|directory|trade_set}}
|{{File|directory|trial_spawner}}: Trial spawner data. Introduced in [[Minecraft:Java Edition 1.21|1.21]].
|{{File|directory|trial_spawner}}: Trial spawner data. Introduced in 1.21.
         |{{File|directory|trim_material}}
         |{{File|directory|trim_material}}
         |{{File|directory|trim_pattern}}
         |{{File|directory|trim_pattern}}
Line 157: Line 157:
|{{File|file|flightrecorder-config.jfc}}
|{{File|file|flightrecorder-config.jfc}}
|{{File|file|pack.png}}: Vanilla resource pack and data pack icon.
|{{File|file|pack.png}}: Vanilla resource pack and data pack icon.
|{{File|file|[[Minecraft:version.json]]}}
|{{File|file|version.json}}
}}
}}
}}
}}


=== 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 [[Minecraft:rendering]], while also providing some low-level abstraction for {{w|OpenAL}} and {{w|glyph}} typographic information for audio control and [[Minecraft:font]]s respectively.
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.


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.
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>{{mcnet|vibrant-visuals-java-edition|Vibrant Visuals on Java Edition|April 16, 2025}}</ref> and a dedicated thread for rendering<ref>{{mcnet|the-road-to-vibrant-visuals-on-java|The road to Vibrant Visuals on Java|October 22, 2025}}</ref>.
In the future, Mojang Studios plans to rework the codebase, which includes separating the game's rendering and gameplay codebase,<ref>{{mcnet|vibrant-visuals-java-edition|Vibrant Visuals on Java Edition|April 16, 2025}}</ref> and a dedicated thread for rendering<ref>{{mcnet|the-road-to-vibrant-visuals-on-java|The road to Vibrant Visuals on Java|October 22, 2025}}</ref>.
Line 171: Line 171:
{{HistoryTable
{{HistoryTable
|{{HistoryLine|java classic}}
|{{HistoryLine|java classic}}
|{{HistoryLine||mc-161607|[[Minecraft:Notch]] started distributing the game to other people, constituting the creation of client.jar.}}
|{{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.}}
|{{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|java indev}}
Line 185: Line 185:
== 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 {{BE}}.
* [[Minecraft:.minecraft]]
* .minecraft
* [[Minecraft:server.jar]]
* [[Minecraft:server.jar]]


Line 193: Line 193:
[[Category:Development]]
[[Category:Development]]


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

Revision as of 15:42, 9 April 2026

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

client.jar is a Template:W 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 Template:W/Template:W and Template:WTemplate:Upcoming<ref>Template:Mcnet</ref> used in the game's rendering, while also providing some low-level abstraction for Template:W and Template:W 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

Template:Navbox Java Edition technical

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