Resource pack

(Redirected from Resource Packs)
Jump to navigation Jump to search
This article is about the system to customize assets. For other uses, see Texture pack (disambiguation).
There are related tutorial pages for this topic!
 
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, models, music, sounds, languages, texts such as the end poem, splashes, credits, and fonts without any code modification. They are often used together with data packs to add new content to the game.

Java Edition[edit | edit source]

Behavior[edit | edit source]

The default resource pack settings.

Each resource pack is either a directory or a ZIP archive (with .zip extension). Resource packs can be added by placing them in the File directory.png: Sprite image for directory in Minecraft resourcepacks directory within File directory.png: Sprite image for directory in Minecraft .minecraft, 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 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[edit | edit source]

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

Pack name Pack description Description
Default The default look and feel of Minecraft (built-in) Selected by default, can't be unselected, always at the lowest priority.
Programmer Art The classic look of Minecraft (built-in) The old (pre-1.14) textures. They are not updated when the game receives new textures.
High Contrast Enhances the UI contrast of Minecraft (built-in) Increases the contrast of menu GUIs.

Preloaded resource packs[edit | edit source]

A ZIP archive resource pack can be bundled with a world by placing it in the world directory under the name resources.zip. When playing the world, that resource pack appears as the default right above the default resource pack.

A resource pack can be set on a server by setting resource-pack to an HTTP(S) URL pointing to a ZIP archive resource pack in server.properties. Players then can 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 resource-pack-required=true. Rejecting the resource pack disconnects the player from the server.

There is no way to force the use of a resource pack in a realm.[needs testing]

Directory structure[edit | edit source]

