0% found this document useful (0 votes)
149 views56 pages

Mcpack Meta

The pack.mcmeta file is essential for defining metadata for resource packs or data packs in Minecraft, identifying them as such. It uses a JSON format to specify pack information, compatibility, features, and optional sections for filtering and overlays. Resource packs allow players to customize various game assets without code modification and can be managed through the game's interface.

Uploaded by

maninspace3737
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views56 pages

Mcpack Meta

The pack.mcmeta file is essential for defining metadata for resource packs or data packs in Minecraft, identifying them as such. It uses a JSON format to specify pack information, compatibility, features, and optional sections for filtering and overlays. Resource packs allow players to customize various game assets without code modification and can be managed through the game's interface.

Uploaded by

maninspace3737
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 56

pack.

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

The pack.mcmeta file is defined using the following JSON format:

[NBT Compound / JSON Object] The root object.


pack: Holds the pack information.
[NBT Compound / JSON Object]

description: A text component that appears when


[String][NBT List / JSON Array][NBT Compound / JSON Object]

hovering over the pack's name in the list given by the


/datapack list command, or when viewing the pack in
the Create World screen.
pack_format: Determines the version(s) of Minecraft that this
[Int]

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]

{ "min_inclusive": 42, "max_inclusive": 45 }.


features: (optional) Section for selecting experimental features.
[NBT Compound / JSON Object]

enabled: List of enabled feature flags.


[NBT List / JSON Array]

: Resource location of a feature flag. [String]

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]

treated as if it was not present in the pack at all.


block: List of patterns.
[NBT List / JSON Array]

: A pattern. [NBT Compound / JSON Object]

namespace: A regular expression for the [String]

namespace of files to be filtered out. If


unspecified, it applies to every
namespace.
path: A regular expression for the paths of
[String]

files to be filtered out. If unspecified, it


applies to every file.
[NBT Compound / JSON Object] overlays: (optional) Section for specifying the overlays, which are sub-
packs applied over the "normal" contents of a pack. Their directories
have their own assets and data directories, and are placed in the
pack's root directory.
entries: List of overlays. The order is important, as the first in
[NBT List / JSON Array]

the list is applied first.


: An overlay. [NBT Compound / JSON Object]

formats: Describes a range for pack


[Int][Int Array][NBT Compound / JSON Object]

formats when this overlay should be


active. Examples: 42, [42, 45],
{ "min_inclusive": 42,
"max_inclusive": 45 }.
directory: The directory to overlay for the
[String]

respective versions (allowed characters:


a-z, 0-9, _and -). In this directory,
pack.mcmeta and pack.png are
ignored.
[NBT Compound / JSON Object] language: (optional) Only present in resource packs — Contains
additional languages to add to the language menu.
Language code for a language, corresponding to a .json
[NBT Compound / JSON Object]

file with the same name in the folder


assets/<namespace>/lang.
name: The full name of the language
[String]

region: The country or region name


[String]

bidirectional: If true, the language reads right to left.


[Boolean]

External links

Edit

● Pack.mcmeta Generator on misode.github.io

Navigation

Edit

[]
Java Edition technical

[]

General

Concepts ● Block entity


● Coordinates
● Crashes
● Loot context
[String]

● Mob AI
● Point of Interest
● Resource location
● Screenshot
● Statistics
● Telemetry
● Tick
● UUID
● JSON

General format ● Data values


○ Classic
○ Indev
○ Pre-flattening
● Data component format
○ Predicate
● Entity format
● Map item format
● NBT format
[NBT Compound / JSON Object]

● Particle format
● Text component format
● § Formatting codes
● Key codes
● Random sequence
● Structure file format
○ Schematic file format

World ● Heightmap
● Seed
● Spawn chunk
● Data version

Level format ● Anvil file


format
● Chunk format
● Player format
● Point of
Interest format
● raids.dat
format
● Command
storage format
● Scoreboard
format

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

