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

Minecraft:Resource pack

From SAS Gaming Wiki

Template:Relevant tutorial

File:TexturesComparison.png
The default textures on the left side, and a custom resource pack (Rodrigo's Pack 8x8) on the right.

The resource pack system provides a way for players to customize textures, Minecraft:models, Minecraft:music, Minecraft:sounds, Minecraft:languages, texts such as the Minecraft:End Poem, Minecraft:splashes, credits, and fonts without any code modification. They are often used together with Minecraft:data packs or Minecraft:behavior packs to add new content to the game. Template:IN, resource packs are often included in Minecraft:add-ons in the Minecraft:Marketplace.

Java Edition

Behavior

File:Select resource pack.png
The default resource pack settings.

Each resource pack is either a directory or a ZIP archive (with Template:Code extension). Resource packs can be added by placing them in the Template:File directory within Template:File, or by dragging and dropping onto the "Select Resource Packs" screen, which copies them there automatically. Resource packs present in the directory can then be managed from the Minecraft:options, where they can be moved between "Available" (disabled) and "Selected" (enabled), and reordered.

Resource packs load their assets based on the order they appear in on the "Selected" list. The bottom-most pack loads first, then each pack above it replaces or merges loaded assets with ones it contains.

Built-in resource packs

There are currently three resource packs that are included as part of the game.

Pack name Pack description Description
File:Default pack.png Default The default look and feel of Minecraft (built-in) Selected by default, can't be unselected. Contains essential files.
File:Programmer Art pack.png Minecraft:Programmer Art The classic look of Minecraft (built-in) The old (pre-1.14) textures. They are typically not updated when the game receives new textures and are only modified to account for formatting changes. This resource pack is stored as minecraft/resourcepacks/programmer_art.zip in the asset object store.
File:HC pack.png High Contrast Enhances the UI contrast of Minecraft (built-in) Increases the contrast of menu GUIs. This resource pack is stored as minecraft/resourcepacks/high_contrast.zip in the asset object store.

Preloaded resource packs

A ZIP archive resource pack can be bundled with a Minecraft:world by placing it in the world directory under the name Template:Code. When playing the world, that resource pack appears as the default pack, right above the default resource pack. It is, however, not distributed to other players connecting via LAN.

A resource pack can be set on a server by setting Template:Code to an HTTP(S) URL pointing to a ZIP archive resource pack in Minecraft:server.properties. Players can then choose if they want to download the resource pack or not when joining. Players can also be forced to accept the resource pack by setting Template:Code; in this case, rejecting the resource pack disconnects the player from the server.

There is no way to force the use of a resource pack in a Minecraft:Realm.Template:Needs testing

Directory structure

Resource packs in Java Edition have the following directory structure:

Contents

A resource pack is identified by Minecraft based on the presence of Template:File in the root directory.

The root directory also contains an optional Template:W image called Template:File, which appears as the thumbnail for the pack on the resource pack selection menu.

Language

Language files are Minecraft:JSON files, which contain text data translated to different Minecraft:languages. They are located in Template:File and named Template:File. Languages other than default can be defined in Template:File.

A language file consists of an object containing ID and translation pairs. The ID uniquely identifies any translatable text in the game, and the translation is displayed as that text when the language is selected. For example, Template:Code is the ID of the text used for the name of the Minecraft:stone block, and its translation in the Template:Code language is Template:Code.

Language files are merged with other selected packs, so any names that are not present are loaded from packs of lesser priority.

In language key values, placeholders to be replaced by other text or numbers later can also be used; for example, using the Template:Code of a translatable text component.

Placeholders are defined using Template:Code as a short form, or Template:Code to specify the index explicitly. Placeholder indices start at Template:Code. When not specifying the index explicitly, the game will pick the next available index in sequential order, and placeholders are assigned an index in the order they are encountered in the string. If translators need to swap the order of placeholders for grammatical reasons, they can swap a Template:Code placeholder with an indexed one.

A literal Template:Code character, which should render as such in the text shown by the game and is not part of a translation placeholder, must be escaped by using Template:Code; otherwise, the game may fail to parse other placeholders within that string.

Textures

File:Missing Model.png
The "missing model" for invalid or missing models, prominently using the black and magenta "missing texture".

Textures are image files in PNG format, which provide images to be used as textures for models such as items, blocks and mobs.

Before 1.13 for block or item textures to function, they must have equal width and height (or height that is a multiple of the width if animated); otherwise it appears as a magenta and black checkerboard. For most other textures, the file is stretched to fit the required dimensions. As of 1.13 non-square textures can be used for blocks and items just fine (although they will look stretched/squashed on default models).

Most solid blocks turn any transparent area fully opaque. Some other blocks, which have "cutout" transparency (like glass) turn all pixels that are less than 10% opaque fully transparent and all other pixels completely opaque. Every other block renders textures with semi-transparency as-is. All items, blocks or entities that are semi-transparent by default support semi-transparency. All items that do not have a corresponding block do support semi-transparency.

If a texture does not exist in any resource pack, including the default, the Minecraft:missing texture appears in its place. As of 1.19.1, six such cases exist in the vanilla resource pack, all particle-related.

Texture animation

All textures that get stitched to an Minecraft:atlas support animation. This includes:

  • Block and item textures
  • Banner and shield textures
  • Some block entities including: bed, chest, conduit, decorated pot, enchanting table book, bell, shulker box and sign textures
  • Item frame and painting textures
  • GUI sprites (all textures in the Template:File directory)
  • Mob effect icon textures
  • Map decoration textures
  • Particle textures
  • Armor trim textures. This doesn't work with the Template:Code atlas source type, so textures must be added to the atlas using either the Template:Code or Template:Code source types to be animated
  • Sun, moon, and end flash

An animated texture is created by placing additional frames either vertically below the first, or horizontally to the right of the first. Alternatively, the frames can be arranged in a table by defining a width and height in the animation properties; in this case they are ordered row by row, top to bottom, left to right.

Each frame of the animation must be the same size, and the total dimensions of the image must be divisible by the width and height in the animation properties; otherwise a Minecraft:missing texture is shown. If a width and height are not specified, the game assumes each frame is square and the size of the smallest dimension of the image.

The animation properties are specified with a JSON file, named like the texture (including the extension), but with .mcmeta suffix appended. For example, the animation properties for Template:Code would be Template:Code.

Texture animation properties format
  • Template:Nbt The root tag
    • Template:Nbt: Contains the animation properties
      • Template:Nbt: If true, the game generates additional frames between frames if the frametime is greater than 1 between them. Defaults to Template:Code.
      • Template:Nbt: The width of a single frame in pixels. Defaults to the image's width if height is defined, or the smaller of the image's dimensions if it isn't.
      • Template:Nbt: The height of a single frame, in pixels. Defaults to the image's height if width is defined, or the smaller of the image's dimensions if it isn't.
      • Template:Nbt: Sets the default time for each frame in increments of one game tick. Defaults to Template:Code.
      • Template:Nbt: Contains a list of frames. Defaults to displaying all the frames from first to last.
        • Template:Nbt The index of a frame, with the first frame being 0.
        • Template:Nbt An object containing additional data about a frame
          • Template:Nbt: The index of a frame, with the first frame being 0.
          • Template:Nbt: The time in ticks to show this frame, overriding frametime above.

If the animation properties file does not exist in the pack and the texture does, the game assumes it isn't animated and displays the entire texture at once.

Villagers

Textures from Template:Code and Template:Code support a Template:Code file in JSON format containing additional effects to apply to the hat layer. The file is contained in the same directory as the texture, and has the same name as the texture, except appended with Template:Code. For example, the file Template:Code can have a properties file called Template:Code

If the Template:Code file does not exist in the pack and the texture does, the game loads the default settings, rather than loading a Template:Code file from a pack below that pack.

GUI

Textures from Template:Code support a Template:Code file in JSON format containing scaling behavior of the texture. For example, the file Template:Code can have a properties file called Template:Code

Colormaps

Colormaps are 256×256 pixel images that tell the game which color to use in each biome. They are located in Template:Code. The game contains three colormaps: Template:Code colors plants such as Minecraft:leaves (except birch and spruce) and Minecraft:vines, Template:Code colors Minecraft:grass and Minecraft:grass blocks, and Template:Code colors Minecraft:leaf litter. Colormaps can be disabled on individual blocks by removing the Template:Code tag from the block model.

Birch leaves, spruce leaves, swamp grass, mangrove swamp grass and midlands grass are not controlled by colormaps Template:In, unlike Template:In.

Properties

Textures from Template:CodeTemplate:Verify support a Template:Code file in JSON format containing additional effects to apply to the texture. The file is contained in the same directory as the texture, and has the same name as the texture, except appended with Template:Code. For example, the file Template:Code can have a properties file called Template:Code

If the Template:Code file does not exist in the pack and the texture does, the game loads the default settings, rather than loading a Template:Code file from a pack below that pack.

Texts

Two text files in UTF-8 format and one JSON file exist in Template:File. They are used to display specific untranslated text.

The file Template:File contains the text of the Minecraft:End Poem, using Minecraft:formatting codes to apply the colors to the two speakers, and with the text Template:Code being replaced with the player's name. After that file is shown, credits based on contents of Template:File are shown.

The following Minecraft:JSON format is used for Template:File:

The file Template:File contains texts separated by LF line breaks used as Minecraft:splashes.

Texture sheets

Template:Main Minecraft generally does not store multiple different textures in combined sheets and instead stores them in separate files. The only current exceptions are Minecraft:experience orbs.<ref>https://feedback.minecraft.net/hc/en-us/community/posts/360058097892-Split-up-the-experience-orb-texture-file-into-individual-sprites</ref>

Regional compliancies warnings

Regional compliancies warnings can be customized in Template:File.

  • Template:Nbt The root tag
    • Template:Nbt: Contains a list of warnings. Note that the key itself is an Template:Wikipedia region code determined by the device's locale setting.
      • Template:Nbt An individual warning message
        • Template:Nbt: Optional. Defines how long should the game wait until showing this message in minutes. This can not be zero.
        • Template:Nbt: The time interval this message should be shown in minutes. This can not be zero.
        • Template:Nbt: The translation identifier of the title of the message. A slot is provided for the translation string, containing how many times this warning has been shown.
        • Template:Nbt: The translation identifier of the message. A slot is provided for the translation string, how many times this warning has been shown.

The game includes a compliancy warning for South Korea (KOR) about excessive playing, shown every hour and telling the exact number of hours the game is open for. An additional warning is shown if the game is open for a day or more.

Default resource pack

The default resource pack is special, as it does not exist in the same form as other resource packs. It combines assets from two sources: the Template:File directory in Minecraft:client.jar and the asset object store.

The default resource pack also provides the other built-in resource packs, as regular resource pack ZIP files.

Asset object store

The asset object store is a system used to efficiently download, store and retrieve assets across multiple versions. It resides in Template:File inside the launcher Template:File directory.

The path to the directory of the store is provided to the game with the --assetsDir command line parameter. The ID of the asset index, describing asset metadata for a specific version, is provided with the --assetIndex command line parameter.

Asset files for all versions are stored inside Template:File, in subdirectories named with two hexadecimal digits (0-f), for example Template:File. The names correspond to the first two digits of the SHA1 hashes of the asset files stored inside. The asset files inside are named with their full SHA1 hash, which is 40 hexadecimal digits (without a filename extension), for example Template:File.

For the game to find assets, the asset index corresponding to the version is required. Indexes are stored in Template:File. An index is a Minecraft:JSON file named Template:File, where id is the index ID. The file structure is as follows:

The mapping of versions to asset index IDs is as follows:

Version Asset index ID
26.1 30
1.21.11 29
1.21.10 27
1.21.9 27
1.21.8 26
1.21.7 26
1.21.6 26
1.21.5 24
1.21.4 19
1.21.2 18
1.21 17
1.20.5 16
1.20.3 12
1.20.2 8
1.20 5
1.19.3 2
1.13 1.13
1.12 1.12

Bedrock Edition

Template:Warning

Behavior

File:BE Global Resources settings.png
The global resources tab in the settings.
File:Ore UI - Create New World Screen Menu "Resource Packs" Tab Settings (Bedrock).png
The resource packs tab in the Create New World screen.

Similarly to Minecraft:behavior packs, resource packs can be created and imported Template:In. Users can download external resource packs with the Template:Cd file extension, if the game platform allows file importation. When these files are opened, they are automatically imported into the Template:Code directory in Template:Code without any need for file system access. Resource packs can also be put manually in the Template:Code directory. Each resource pack must either be a subdirectory or a Template:Code file.

Resource packs can be applied locally on the Global Resources option from the Minecraft:settings menu from the main menu screen. Resource packs can be moved between "Active" and "My Packs".

One or more resource packs can be bundled with a world from the Minecraft:Create New World and Minecraft:Edit World screens. These resource packs will be imported into the world files, and are kept when exporting the world. Players joining a Minecraft:multiplayer world with resource packs get an option to download the resource pack or not. When "Shared packs" (or Template:Code in Minecraft:server.properties) is enabled, all global resources will be ignored and players are forced to download and enable all resource packs stored in the world files. Developmental resource packs cannot be applied to worlds on Minecraft:Realms, but worlds uploaded to Realms or Minecraft:Bedrock Dedicated Server keep the resource packs applied to the world.

In Bedrock Dedicated Server, resource packs also can be stored outside of worlds. Packs need to be enabled in the Template:Cd file in a world file.

Resource packs load their assets based on the order of the packs on the list. The bottom-most pack loads first, then each pack placed above it replaces assets of the same name with its assets. Global resources are always applied above world resource packs.

Resource packs cannot be edited unless put into the Template:Code directory, and will update themselves when joining a world or changing active resource packs.

Settings

Resource packs can contain custom settings that affect features in the pack.<ref>Template:Cite</ref> Settings need to be specified in Template:Cd, with the options to create an on/off toggle, or a slider with specific values. The settings menu for custom and Marketplace resource packs can be opened with a button next to the pack button in the edit world screen to change settings for the whole world, or in the pack description in the global resources settings to change settings locally. Custom labels for each setting can be applied, which support text formatting.

Custom settings currently can't affect any features in the resource pack, but Mojang Studios plans to create a Minecraft:Molang query function for this purpose.

The settings menu can also be used to change the memory tier, which affects the sub-packs being used.<ref>Template:Cite</ref> The memory tier can be set to any specified value from the device's memory tier and lower. Sub-packs are resource packs within the root of the behavior pack, with the same directory structure. They can be added to the pack in Template:Cd.

Marketplace resource packs

Minecraft:Add-ons and worlds from the Minecraft:Marketplace often contain or consist entirely of a resource pack. These packs are stored internally and can't be accessed from Template:Code. Players can only access Marketplace resource packs or play on worlds with resource packs applied when they own the pack, by purchasing it in the Marketplace or by owning the Minecraft:Marketplace Pass. Which packs a player owns is stored in the online player profile, so resource packs can only be accessed when signed in. Marketplace packs can be applied the same way as custom resource packs including Realms, but not to worlds in external servers.

When a player joins a multiplayer world or Realm with Marketplace packs, the player is offered to download these packs to apply them, even when the player does not own the pack.

Marketplace resource packs update automatically depending on the "Auto Update Unlocked Packs" settings, or can be updated manually from the purchase screen.

Built-in resource pack

There is currently one resource pack that is included as part of the game.

Pack name Pack description Description
File:Default pack.png Minecraft Texture Pack The default Minecraft graphics, now updated with stylish new textures! Selected by default, can't be unselected. Contains essential files.

Directory structure

Resource packs in Bedrock Edition use the following directory structure:<ref>Template:Cite</ref>

Template:Fnlist

Contents

Template:Expand section

Biomes

JSON files in the Template:File directory define client-side environmental settings that change per Minecraft:biome.<ref>Template:Cite</ref><ref>Template:Cite</ref> They are named like biome ID.client_biome.json.

Template:Fnlist

Default values

In the biomes_client.json file in the root of the resource pack, fallback values for all biome settings can be provided under the objects biomes default. These settings will be used for all biomes that don't provide them in their own client biome JSON files, and it will override all vanilla settings.

Internal resource packs

Most entities, biomes, loot tables, and various things from the base game are defined by the vanilla resource pack, which is built inside the game itself and can be found at Template:Cd. Mojang Studios releases the Bedrock Add-On Sample Files with every new Minecraft:update of Bedrock Edition, which provide the latest vanilla behavior and resource packs from the game.

Multiple internal resource packs exist for different situations. Some Minecraft:experiments may have their own resource pack, in addition to Minecraft:Minecraft Education features and Minecraft:Minecraft Preview. Each resource pack contains the same structure and assets as custom resource packs, defined for the whole game. Some packs also have an icon or description, which is not visible in-game.

Bedrock Edition supports backwards-compatibility for add-ons and old worlds. This is done for the Template:Cd and Template:Cd resource packs since 1.14 and 1.20.50 respectively, with the regular resource pack supporting the latest version before. Each update with changes to features defined in resource packs has its own resource packs, with all the features that changed. Some Marketplace add-ons can lock a world in an older version by disabling internal resource packs from higher versions.

File name Pack icon, name, and description Description
beta File:Beta pack icon.jpg Resources for beta versions of the game. Contains a unique Minecraft:logo, Minecraft:splashes, Minecraft:panorama, and Minecraft:loading tips.
cdn width=32x32 SoulSteel

SoulSteel pack

Contains some resources for the button and animations on the title screen promoting the Minecraft:SoulSteel featured server. Unlike other packs, this is stored in Template:Cd, similar to Minecraft:com.mojang.
chemistry File:Chemistry Pack icon.png Resources for the "Minecraft Education features" cheat setting. Includes several features from the Minecraft:Chemistry Update in Minecraft:Minecraft Education. Multiple versions of this pack are available to support backwards-compatibility.
editor File:Editor pack icon.png Resources for Minecraft:Bedrock Editor, applied when the Editor is enabled upon launch. Contains five unique Minecraft:entities exclusive to the Editor, some textures for the GUI, and the compass on the HUD. This pack does not contain all features from the Editor GUI because that uses Minecraft:Ore UI and is hard-coded outside of resource packs.
experimental_deferred_technical_preview Experimental RenderDragon Features for Creators resource pack Contains features from the "Render Dragon for Creators" experiment, available in Minecraft:Preview only. It contains all default configurations for local lighting in Minecraft:Vibrant Visuals, such as light colors.
experimental_y_2026_drop_1 Drop 1 of 2026
Experimental resource pack for Drop 1 of 2026 content
Adds resources for Minecraft:Tiny Takeover, including new textures, models, and sounds of Minecraft:baby mobs and more.
experimental_y_2026_drop_2 Drop 2 of 2026

Experimental resource pack for Drop 2 of 2026 content

Adds features for Chaos Cubed, including the sulfur caves, sulfur cube, Minecraft:cinnabar, and Minecraft:sulfur.
furnace_recipe_book furnace recipe book Adds resources for the experimental smelting Minecraft:recipe book, including the UI, texts, and textures.
oreui File:Default pack.png Minecraft UI Resource Pack

The default Minecraft UI resources.

Translations for Minecraft:Ore UI menu screens.
persona File:Persona Test Pack.png Persona Built-in Pack Contains all individual cosmetics and some UI elements for the Minecraft:default skins in the Minecraft:Character Creator.
platform_gdk_pc Contains few texts for the GDK build of Minecraft Preview.
previewapp Resources for Minecraft Preview. Contains a unique Minecraft:logo, Minecraft:splashes, Minecraft:panorama, and Minecraft:loading tips.
vanilla File:Default pack.png All resources for the default Minecraft game. Multiple versions of this pack are available to support backwards-compatibility.
vanilla_base Contains few basic resources for the game, such as the Minecraft:crosshair texture and the initial loading screen.
vanilla_music Contains all game Minecraft:music files and Nether Minecraft:ambience.
vanilla_trial Contains UI elements for the trial version of the game.

History

Template:Cleanup Template:For

Java Edition

Template:HistoryTable

Bedrock Edition

Template:HistoryTable

Trivia

pack.png

File:Alpha v1.2.2 pack.png
The world that the Template:Mono screenshot was taken in, loaded in Alpha v1.2.2.

The Template:File was an image file used for the default resource pack icon before Minecraft:Java Edition 1.14, and a grayscaled version of it is still used as a fallback for the world icon on the Minecraft:Select World screen as well as the Minecraft:server icon on the server list. The file shows a screenshot taken in what is likely a development version of Minecraft:Java Edition Alpha v1.2.2, in a world generated with the seed Template:Cd.<ref>Template:Ytl</ref> It was taken approximately at X=49.16, Z=0.72, with Minecraft:view angle facing RX=-119.23, RY=-8.297. This image has been referenced officially multiple times in the "Minecraft:One Trillion Minecraft Views on YouTube and Counting" video and Unpacked Minecraft:painting in the game.

  • The seed can be used in versions Alpha 1.2.0 through Beta 1.7.3, with minor population differences between versions.
  • It's possible to generate an identical world and take an identical screenshot, a guide on how to do that can be found here: https://pastebin.com/CmsEKDev.<ref>https://www.reddit.com/r/MinecraftAtHome/comments/iocx6f/packpng_seed_was_found_explanation_tutorial_and</ref>

Gallery

Resource pack icons

pack.png

Historical screenshots

See also

External links

References

Template:Reflist

Navigation

Template:Navbox resource packs Template:Navbox Java Edition technical Template:Navbox Minecraft

Minecraft:cs:Balíček modifikací Minecraft:de:Ressourcenpaket Minecraft:es:Paquete de recursos Minecraft:fr:Pack de ressources Minecraft:it:Pacchetto di risorse Minecraft:ja:リソースパック (Java Edition) Minecraft:ko:리소스 팩 Minecraft:nl:Bronpakket Minecraft:pl:Paczki zasobów Minecraft:pt:Pacote de recursos Minecraft:ru:Пакет ресурсов Minecraft:th:รีซอร์ซแพ็ก Minecraft:uk:Пакет ресурсів Minecraft:zh:资源包