Mcpack Meta
Mcpack Meta
mcmeta
● Language
● Watch
● Edit
This feature is exclusive to Java Edition.
The pack.mcmeta file is used to define metadata of a resource pack or data pack. The
presence of this file identifies a folder or ZIP archive file as a resource pack or data
pack.
Format
Edit
pack is compatible with. See Pack format for a full list of pack
format numbers.
supported_formats: (optional) Describes a range for pack
[Int][Int Array][NBT Compound / JSON Object]
formats that this pack supports. The range has to include the
value of pack_format. Examples: 42, [42, 45], [Int]
filter: (optional) Section for filtering out files from packs applied below
[NBT Compound / JSON Object]
this one. Any file that matches one of the patterns inside block is [NBT List / JSON Array]
External links
Edit
Navigation
Edit
[]
Java Edition technical
[]
General
● Mob AI
● Point of Interest
● Resource location
● Screenshot
● Statistics
● Telemetry
● Tick
● UUID
● JSON
● Particle format
● Text component format
● § Formatting codes
● Key codes
● Random sequence
● Structure file format
○ Schematic file format
World ● Heightmap
● Seed
● Spawn chunk
● Data version
Legacy ● Cla
ssic
level
forma
t
●
Classi
c
serve
r
proto
col
●
Indev
level
forma
t
● Alp
ha
level
forma
t
○
●
Regio
n file
forma
t
●
serve
r_leve
l.dat
●
villag
es.dat
forma
t
●
Gene
rated
struct
ures
forma
t
.minecraft ● client.jar
○ version.json
● client.json
● command_history.txt
● launcher_profiles.json
● options.txt
● version_manifest.json
● hotbar.nbt format
● Server list format
Commands ● Brigadier
● Functions
Legacy ● Legacy
Minecraft
authentication
● Yggdrasil
Server ● server.jar
● server.properties
● Server requirements
● Whitelist
● Operator list
● Query
● RCON
Legacy ● al_version
● Item format
[]
Data pack
Components ● pack.mcmeta
● Pack format
● Advancements
● Functions
● Item modifier
● Loot tables
● Predicate
● Recipe
● Damage type
● Chat type
● Enchantment
● Enchantment provider
● Painting variant
● Goat horn instrument
● Jukebox song
● Trial spawner configuration
● Mob variants
Tag ● Block
● Item
● Function
● Fluid
● Entity type
● Game event
● Biome
● Flat level
generator preset
● World preset
● Structure
● Cat
[
variant until JE
1.21.5 ]
● Point of
interest type
● Painting
variant
● Banner
pattern
● Instrument
● Damage
type
● Enchantment
GameTest ● Test
environment
● Test instance
Noise ● Noi
settings se
router
●
Densi
ty
functi
on
●
Noise
s
●
Surfa
ce
rule
Structure ● Str
s uctur
e set
●
Temp
late
pool
●
Proce
ssor
list
● Str
uctur
e
templ
ates
Tutorials ● Installing
● Creating
● Optimizing
● Command blocks and functions
● Repairing a world corrupted by a
data pack
Content ● Custom
enchantments
● Custom
paintings
● Custom trims
[]
Resource pack
Components ● pack.mcmeta
● Pack format
● Language
● Models
● Blockstates
● Items
● Sounds (sounds.json)
● Shaders
● Textures
● Atlases
● Aa Fonts
● Colormaps
● Texts
● regional_compliancies.json
● Equipment
.
How to Make reasource packs
Resource pack
This article is about the system to customize assets. For other uses, see Texture Pack
(disambiguation).
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.
Contents
● 1
● Java Edition
○ 1.1
○ Behavior
■ 1.1.1
■ Built-in resource packs
■
■ 1.1.2
■ Preloaded resource packs
■
○ 1.2
○ Directory structure
○
○ 1.3
○ Contents
■ 1.3.1
■ Language
■
■ 1.3.2
■ Models
■
■ 1.3.3
■ Sounds
■
■ 1.3.4
■ Textures
■
■ 1.3.5
■ Atlases
■
■ 1.3.6
■ Texture animation
■
■ 1.3.7
■ Villagers
■
■ 1.3.8
■ GUI
■
■ 1.3.9
■ Colormaps
■
■ 1.3.10
■ Properties
■
■ 1.3.11
■ Texts
■
■ 1.3.12
■ Fonts
■
■ 1.3.13
■ Texture sheets
■
■ 1.3.14
■ Shaders
■
■ 1.3.15
■ Regional compliancies warnings
■
● 2
● Bedrock Edition
○ 2.1
○ Behavior
■ 2.1.1
■ Default packs
■
○ 2.2
○ Folder Structure
○
● 3
● History
●
● 4
● Trivia
●
● 5
● Gallery
●
● 6
● See also
●
● 7
● External links
●
● 8
● References
●
● 9
● Navigation
●
Java Edition
Behavior
Each resource pack is either a directory or a ZIP archive (with .zipextension). Resource packs
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.
There are currently three resource packs that are included as part of the game.
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.
name or name.zip
pack.mcmeta
pack.png
assets
namespace
atlases
atlas.json
blockstates
blockstate.json
equipment
equipment.json
font
include
font.json
items
item.json
lang
lang.json
models
model.json
particles
particle.json
post_effect
post_effect.json
shaders
core
include
post
sounds
category
sound.ogg
texts
text.txt
textures
block
texture.png
texture.png.mcmeta
colormap
foliage.png
grass.png
effect
dither.png
entity
texture.png
entity_type
texture.png
environment
texture.png
font
texture.png
gui
texture.png
item
texture.png
map
texture.png
decorations
texture.png
misc
texture.png
texture.png.mcmeta
mob_effect
texture.png
painting
texture.png
particle
texture.png
texture.png.mcmeta
trims
color_palettes
color_palette.png
entity
humanoid
trims.png
humanoid_leggings
trims.png
items
trims.png
gpu_warnlist.json
regional_compliancies.json
sounds.json
.mcassetsroot
More than one directory for different namespaces may exist under the assets directory.
Contents
The root directory also contains an optional PNG image called pack.png, which appears as
the thumbnail for the pack on the resource pack selection menu.
Language
Language files are JSON files, which contain text data translated to different languages. They
are located in assets/namespace/lang and named language code.json.
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.stoneis 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
Main article: Model
Model files are JSON files with the extension .json, which determine the shape and textures of
blocks and items.
models are determined from a file in assets/minecraft/items, and models are stored in
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
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
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
Main article: Atlas
Atlas files are configuration files, located in atlases, that control which textures are
included in the atlases.
Texture animation
All textures that get stitched to an atlas support animation. This includes:
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.
height: The height of the sprite, in pixels. This is also unused in vanilla,
[Int]
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.
frametime: Sets the default time for each frame in increments of one
[Int]
"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
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
[Int] height: Number of pixels for this sprite to cover on-screen across
its height. Required if type is set to tileor nine_slice.
[String]
nine_slice.
[Int] border: The size in pixels that the border slices should cover on-
screen. Required if type is set to nine_slice.
[String]
border: The size in pixels that the border slices should cover
[NBT Compound / JSON Object]
nine_slice.
left: Number of pixels of the left border.
[Int]
Colormaps
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 two
colormaps: foliage.png colors plants such as leaves (except birch and spruce) and vines,
and grass.png colors grass and grass blocks. Colormaps can be disabled on individual blocks
by removing the tintindex tag from the block model.
Properties
blur: Causes the texture to blur when viewed from close up. Defaults to
[Boolean]
false
clamp: Causes the texture to stretch instead of tiling in cases where it
[Boolean]
Texts
Two text files in UTF-8 format and one JSON file exist in assets/minecraft/texts. They
are used to display specific untranslated text.
The file 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 credits.json are shown.
The file splashes.txt contains texts separated by LF line breaks used as splashes.
Fonts
Main article: Font
A font file is a JSON file located at 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.
"type" tag.
type: The type of the font provider. Can be one of the following:
[String]
starting from
assets/minecraft/textures by default.
Prefacing the location with <namespace>:
changes the location to
assets/<namespace>/textures.
height: Optional. The height of the character,
[Int]
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.
file: The resource location of the
[String]
allowed.
size: Font size to render at.
[Float]
oversample: Resolution to render at, increasing
[Float]
anti-aliasing factor.
skip: String of characters or array of characters
[String]
to exclude.
space: Show chosen characters as spaces.
advances [NBT Compound / JSON Object]
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.
uniform: Linked to "Force Uniform" button.
[Boolean]
Texture sheets
Main article: Texture atlas/Predefined
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
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).
provided for the translation string, containing how many times this
warning has been shown.
message: The translation identifier of the message. A slot is provided for
[String]
the translation string, how many times this warning has been shown.
Bedrock Edition
Behavior
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
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
Resource packs in Bedrock Edition use the following folder structure:
History
For the history of resource pack format numbers specifically, see Pack format § List of resource
pack formats.
[]
Java Edition
Minecraft
Texture
Ender is
available
from
Mojang to
automatic
ally
convert
1.5
compatibl
e texture
packs to
resource
packs.
See Java
Edition
1.6.1/Res
ource
pack
changes
for the list
of file
names
changed.
Servers
can now
recommen
d a default
resource
pack via
the server-
side
resource
packs
system.[4][5]
13w42a Moved
files from
assets/m
inecraft
/music to
assets/m
inecraft
/sounds/
music
and files
from
assets/m
inecraft
/sound to
assets/m
inecraft
/sounds.
13w48a Removed
the ability
to change
the
Mojang
logo.
14w07a Resource
packs can
now be
bundled
with a
map.
Textures
can now
be
specified
for blocks
and items.
Added the
interpol
ate tag
for
animation
s.
Using
resource
packs with
outdated
display
tags
causes
the
models to
seem
abnormall
y 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.
17w48a Changed
format
number to
4, due to
The
Flattening.
See Java
Edition
1.13/Reso
urce pack
changesfo
r the list of
file names
changed.
pre7 Several
punctuatio
n
characters
in
ascii.pn
g were
shortened
by one
pixel,
either
vertically
or
horizontall
y. A stray
pixel on
the Ø
character
was also
removed.
pre8 Several
more
punctuatio
n
characters
in
ascii.pn
g were
shortened
and the @
was
lowered
by one
pixel.
19w06a Significant
ly
improved
resource
pack
loading
speed.[6]
Particles
textures
are now
split into
individual
files.
19w07a Painting
textures
are now
split into
individual
files.
19w08a Status
effect
textures
are now
split into
individual
files.
19w09a Particles
are now
configurab
le.
21w05a Improved
performan
ce when
using
many
overrides
on an item
model.
toasts.png
GUI
texture
has a new
icon for
the bundle
tutorial.
21w39a Changed
format
number to
8,
because
inventory.
png now
contains
an extra
sprite for a
thin-layout
version of
the effect
list in the
inventory.
22w45a Changed
format
number to
12.
1.19.4-pre1 Added a
built-in
"High
Contrast"
resource
pack that
enhances
the
contrast of
UI
elements.
Changed
format
number to
13, due to
the
enchantm
ent glint
now being
separate
between
entities
and items.
23w17a Changed
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 5 uniform
font has
been
updated to
use
Unifont
15.0.03.
The
process of
upgrading
a pack
can now
be
assisted
by using
an
automated
Slicer tool.
[7]
23w32a Changed
format
number to
17.
The text
field
backgroun
d is now a
nine-sliced
sprite at
widget/t
ext_fiel
d and
widget/t
ext_fiel
d_highli
ghted.
The scroll
bar in lists
and text
fields is
now a
nine-sliced
sprite at
widget/s
croller.
Added
block
model,
item
model and
block state
definitions
for
crafter.
Added
GUI
container
texture
and
sprites for
crafter.
Added
white_sm
oke
particle
definition.
23w43a Changed
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.
23w45a Changed
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
experimen
tal breeze
mob
breeze,
wind_cha
rge.
Added
shader
breeze_w
ind.
Pre-Release 1 Changed
format
number to
22.
Changes
to
download
ed/world
resource
pack
handling.
UI
Download
screen
has been
replaced
with a
toast.
World
resource
pack
application
starts
together
with chunk
loading.
Download
ed packs
are now
stored in
downloads
directory
(with
different
file
organizati
on than
old server-
resource-
packs).
Download
ed packs
now have
unique id
(GUID/UU
ID) that
can be
used to
differentiat
e them.
24w05a Changed
format
number to
25.
24w06a Added
font
variant
filters to
font
providers.
Changed
format
number to
26.
24w09a Changed
format
number to
28 due to
menu GUI
changes.
24w11a Changed
format
number to
29 due to
menu GUI
changes.
24w12a Changed
format
number to
30 due to
changes
to
map_icon
s.png.
24w13a Changed
format
number to
31.
1.20.5-pre4 Changed
format
number to
32.
1.21 Changed
format
number to
34.
24w34a Changed
format
number to
36.
24w36a Changed
format
number to
37.
24w37a Changed
format
number to
38.
24w38a Changed
format
number to
39.
24w40a Changed
format
number to
40.
1.21.2-pre1 Changed
format
number to
41.
1.21.2-pre3 Changed
format
number to
42.
24w45a Changed
format
number to
44.
Added
support for
items
model
definitions
in the
assets/m
inecraft
/items
folder.
24w46a Changed
format
number to
45.
All blocks
that
previously
rendered
only block
entity will
now also
render
normal
block
model
over it .
Pre-Release 1 Changed
format
number to
46.
[]
25w03a Changed
format
number to
48.
25w04a Changed
format
number to
49.
25w05a Changed
format
number to
50.
25w06a Changed
format
number to
51.
25w07a Changed
format
number to
52.
25w08a Changed
format
number to
53.
25w10a Changed
format
number to
54.
"Global"
uniforms
may now
be defined
in any
shader,
and the
game will
attempt to
fill it.
Pre-Release 1 Changed
format
number to
55.
[]
[]
Bedrock Edition
Trivia
The world that the pack.png screenshot was taken in, loaded in Alpha v1.2.2.
● The 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]
Gallery
●
The pack.png file used by the default resource pack before 1.14.
●
The grayscale variant still present in the game. Used as a fallback server icon.
●
The first image released by Notch of the texture pack selection menu.
●
The pack.png file used by the default resource pack.
●
●
A custom splash saying Also try Tomodachi Life!
●
Blocks with missing textures seen in a broken custom biome in Bedrock Edition.
●
●
Unimplemented "block alternatives" option for resource packs.
●
See also
● Tutorials/Creating a resource pack [Java
Edition only]
● Introduction to Resource Packs [Bedrock
Edition only]
References
1. snapshot description https://www.minecraft.net/it-it/article/minecraft-snapshot-
23w31a
2. https://feedback.minecraft.net/hc/en-us/community/posts/360058097892-Split-
up-the-experience-orb-texture-file-into-individual-sprites
3. MC-17673 — Distorted fonts when using a converted texturepack on startup —
resolved as "Fixed".
4. MC-18569 — Server resourcepacks not implemented yet — resolved as "Fixed".
5. https://mcupdate.tumblr.com/post/65040832258/minecraft-172
6. "It should have already affected resource pack loading! It's all the same thing
internally." – @Dinnerbone (Nathan Adams) on X (formerly Twitter), February 7,
2019
7. https://github.com/Mojang/slicer/releases/tag/v1.1
8. "Pack.PNG has been FOUND! - Here's how they did it." – SalC1 on YouTube,
September 7, 2020
9.
https://www.reddit.com/r/MinecraftAtHome/comments/iocx6f/packpng_seed_was
_found_explanation_tutorial_and
Navigation
[]
● v
● t
● e
Resource packs
Components
● Models
● Sounds (sounds.json)
● Shaders
[]
● v
● t
● e
Java Edition technical
[]
General
[]
Data pack
[]
Resource pack
Components ● pack.mcmeta
● Pack format
● Language
● Models
● Blockstates
● Items
● Sounds(sounds.json)
● Shaders
● Textures
● Atlases
● Aa Fonts
● Colormaps
● Texts
● regional_compliancies.json
● Equipment
Tutorials ● Creating a resource pack
Categories:
● Resource packs
● Game customization