Resource packs in Java Edition have the following directory structure:

  • File directory.png: Sprite image for directory in Minecraft name or File archive.png: Sprite image for archive in Minecraft name.zip
    • File file.png: Sprite image for file in Minecraft pack.mcmeta
    • File file.png: Sprite image for file in Minecraft pack.png
    • File directory.png: Sprite image for directory in Minecraft assets
      • File directory.png: Sprite image for directory in Minecraft namespace
        • File directory.png: Sprite image for directory in Minecraft atlases
          • File file.png: Sprite image for file in Minecraft atlas.json
        • File directory.png: Sprite image for directory in Minecraft blockstates
          • File file.png: Sprite image for file in Minecraft blockstate.json
        • File directory.png: Sprite image for directory in Minecraft equipment
          • File file.png: Sprite image for file in Minecraft equipment.json
        • File directory.png: Sprite image for directory in Minecraft font
          • File directory.png: Sprite image for directory in Minecraft include
          • File file.png: Sprite image for file in Minecraft font.json
        • File directory.png: Sprite image for directory in Minecraft items
          • File file.png: Sprite image for file in Minecraft item.json
        • File directory.png: Sprite image for directory in Minecraft lang
          • File file.png: Sprite image for file in Minecraft lang.json
        • File directory.png: Sprite image for directory in Minecraft models
          • File file.png: Sprite image for file in Minecraft model.json
        • File directory.png: Sprite image for directory in Minecraft particles
          • File file.png: Sprite image for file in Minecraft particle.json
        • File directory.png: Sprite image for directory in Minecraft post_effect
          • File file.png: Sprite image for file in Minecraft post_effect.json
        • File directory.png: Sprite image for directory in Minecraft shaders
          • File directory.png: Sprite image for directory in Minecraft core
          • File directory.png: Sprite image for directory in Minecraft include
          • File directory.png: Sprite image for directory in Minecraft post
        • File directory.png: Sprite image for directory in Minecraft sounds
          • File directory.png: Sprite image for directory in Minecraft category
            • File file.png: Sprite image for file in Minecraft sound.ogg
        • File directory.png: Sprite image for directory in Minecraft texts
          • File file.png: Sprite image for file in Minecraft text.txt
        • File directory.png: Sprite image for directory in Minecraft textures
          • File directory.png: Sprite image for directory in Minecraft block
            • File file.png: Sprite image for file in Minecraft texture.png
            • File file.png: Sprite image for file in Minecraft texture.png.mcmeta
          • File directory.png: Sprite image for directory in Minecraft colormap
            • File file.png: Sprite image for file in Minecraft foliage.png
            • File file.png: Sprite image for file in Minecraft grass.png
          • File directory.png: Sprite image for directory in Minecraft effect
            • File file.png: Sprite image for file in Minecraft dither.png
          • File directory.png: Sprite image for directory in Minecraft entity
            • File file.png: Sprite image for file in Minecraft texture.png
            • File directory.png: Sprite image for directory in Minecraft entity_type
              • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft environment
            • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft font
            • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft gui
            • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft item
            • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft map
            • File file.png: Sprite image for file in Minecraft texture.png
            • File directory.png: Sprite image for directory in Minecraft decorations
              • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft misc
            • File file.png: Sprite image for file in Minecraft texture.png
            • File file.png: Sprite image for file in Minecraft texture.png.mcmeta
          • File directory.png: Sprite image for directory in Minecraft mob_effect
            • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft painting
            • File file.png: Sprite image for file in Minecraft texture.png
          • File directory.png: Sprite image for directory in Minecraft particle
            • File file.png: Sprite image for file in Minecraft texture.png
            • File file.png: Sprite image for file in Minecraft texture.png.mcmeta
          • File directory.png: Sprite image for directory in Minecraft trims
            • File directory.png: Sprite image for directory in Minecraft color_palettes
              • File file.png: Sprite image for file in Minecraft color_palette.png
            • File directory.png: Sprite image for directory in Minecraft entity
              • File directory.png: Sprite image for directory in Minecraft humanoid
                • File file.png: Sprite image for file in Minecraft trims.png
              • File directory.png: Sprite image for directory in Minecraft humanoid_leggings
                • File file.png: Sprite image for file in Minecraft trims.png
            • File directory.png: Sprite image for directory in Minecraft items
              • File file.png: Sprite image for file in Minecraft trims.png
        • File file.png: Sprite image for file in Minecraft gpu_warnlist.json
        • File file.png: Sprite image for file in Minecraft regional_compliancies.json
        • File file.png: Sprite image for file in Minecraft sounds.json
      • File file.png: Sprite image for file in Minecraft .mcassetsroot

More than one directory for different namespaces may exist under the File directory.png: Sprite image for directory in Minecraft assets directory.

Contents[edit | edit source]

A resource pack is identified by Minecraft based on the presence of File file.png: Sprite image for file in Minecraft pack.mcmeta in the root directory.

The root directory also contains an optional PNG image called File file.png: Sprite image for file in Minecraft pack.png, which appears as the thumbnail for the pack on the resource pack selection menu.

Language[edit | edit source]

Language files are JSON files, which contain text data translated to different languages. They are located in File directory.png: Sprite image for directory in Minecraft assets/namespace/lang and named File file.png: Sprite image for file in Minecraft language code.json. Languages other than default can be defined in File file.png: Sprite image for file in Minecraft pack.mcmeta.

  • [NBT Compound / JSON Object] The root object.
    • [String] ID: Displayed translation for the text ID.

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, block.minecraft.stone is the ID of the text used for the name of the stone block, and it's translation in the en_us language is Stone.

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, you can also use placeholder to be replaced by other text or numbers later, for example using the with of a translatable text component.

Placeholders are defined using %s as a short form, or %<number>$s to specify the index explicitly. Placeholder indices start at 1. When not specifying the index explicitly, Minecraft 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 %s placeholder with an indexed one.

To have a literal % character which should render as such in the text shown by Minecraft and is not part of a translation placeholder, you need to escape it by using %%, otherwise Minecraft may fail to parse other placeholders within that string.

Models[edit | edit source]

Main article: Model