Tools ● F3 Debug screen


○ hotkey
● Developer Tools
○ GameTest
● Obfuscation map

Sound ● Block sound type


● sounds.json
● Subtitles

Commands ● Brigadier
● Functions

More information about commands


Launching ● Mojang API
● Microsoft authentication
● Quick Play

Legacy ● Legacy
Minecraft
authentication
● Yggdrasil

Protocol ● Protocol version


● Protocol data types
● Protocol encryption

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

World generation ● Dimension


● Dimension
type
● World preset
● Biomes
● Carver
● Configured
feature
● Placed
feature

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

Data packs ● Caves & Cliffs Prototype Data Pack

Tutorials ● Installing
● Creating
● Optimizing
● Command blocks and functions
● Repairing a world corrupted by a
data pack

Content ● Custom
enchantments
● Custom
paintings
● Custom trims

World generation ● New


dimension
● Custom
structures

[]

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

.
How to Make reasource packs

Resource pack
This article is about the system to customize assets. For other uses, see Texture Pack
(disambiguation).

There are related tutorial pages for this topic!


See Tutorial:Creating a resource pack and Tutorial:Loading a resource pack.

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

The default resource pack settings.

Each resource pack is either a directory or a ZIP archive (with .zipextension). Resource packs

can be added by placing them in the resourcepacks directory within .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

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

Pack name Pack description Description

The default look and feel of Selected by default, can't be


Default Minecraft (built-in) unselected, always at the
lowest priority.

The classic look of Minecraft The old (pre-1.14) textures.


Programmer Art (built-in) They are not updated when the
game receives new textures.

Enhances the UI contrast of Increases the contrast of menu


High Contrast Minecraft (built-in) GUIs.

Preloaded resource packs

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
Resource packs in Java Edition have the following directory structure:

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

A resource pack is identified by Minecraft based on the presence of pack.mcmeta in the


root directory.

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.

Languages other than default can be defined in pack.mcmeta.

[NBT Compound / JSON Object] The root object.


ID: Displayed translation for the text ID.
[String]

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.

Blocks use a block state file from assets/minecraft/blockstates to determine which

model is loaded for each variant from assets/minecraft/models/block. Similarly, item

models are determined from a file in assets/minecraft/items, and models are stored in

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

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:

● Block and item textures


● Banner and shield textures
● Some block entities including: bed, chest, conduit, decorated pot, enchanting table
book, bell, item frame, painting, shulker box and sign textures
● GUI sprites (all textures in the
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


animation: Contains data for the animation
[NBT Compound / JSON Object]

interpolate: If true, Minecraft generates additional frames between


[Boolean]

frames with a frame time greater than 1 between them. Defaults to


false.
width: The width of the sprite, in pixels. This is unused in vanilla's files but
[Int]

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]

game tick. Defaults to 1.


frames: Contains a list of frames. Defaults to displaying all the frames
[NBT List / JSON Array]

from top to bottom.


A number corresponding to position of a frame from the top, with
[Int]

the top frame being 0.


[NBT Compound / JSON Object] A frame specifies a frame with additional data.
index: A number corresponding to position of a frame
[Int]

from the top, with the top frame being 0.


