Texture atlas

A texture atlas, also known as a spritesheet, is an arrangement of game sprites on a single image file, used by the game to store and access associated sprites more efficiently than with individual files. Minecraft uses both procedurally-generated and predefined texture atlases for different purposes.

Procedurally-generated texture atlases
Block and item textures are combined into the same atlas, minecraft_textures_atlas_blocks.png_0.png; accessible via F3 + S (saved into a folder titled "debug" in the .minecraft screenshots folder) in modern versions of the game.

It is unknown when this was added, but it is intended as a debug feature and is available in 23w18a and above.

All other textures are also available in their own respective texture atlases in said .minecraft/screenshots/debug folder. For example, the particle atlas is minecraft_textures_atlas_particles.png_0.png, while the chest atlas is minecraft_textures_atlas_chest.png_0.png, minecraft_textures_atlas_decorated_pot.png_0.png.

Trivia
There is a file in .minecraft/screenshots/debug called minecraft_missingno.png, titled as a reference to the infamous missingno pokemon in the original Pokemon Red & Blue game.

Each texture – i.e. minecraft_textures_atlas_blocks.png_0.png – has an accompanying _1, _2, _3, and _4 texture (such as minecraft_textures_atlas_blocks.png_4.png), each texture starting at _1 being at progressively lower downscaled resolutions (_0, the original, is 1024x512 pixels, whilst _4 is only 64x32 pixels). It is currently unknown for what purpose this definitely serves, but it is hypothesized that it is for mipmap distance rendering as to lower the load on the CPU, GPU, and/or RAM, improving performance especially on lower-spec machines.

bars.png
bars.png is used for storing boss bar textures and their overlays. As of Java Edition 1.16.4, this file is still in use.

The file was compressed in 15w49a, 1.11-pre1 and 19w41a.

icons.png
icons.png is used for storing the textures of certain UI elements.

As of Java Edition 1.17, this file is still used in the game.

inventory.png
This file is only loosely defined as a texture atlas due to the small amount of auxiliary sprites surrounding the main inventory box. Nonetheless, it has a notable history of housing several status effect textures.

kz.png
kz.png is used for storing the textures of paintings.

map_icons.png
This file is used for static icons on maps. Interestingly, it has many unused icons which have existed for many years.

particles.png
particles.png is used for storing the textures of most particles. Two other atlases, explosion.png and sweep.png, were used for respectively storing explosion and sweeping attack particles.

widgets.png
widgets.png (previously known as gui.png ) is used for defining several types of menu buttons and icons. The file is still in use as of Java Edition 1.16.4.

items.png
items.png was used for storing the textures of items. It has been replaced with minecraft_textures_atlas_blocks.png_0.png in newer versions such as 1.19 (accessible via F3 + S and saved in the screenshots folder).

terrain.png
terrain.png was used for storing the textures of blocks. It has also been replaced with minecraft_textures_atlas_blocks.png_0.png in newer versions such as 1.19 (accessible via F3 + S).

History
Specific changes to texture files are documented in each texture file's dedicated section or page.