Model files are JSON files with the extension .json, which determine the shape and textures of blocks and items.

Blocks use a block state file from File directory.png: Sprite image for directory in Minecraft assets/minecraft/blockstates to determine which model is loaded for each variant from File directory.png: Sprite image for directory in Minecraft assets/minecraft/models/block. Similarly, item models are determined from a file in File directory.png: Sprite image for directory in Minecraft assets/minecraft/items, and models are stored in File directory.png: Sprite image for directory in Minecraft assets/minecraft/models/item. An item model can load from a block's model, contain data for its own custom model, or use the default "flat" or "entity" model.

Models and block states used in packs below the top one are still loaded unless overridden in the top pack, which may cause some textures and models used by the top pack to no longer be loaded.

Sounds[edit | edit source]

Sound files are Ogg Vorbis audio files (with the extension .ogg), which provide audio such as music and sound effects for the game.

sounds.json is a JSON file, which defines how sound files are used in game. This file is merged with other selected resource packs instead of being overriden.

Textures[edit | edit source]

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 none-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 missing texture appears in its place. As of 1.19.1, six such cases exist in the vanilla resource pack, all particle-related.

Atlases[edit | edit source]

Main article: Atlas

Atlas files are configuration files, located in File directory.png: Sprite image for directory in Minecraft atlases, that control which textures are included in the atlases.

Texture animation[edit | edit source]

All textures that get stitched to an 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 File directory.png: Sprite image for directory in Minecraft assets/<namespace>/textures/gui/sprites/ directory)
  • Mob effect icon textures
  • Map decoration textures
  • Particle textures
  • Armor trim textures. This doesn't work with the paletted_permutations atlas source type so textures must be added to the atlas using either the directory or single source types to be animated

An animated texture is created by placing each additional frame below the last. The properties of the animation are then controlled by placing a file in JSON format named like the texture file, but with .mcmeta suffix. For example, the animation properties file for stone.png would be stone.png.mcmeta.

  • [NBT Compound / JSON Object] The root tag
    • [NBT Compound / JSON Object] animation: Contains data for the animation
      • [Boolean] interpolate: If true, Minecraft generates additional frames between frames with a frame time greater than 1 between them. Defaults to false.
      • [Int] width: The width of the sprite, in pixels. This is unused in vanilla's files but can be used by resource packs to have frames that are not perfect squares. Defaults to the image's width if "height" is defined, and the smaller of the image's dimensions if it's not.
      • [Int] height: The height of the sprite, in pixels. This is also unused in vanilla, but can be used by resource packs to have frames that are not perfect squares. Defaults to the image's height if "width" is defined, and the smaller of the image's dimensions if it's not.
      • [Int] frametime: Sets the default time for each frame in increments of one game tick. Defaults to 1.
      • [NBT List / JSON Array] frames: Contains a list of frames. Defaults to displaying all the frames from top to bottom.
        • [Int] A number corresponding to position of a frame from the top, with the top frame being 0.
        • [NBT Compound / JSON Object] A frame specifies a frame with additional data.
          • [Int] index: A number corresponding to position of a frame from the top, with the top frame being 0.
          • [Int] time: 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 the texture is not animated. If no .mcmeta file exists for a texture with unequal dimensions, the texture appears as a purple and black checkerboard.

By defining "width", the frames can be placed side-by-side, and by defining both "width" and "height", they can be arranged as a table. In this case, they will be ordered row by row, top to bottom, left to right.

Villagers[edit | edit source]

Textures from assets/minecraft/textures/entity/villager and assets/minecraft/textures/entity/zombie_villager support a .mcmeta 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 .mcmeta. For example, the file profession/farmer.png can have a properties file called profession/farmer.png.mcmeta

  • [NBT Compound / JSON Object] The root tag
    • [NBT Compound / JSON Object] villager: Contains data for the texture
      • [String] hat: Can be full, partial, or default (no .mcmeta file). Determines whether the villager's 'profession' hat layer should allow the 'type' hat layer to render or not. ​[more information needed]

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

GUI[edit | edit source]

Textures from assets/minecraft/textures/gui/sprites support a .mcmeta file in JSON format containing scaling behavior of the texture. For example, the file button.png can have a properties file called button.png.mcmeta

  • [NBT Compound / JSON Object] The root tag
    • [NBT Compound / JSON Object] gui: Contains data for the texture
      • [NBT Compound / JSON Object] scaling: Scaling behavior of the texture.
        • [String] type: Can be stretch (default), tile, or nine_slice. Determines the type of scaling method of the texture.
          • When tile, the sprite is repeated across the desired space, starting from the top-left.
          • When nine_slice, the sprite is sliced into 4 corners, 4 edges, and 1 center slice, which is tiled across the desired space.[1]
        • [Int] width: Number of pixels for this sprite to cover on-screen across its width. Required if [String] type is set to tile or nine_slice.
        • [Int] height: Number of pixels for this sprite to cover on-screen across its height. Required if [String] type is set to tile or nine_slice.
        • [Boolean] stretch_inner: If true, the inner parts of the texture is stretched instead of tiled. Defaults to false. Required if [String] type is set to nine_slice.
        • [Int] border: The size in pixels that the border slices should cover on-screen. Required if [String] type is set to nine_slice.
        • [NBT Compound / JSON Object] border: The size in pixels that the border slices should cover on-screen, respectively. Required if [String] type is set to nine_slice.
          • [Int] left: Number of pixels of the left border.
          • [Int] top: Number of pixels of the top border.
          • [Int] right: Number of pixels of the right border.
          • [Int] bottom: Number of pixels of the bottom border.

Colormaps[edit | edit source]

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

Properties[edit | edit source]

Textures from assets/minecraft/textures/misc[verify] support a .mcmeta 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 .mcmeta. For example, the file pumpkinblur.png can have a properties file called pumpkinblur.png.mcmeta

  • [NBT Compound / JSON Object] The root tag
    • [NBT Compound / JSON Object] texture: Contains data for the texture
      • [Boolean] blur: Causes the texture to blur when viewed from close up. Defaults to false
      • [Boolean] clamp: Causes the texture to stretch instead of tiling in cases where it otherwise would, such as on the shadow. Defaults to false
      • [Int Array] mipmaps: Custom mipmap values for the texture

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

Texts[edit | edit source]

Two text files in UTF-8 format and one JSON file exist in File directory.png: Sprite image for directory in Minecraft assets/minecraft/texts. They are used to display specific untranslated text.

The file File file.png: Sprite image for file in Minecraft end.txt contains the text of the end poem, using formatting codes to apply the colors to the two speakers, and with the text PLAYERNAME being replaced with the player's name. After that file is shown, credits based on contents of File file.png: Sprite image for file in Minecraft credits.json are shown.

credits.json formated following way:​[more information needed]

  • [NBT List / JSON Array] The root list
    • [String] section Title of this section
    • [NBT List / JSON Array] disciplines List of disciplines in this section
      • [String] discipline Name of this discipline
      • [NBT List / JSON Array] titles List of titles(roles) credit given to
        • [String] title Name of title
        • [NBT List / JSON Array] names List of people's names in this title

The file File file.png: Sprite image for file in Minecraft splashes.txt contains texts separated by LF line breaks used as splashes.

Fonts[edit | edit source]

Main article: Font

A font file is a JSON file located at File directory.png: Sprite image for directory in Minecraft assets/namespace/font within a resource pack and contains a list of providers that each define how different characters appear. The default font is defined by the font minecraft:default while the default font used by enchantment tables is defined by the font minecraft:alt.

The resource locations referenced in font providers should also include the file extensions, as there is no sole file extension used throughout.

  • [NBT Compound / JSON Object] The root tag.
    • [NBT List / JSON Array] providers: A list of providers that make up this font.
      • [NBT Compound / JSON Object] A font provider. The contents depend on the value of that provider's "type" tag.
        • [String] type: The type of the font provider. Can be one of the following:
          • bitmap: A bitmap font.
            • [String] file: The resource location of the used file, starting from assets/minecraft/textures by default. Prefacing the location with <namespace>: changes the location to assets/<namespace>/textures.
            • [Int] height: Optional. The height of the character, measured in pixels. Can be negative. This tag is separate from the area used in the source texture and just re-scales the displayed result. Default is 8.
            • [Int] ascent: The ascent of the character, measured in pixels. This value adds a vertical shift to the displayed result.
            • [NBT List / JSON Array] chars: A list of strings containing the characters replaced by this provider, as well as their order within the texture. All elements must describe the same number of characters. The texture is split into one equally sized row for each element of this list. Each row is split into one equally sized character for each character within one list element. Unicode character \u0000 will always display as a missing character.
          • legacy_unicode (removed): A legacy unicode font. This format is deprecated, prioritized only when the "Force Unicode Font" option is turned on.
            • [String] sizes: The resource location of a binary file describing the horizontal start and end positions for each character from 0 to 15. The file extension of the target file should be .bin. The resource location path is relative to the namespace root.
            • [String] template: The resource location inside assets/<namespace>/textures that leads to the texture files that should be used for this provider. The game replaces %s from the value of this tag with the first two characters of the hex code of the replaced characters, so a single provider of this type can point into multiple texture files.
          • ttf: A TrueType font or OpenType font. Despite its name, it supports both TTF and OTF.
            • [String] file: The resource location of the TrueType/OpenType font file within assets/<namespace>/font.
            • [NBT List / JSON Array] shift: The distance by which the characters of this provider are shifted.
              • [Float] Left shift, negative values are allowed.
              • [Float] Downward shift, negative values are allowed.
            • [Float] size: Font size to render at.
            • [Float] oversample: Resolution to render at, increasing anti-aliasing factor.
            • [String] skip: String of characters or array of characters to exclude.
          • space: Show chosen characters as spaces.
            • [NBT Compound / JSON Object] advances
              • [Float] character: The amount of pixels the character is moved to the right. Can be negative. Decimal numbers can be used for precise movement on higher GUI scales.
          • unihex: Replacement for legacy_unicode. Uses the GNU Unifont .hex format.
            • [String] hex_file: Path to a ZIP archive containing one or more *.hex files at the root (files in ZIP archive with different extensions are ignored). Does not walk recursively inside archive.
            • [NBT List / JSON Array] size_overrides: List of compounds that contain character ranges that should have widths different than auto-detected.
              • [NBT Compound / JSON Object] A size override.
                • [String] from: 1-character wide string of the character to start override range at. Inclusive.
                • [String] to: 1-character wide string of the character to end override range at. Inclusive.
                • [Int] left: Position of left-most column of glyphs in override range.
                • [Int] right: Position of right-most column of glyphs in override range.
          • reference: Links to another font file to be copied and included in this font. Guarantees the referenced provider is loaded only once. Inclusion is performed after all fonts are loaded.

All font providers also have an optional [NBT Compound / JSON Object] filter object.

  • [NBT Compound / JSON Object] filter: An object defining when this provider is active. When the button's state and filter's state are equal, that provider is included.
    • [Boolean] uniform: Linked to "Force Uniform" button.
    • [Boolean] jp: Linked to "Japanese Glyph Variants" button.

Texture sheets[edit | edit source]

Minecraft generally does not store multiple different textures on sheets and instead stores them on separate files. The only current exceptions are experience orbs and moon phases.[2]

Shaders[edit | edit source]

Main article: Shaders

Shaders are a way for resource packs to change how the game is rendered. They are written in OpenGL Shading Language (GLSL).

Regional compliancies warnings[edit | edit source]

Regional compliancies warnings can be customized in File file.png: Sprite image for file in Minecraft assets/namespace/regional_compliancies.json.

  • [NBT Compound / JSON Object] The root tag
    • [NBT List / JSON Array] Region: Contains a list of warnings. Note that the key itself is an ISO 3166-1 alpha-3 region code determined by the device's locale setting.
      • [Int] delay: Optional. Defines how long should the game wait until showing this message in minutes. This can not be zero.
      • [Int] period: The time interval this message should be shown in minutes. This can not be zero.
      • [String] title: 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.
      • [String] message: The translation identifier of the message. A slot is provided for the translation string, how many times this warning has been shown.

Bedrock Edition[edit | edit source]

This section needs expansion.
 
You can help by expanding it.

Behavior[edit | edit source]

Similarly to skins, resource packs can be bought or made in Bedrock Edition. Users can download resource packs on the system itself with the .mcpack file names, if the game platform allows file importation. When these files are opened, they are automatically imported into the game without any need for file system access. Resource packs can also be put manually in the resource_packs or development_resource_packs folder in the com.mojang folder. Each resource pack must either be a sub-folder or a .zip file.

Resource packs can be applied on the Global Resources option from the settings menu from the main menu screen. Resource packs can be moved between "Active" and "My Packs". "Active" also contains the default assets at the bottom, and cannot be removed.

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.

Resource packs cannot be edited unless put into the development_resource_packs folder, and will update themselves when joining a world or changing your active resource packs.

Default packs[edit | edit source]

One or more resource packs can be bundled with a world in the world settings. When playing the world, that resource pack appears as the default right above the default resource pack. A resource pack can be set on a server by bundling the resource pack in the world, and then re-uploading the world folder to the server. Users then have an option whether to use the resource pack or not if the texturepack-required option is disabled in the server settings and if the world has the "Require players to accept resource packs to join" option disabled. Resource packs can also be forced on a server by using the texturepack-required=true property on the server settings.

Folder Structure[edit | edit source]

Resource packs in Bedrock Edition use the following folder structure:

  • (resource pack name)
    • biomes_client.json
    • blocks.json
    • manifest.json
    • pack_icon.png
    • sounds.json
    • animation_controllers
      • <entity>.animation_controllers.json
    • animations
      • <entity>.animation.json
    • attachables
      • <attachable>.json
    • entities
      • <entity>.entity.json
    • fogs
      • <biome>_fog_settings.json
    • models
      • mobs.json
      • <model>.geo.json[a]
    • particles
      • <particle>.json
    • render_controllers
      • <entity>.render_controllers.json
    • sounds
      • music_definitions.json
      • sound_definitions.json
      • <sound>.fsb[a]
      • <sound>.ogg[a]
      • <sound>.wav[a]
      • <sound>.mp3[a][b]
    • texts
      • languages.json
      • language_names.json
      • <languagecode>_<COUNTRYCODE>.lang
      • <languagecode>_<COUNTRYCODE>[c]
        • font[d]
          • ascii_sga.png[e]
          • default8.png[f]
          • font_metadata.json[g]
          • glyph_<code>.png
    • texture_sets[h]
    • textures
      • flipbook_textures.json
      • item_texture.json
      • terrain_texture.json
      • <texture>.png[a]
      • <texture>.tga[a]
    • ui
  1. Jump up to: a b c d e f g h File may be inside a folder.
  2. .mp3 files aren't fully supported.
  3. For languages using a different font.
  4. Folder may be at the root of the resoursepack instead of in the texts folder
  5. Deprecated?(needs confirmation)
  6. Deprecated?(needs confirmation)
  7. Existence confirmed, purpose unknown
  8. Unused.

History[edit | edit source]

For the history of resource pack format numbers specifically, see Pack format § List of resource pack formats.
[hide]Java Edition
1.6.113w24aAdded resource packs, replacing the functionality of texture packs.
Minecraft Texture Ender is available from Mojang to automatically convert 1.5 compatible texture packs to resource packs. See Java Edition 1.6.1/Resource pack changes for the list of file names changed.
1.6.2reuploadFixed distorted font when HD font is used.[3]
1.7.213w36aAdded the ability to apply multiple resource packs at once.
Servers can now recommend a default resource pack via the server-side resource packs system.[4][5]
13w42aMoved files from assets/minecraft/music to assets/minecraft/sounds/music and files from assets/minecraft/sound to assets/minecraft/sounds.
1.7.413w47aThe description value of pack.mcmeta can now be raw JSON text format.
13w48aRemoved the ability to change the Mojang logo.
1.814w06aAdded the ability to change the block models.
14w07aResource packs can now be bundled with a map.
14w25aThe model format now supports custom item models.
Textures can now be specified for blocks and items.
Added the interpolate tag for animations.
1.8.8preResource packs now display an error if the format number is wrong. At this time, it requires a format number of 1.
1.915w31aChanged format number to 2, due to changes in the model system, such as item tags, multipart, and changes to display tags.
Using resource packs with outdated display tags causes the models to seem abnormally up-scaled and the wielded block cannot be rotated in the hand, along with blocks in the inventory replaced with a 2D texture. This is similar to what happens when a model has no display tags. See here for an example.
1.1116w32aResource packs version number changed to 3, due to the change that all files should have lowercase letters.
1.1317w43aThe default resource pack can now be moved up and down, just like other resource packs.
17w48aChanged format number to 4, due to The Flattening. See Java Edition 1.13/Resource pack changes for the list of file names changed.
pre7Several punctuation characters in ascii.png were shortened by one pixel, either vertically or horizontally. A stray pixel on the Ø character was also removed.
pre8Several more punctuation characters in ascii.png were shortened and the @ was lowered by one pixel.
1.1418w45aAdded "Programmer Art – The classic look of Minecraft" to the resource pack menu, due to the old textures being replaced by new ones in the Texture Update.
19w06aSignificantly improved resource pack loading speed.[6]
Particles textures are now split into individual files.
19w07aPainting textures are now split into individual files.
19w08aStatus effect textures are now split into individual files.
19w09aParticles are now configurable.
1.15Pre-release 1Changed format number to 5, due to texture mechanic changes in earlier snapshots.
1.16.2Release Candidate 1Changed format number to 6, due to changes to wall blocks made in 1.16 according to MC-197275.
1.1720w45aChanged format number to 7.
21w05aImproved performance when using many overrides on an item model.
toasts.png GUI texture has a new icon for the bundle tutorial.
pre1The file credits.txt in assets/minecraft/texts was changed to credits.json, and the format also changed from plain text to structured JSON format.
1.1821w37aAdded illageralt, the rune-like font from Minecraft Dungeons (currently usable only via commands).
21w39aChanged format number to 8, because inventory.png now contains an extra sprite for a thin-layout version of the effect list in the inventory.
1.18.222w06aAdded assets/minecraft/regional_compliancies.json to control the gameplay timer and in-game notice strings as to respect the compliance requirements in South Korea. For South Korea only by default.
1.1922w11aChanged format number to 9, due to new filter section in pack.mcmeta.
1.19.322w42aChanged format number to 11, due to the removal of "fixers" for resource packs with format numbers 3 and 4.
22w45aChanged format number to 12.
1.19.423w07aThe vanilla resource pack en_us language file is now sorted alphanumerically by key.
1.19.4-pre1Added a built-in "High Contrast" resource pack that enhances the contrast of UI elements.
Changed format number to 13, due to the enchantment glint now being separate between entities and items.
1.2023w14aChanged format number to 14 due to updates to the layout of minecraft.png and invite_icon.png.
23w17aChanged format number to 15 due to updates to the font and the credits.
uniform font has been updated to use Unifont 15.0.01.
Pre-release 5uniform font has been updated to use Unifont 15.0.03.
1.20.223w31aChanged format number to 16.
The process of upgrading a pack can now be assisted by using an automated Slicer tool.[7]
23w32aChanged format number to 17.
The text field background is now a nine-sliced sprite at widget/text_field and widget/text_field_highlighted.
The scroll bar in lists and text fields is now a nine-sliced sprite at widget/scroller.
1.20.2 Pre-release 2Changed format number to 18.
1.20.323w42aChanged format number to 19.
Added block model, item model and block state definitions for crafter.
Added GUI container texture and sprites for crafter.
Added white_smoke particle definition.
23w43aChanged format number to 20.
bat.png has been updated for the new bat model.
Added block models, items models, block state definitions and unique sprites for new blocks.
23w45aChanged format number to 21.
uniform font has been updated to use Unifont 15.1.04 (from 15.0.06).
The only supported texture format is now .png.
Added entity models and textures for experimental breeze mob breeze, wind_charge.
Added shader breeze_wind.
Pre-Release 1Changed format number to 22.
Changes to downloaded/world resource pack handling.
UI Download screen has been replaced with a toast.
World resource pack application starts together with chunk loading.
Downloaded packs are now stored in downloads directory (with different file organization than old server-resource-packs).
Downloaded packs now have unique id (GUID/UUID) that can be used to differentiate them.
1.20.524w03aChanged format number to 24.
24w05aChanged format number to 25.
24w06aAdded font variant filters to font providers.
Changed format number to 26.
24w09aChanged format number to 28 due to menu GUI changes.
24w11aChanged format number to 29 due to menu GUI changes.
24w12aChanged format number to 30 due to changes to map_icons.png.
24w13aChanged format number to 31.
1.20.5-pre4Changed format number to 32.
1.21Changed format number to 34.
1.21.224w33aChanged format number to 35.
24w34aChanged format number to 36.
24w36aChanged format number to 37.
24w37aChanged format number to 38.
24w38aChanged format number to 39.
24w40aChanged format number to 40.
1.21.2-pre1Changed format number to 41.
1.21.2-pre3Changed format number to 42.
1.21.424w44aChanged format number to 43.
24w45aChanged format number to 44.
Added support for items model definitions in the assets/minecraft/items folder.
24w46aChanged format number to 45.
All blocks that previously rendered only block entity will now also render normal block model over it .
Pre-Release 1Changed format number to 46.
1.21.525w02aChanged format number to 47.
25w03aChanged format number to 48.
25w04aChanged format number to 49.
25w05aChanged format number to 50.
25w06aChanged format number to 51.
25w07aChanged format number to 52.
25w08aChanged format number to 53.
25w10aChanged format number to 54.
"Global" uniforms may now be defined in any shader, and the game will attempt to fill it.
Pre-Release 1Changed format number to 55.
[hide]Upcoming Java Edition
1.21.625w15aChanged format number to 56.
[hide]Pocket Edition Alpha
v0.15.0releaseAdded the first custom in-game resource packs, Plastic and City.
[hide]Bedrock Edition
1.10.0beta 1.10.0.3Resource packs are now separate from world templates and can be updated independently in existing worlds.

Trivia[edit | edit source]

The world that the pack.png screenshot was taken in, loaded in Alpha v1.2.2.
  • The File file.png: Sprite image for file in Minecraft pack.png file used for the default resource pack before 1.14 is a screenshot taken in Alpha v1.2.2, in a world generated with the seed 3257840388504953787.[8]
    • The screenshot was taken approximately at X=49.16, Z=0.72, facing RX=-119.23, RY=-8.297.
    • 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.[9]
    • It's referenced in the video "One Trillion Minecraft Views on YouTube and Counting".
    • The image is referenced by the Unpacked painting.
    • The seed is displayed as a placeholder when no seed is entered in the Bedrock "Advanced" world creation screen.

Gallery[edit | edit source]

See also[edit | edit source]

External links[edit | edit source]

References[edit | edit source]

Navigation[edit | edit source]