time: The time in ticks to show this frame, overriding
[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

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


villager: Contains data for the texture
[NBT Compound / JSON Object]

hat: Can be full, partial, or default (no .mcmeta file). Determines


[String]

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

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


gui: Contains data for the texture
[NBT Compound / JSON Object]

scaling: Scaling behavior of the texture.


[NBT Compound / JSON Object]

type: Can be stretch (default), tile, or nine_slice.


[String]

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 type is set to tile or nine_slice.
[String]

[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]

[Boolean] stretch_inner: If true, the inner parts of the texture is stretched


instead of tiled. Defaults to false. Required if type is set to [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]

on-screen, respectively. Required if type is set to [String]

nine_slice.
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.


[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

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


texture: Contains data for the texture
[NBT Compound / JSON Object]

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]

otherwise would, such as on the shadow. Defaults to false


mipmaps: Custom mipmap values for the texture
[Int Array]
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

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.

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

[NBT List / JSON Array] The root list


section Title of this section
[String]

disciplines List of disciplines in this section


[NBT List / JSON Array]

discipline Name of this discipline


[String]

titles List of titles(roles) credit given to


[NBT List / JSON Array]

title Name of title [String]

names List of people's names in this title


[NBT List / JSON Array]

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.

[NBT Compound / JSON Object] The root tag.


providers: A list of providers that make up this font.
[NBT List / JSON Array]

A font provider. The contents depend on the value of that provider's


[NBT Compound / JSON Object]

"type" tag.
type: The type of the font provider. Can be one of the following:
[String]

bitmap: A bitmap font.


file: The resource location of the used file, [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]

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.
ascent: The ascent of the character, measured
[Int]

in pixels. This value adds a vertical shift to the


displayed result.
chars: A list of strings containing the
[NBT List / JSON Array]

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.
sizes: The resource location of a binary file
[String]

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.
template: The resource location inside
[String]

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]

TrueType/OpenType font file within


assets/<namespace>/font.
shift: The distance by which the characters of
[NBT List / JSON Array]

this provider are shifted.


Left shift, negative values are allowed.
[Float]

Downward shift, negative values are


[Float]

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]

character: The amount of pixels the [Float]

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.
hex_file: Path to a ZIP archive containing one or
[String]

more *.hex files at the root (files in ZIP archive


with different extensions are ignored). Does
not walk recursively inside archive.
size_overrides: List of compounds that
[NBT List / JSON Array]

contain character ranges that should have


widths different than auto-detected.
A size override. [NBT Compound / JSON Object]

from: 1-character wide string of [String]

the character to start override


range at. Inclusive.
to: 1-character wide string of [String]

the character to end override


range at. Inclusive.
left: Position of left-most column [Int]

of glyphs in override range.


right: Position of right-most [Int]

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.
id: Resource location to another font provider.
[String]

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]

jp: Linked to "Japanese Glyph Variants" 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).

Regional compliancies warnings

Regional compliancies warnings can be customized in


assets/namespace/regional_compliancies.json.

[NBT Compound / JSON Object] The root tag


Region: Contains a list of warnings. Note that the key itself is an ISO 3166-1
[NBT List / JSON Array]

alpha-3 region code determined by the device's locale setting.


delay: Optional. Defines how long should the game wait until showing this
[Int]

message in minutes. This can not be zero.


period: The time interval this message should be shown in minutes. This
[Int]

can not be zero.


title: The translation identifier of the title of the message. A slot is
[String]

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

This section needs expansion.

You can help by expanding it.

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:

(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
[h]
texture_sets
textures
flipbook_textures.json
item_texture.json
terrain_texture.json
<texture>.png[a]
<texture>.tga[a]
ui
<ui>.json[a]
1. 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
For the history of resource pack format numbers specifically, see Pack format § List of resource
pack formats.

[]

Java Edition

1.6.1 13w24a Added


resource
packs,
replacing
the
functionalit
y of
texture
packs.

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.

1.6.2 reupload Fixed


distorted
font when
HD font is
used.[3]

1.7.2 13w36a Added the


ability to
apply
multiple
resource
packs at
once.

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.

1.7.4 13w47a The


descript
ion value
of
pack.mcm
eta can
now be
raw JSON
text
format.

13w48a Removed
the ability
to change
the
Mojang
logo.

1.8 14w06a Added the


ability to
change
the block
models.

14w07a Resource
packs can
now be
bundled
with a
map.

14w25a The model


format
now
supports
custom
item
models.

Textures
can now
be
specified
for blocks
and items.

Added the
interpol
ate tag
for
animation
s.

1.8.8 pre Resource


packs now
display an
error if the
format
number is
wrong. At
this time, it
requires a
format
number of
1.

1.9 15w31a Changed


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
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.

1.11 16w32a Resource


packs
version
number
changed
to 3, due
to the
change
that all
files
should
have
lowercase
letters.

1.13 17w43a The


default
resource
pack can
now be
moved up
and down,
just like
other
resource
packs.

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.

1.14 18w45a Added


"Program
mer 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.

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.

1.15 Pre-release 1 Changed


format
number to
5, due to
texture
mechanic
changes
in earlier
snapshots
.

1.16.2 Release Candidate 1 Changed


format
number to
6, due to
changes
to wall
blocks
made in
1.16
according
to MC-
197275.

1.17 20w45a Changed


format
number to
7.

21w05a Improved
performan
ce when
using
many
overrides
on an item
model.

toasts.png
GUI
texture
has a new
icon for
the bundle
tutorial.

pre1 The file


credits.
txt in
assets/m
inecraft
/texts
was
changed
to
credits.
json, and
the format
also
changed
from plain
text to
structured
JSON
format.

1.18 21w37a Added


illagera
lt, the
rune-like
font from
Minecraft
Dungeons
(currently
usable
only via
command
s).

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.

1.18.2 22w06a Added


assets/m
inecraft
/regiona
l_compli
ancies.j
son to
control the
gameplay
timer and
in-game
notice
strings as
to respect
the
complianc
e
requireme
nts in
South
Korea. For
South
Korea only
by default.

1.19 22w11a Changed


format
number to
9, due to
new
filter
section in
pack.mcm
eta.

1.19.3 22w42a Changed


format
number to
11, due to
the
removal of
"fixers" for
resource
packs with
format
numbers 3
and 4.

22w45a Changed
format
number to
12.

1.19.4 23w07a The


vanilla
resource
pack
en_us
language
file is now
sorted
alphanum
erically by
key.

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.

1.20 23w14a Changed


format
number to
14 due to
updates to
the layout
of
minecraf
t.png
and
invite_i
con.png.

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.

1.20.2 23w31a Changed


format
number to
16.

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.

1.20.2 Pre-release 2 Changed


format
number to
18.

1.20.3 23w42a Changed


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_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.

1.20.5 24w03a Changed


format
number to
24.

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.

1.21.2 24w33a Changed


format
number to
35.

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.

1.21.4 24w44a Changed


format
number to
43.

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.

[]

Upcoming Java Edition

1.21.5 25w02a Changed


format
number to
47.

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.

[]

Pocket Edition Alpha

v0.15.0 release Added the


first
custom in-
game
resource
packs,
Plastic
and City.

[]

Bedrock Edition

1.10.0 beta 1.10.0.3 Resource


packs are
now
separate
from world
templates
and can
be
updated
independe
ntly in
existing
worlds.

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]

○ 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


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 Unpacked paintingreferencing pack.png.


The first image released by Notch of the texture pack selection menu.


The pack.png file used by the default resource pack.

The pack.png file used by the programmer art resource pack.


The fallback resource pack icon.


The pack.png file used by the high contrast resource pack.


A custom splash saying Also try Tomodachi Life!

Blocks with missing textures seen in a broken custom biome in Bedrock Edition.

The "Select Resource Packs" screen.


Resource packs being managed.


Unimplemented "block alternatives" option for resource packs.

The resource packs button.

See also
● Tutorials/Creating a resource pack [Java
‌ Edition only]
● Introduction to Resource Packs [Bedrock
‌ Edition only]

● Programs and editors/Resource pack creators


External links
● Pack.mcmeta Generator on misode.github.io

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

Java Edition only ● pack.mcmeta


● Textures
● Atlases
● Colormaps
● Texts
● regional_complia
ncies.json
● Equipment
Resource packs

Java Edition only ● Programmer Art


● High Contrast

Bedrock Edition ● Minecraft Classic


only
Tutorials
● Loading a resource pack
● Creating a resource pack

[]

● 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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy