Resource pack

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.
== Java Edition ==
=== Behavior ===
Resource packs can be placed in the folder within the folder. Each resource pack is either a sub-folder or a file within the folder. Once in the folder, a resource pack can be added from the options, where resource packs can be moved between "Available resource packs" and "Selected resource packs". "Selected resource packs" also contain the default assets on the bottom, which 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.
==== Default resource packs ====
A resource pack can be bundled with a world by saving it as a file under the name and placing it directly in the world's folder. 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 adding a link to a file download after the line in the server.properties file. Users then have an option of whether to download the resource pack or not. Resource packs can also be forced on a server using in the server.properties file. Rejecting the resource pack disconnects the player from the server.
The old (pre-1.14) textures are available in a resource pack titled "Programmer Art". These textures are not updated when the game receives new textures.
=== Folder structure ===
More than one directory for different namespaces may exist under the directory.
=== Contents ===
A resource pack is identified by Minecraft based on the presence of the file in the root directory, which contains a JSON file with the following information:
* The root tag
**: Holds the resource pack information
***: Pack version. If this number does not match the current required number, the resource pack displays an error and requires additional confirmation to load the pack. See Pack format for a full list of pack format numbers.
*** : Text shown below the pack name in the resource pack menu. The text is shown on two lines. If the text is too long it is truncated.
*** : Contains a raw JSON text object that is shown instead as the pack description in the resource pack menu. Same behavior as the version of the tag, but they cannot exist together.
** : Contains additional languages to add to the language menu
*** Language code for a language, corresponding to a file with the same name in the folder .
**** : The full name of the language
**** : The country or region name
**** : If true, the language reads right to left.
** : Section for filtering out files from resource packs applied below this one. Any file that matches one of the patterns inside will be treated as if it was not present in the pack at all.
*** : List of patterns
**** Pattern entry.
*****: A regular expression for the namespace of files to be filtered out. If unspecified, it applies to every namespace.
*****: A regular expression for the paths of files to be filtered out. If unspecified, it applies to every file.
The root directory also contains an optional image called , which appears as the thumbnail for the pack on the resource pack selection menu.
==== Pack format ====
==== Language ====
Resource packs can create language files of the type in the folder . Each file either replaces information from a file of the same name in the default or a lower pack, or it creates a new language as defined by .
Each line in the file is in the standard json format of followed by a comma in case it is followed by another value in the next line. is what the game uses to look up the name for something, and as such it should not be translated or changed. is the name that is displayed. For example, stone in the default language file is , with being the identifier, and being the displayed name. Blank lines are ignored. The file needs to be valid JSON syntax, meaning it starts with a {, has a comma after every key value pair except the last one, and ends with a }.
Language files need to add only those lines that are changed by the pack. Any names that are not in the pack are loaded from the pack below, or default if no pack changes the names.
==== Models ====
Models are files in JSON format with the extension , which determine the shape and textures of blocks and items.
Blocks use a block state file from to determine which model is loaded for each variant from the folder . Meanwhile, each item has an item model in to determine its model, which either loads from a block's model, contains data for its own custom model, or uses 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 ====
Resource packs load additional sounds with the file type of . Each sound placed in the pack overrides the sounds from packs below, and packs also contain a file called , which is placed within . Unlike most other files in resource packs, merges sound information from packs below the top pack, rather than each file overriding the previous completely.
==== Textures ====
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.
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 and any blocks or entities that are semi-transparent by default support semi-transparency.
If a file 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 ====
Atlases are configuration files, located in atlases directory, that control which images are included in the atlases. That directory contains following JSON entries for configuring atlases:
* The root tag 
**: Contains a list of sources. Every entry runs in during load, in order of definition, adding or removing new files to the texture list.
*** Source element
****: The type of the atlas source. Can be one of the following:
*****directory: Lists all files in a directory and its subdirectories, across all namespaces.
******: Directory in pack to be listed (relative to directory).
******: String to be preprended to the sprite name when loaded.
*****single: Adds a single file.
******: Location of a resource within the pack (relative to textures directory, implied extension).
******: Sprite name (optional, defaults to ).
*****filter: Removes sprites matching the given pattern (only works for entries already in the list).
******: Regular expression of the namespace indentificator to be removed, if omitted, any value will be matched.
******: Regular expression of the path to be removed, if omitted, any value will be matched.
*****unstitch: Copies rectangular regions from other images.
******: Location of a resource within the pack (relative to directory, implied extension).
******: Used for determining the units used by in the coordinate of regions.
******: Used for determining the units used by in the coordinate of regions.
******: List of regions to copy from the source image.
*******: Specifies the sprite name.
*******: Specifies the coordinate of the top-left corner of the region.
*******: Specifies the coordinate of the top-left corner of the region.
*******: Specifies the width of the region.
*******: Specifies the height of the region.
====Animation====
Block, item, particle, painting, item frame, and status effect icon () textures support animation by placing each additional frame below the last. The animation is then controlled using a file in JSON format with the same name and at the end of the filename, in the same directory. For example, the file for would be .
* The root tag 
**: Contains data for the animation
***: If true, Minecraft generates additional frames between frames with a frame time greater than 1 between them. Defaults to .
***: The width of the tile, as a direct ratio rather than in pixels. This is unused in vanilla's files but can be used by resource packs to have frames that are not perfect squares.
***: The height of the tile as a ratio rather than in pixels. This is unused in vanilla's files but can be used by resource packs to have frames that are not perfect squares.
***: Sets the default time for each frame in increments of one game tick. Defaults to .
***: Contains a list of frames. Defaults to displaying all the frames from top to bottom.
**** A number corresponding to position of a frame from the top, with the top frame being 0.
**** A frame specifies a frame with additional data.
*****: A number corresponding to position of a frame from the top, with the top frame being 0.
*****: The time in ticks to show this frame, overriding "frametime" above.
If the file does not exist in the pack and the texture does, the game assumes the texture is not animated, rather than loading a file from a pack below that pack. If no file exists for a texture with unequal dimensions, the texture appears as a purple and black checkerboard.
====Villagers====
Textures from and support a 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 . For example, the file can have a properties file called 
* The root tag 
**: Contains data for the texture
***: Can be , , or default (no file). Determines whether the villager's 'profession' hat layer should allow the 'type' hat layer to render or not. 
If the file does not exist in the pack and the texture does, the game loads the default settings, rather than loading a file from a pack below that pack.
====Colormaps====
Colormaps are 256×256 pixel images which tell the game which color to use in each biome. They are located in . The game contains two colormaps: colors plants such as leaves (except birch and spruce) and vines, and colors grass and grass blocks. Colormaps can be disabled on individual blocks by removing the tag from the block model.
====Properties====
:Textures from support a 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 . For example, the file can have a properties file called 
* The root tag 
**: Contains data for the texture
***: Causes the texture to blur when viewed from close up. Defaults to 
***: Causes the texture to stretch instead of tiling in cases where it otherwise would, such as on the shadow. Defaults to 
***: Custom mipmap values for the texture
If the file does not exist in the pack and the texture does, the game loads the default settings, rather than loading a file from a pack below that pack.
====Texts====
Two files in UTF-8 format and one file exist in . They are used by the game to determine the text to display.
The file contains the text of the end poem, using formatting codes to apply the colors to the two speakers, and with the text being replaced with the player's name. After that file is shown, the contents of are shown.
The file contains lines of text separated using line breaks to determine the splashes to display in-game. Any splash can be replaced with different text.
====Fonts====
A font file is a JSON file located at within a resource pack and contains a list of providers that each tie a character set to a resource location along with some extra information. The default font is defined by the font while the default font used by enchantment tables is defined by the font . 
The resource locations given in font providers should also include the file extensions.
* The root tag 
**: A list of providers that are merged onto this font.
*** A font provider. The contents depend on the value of the tag.
****: The type of the font provider. Can be one of the following:
*****bitmap: A bitmap font.
******: The resource location of the used file, starting from by default. Prefacing the location with changes the location to .
******: 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 rescales the displayed result. Default is 8.
******: The ascent of the character, measured in pixels. This value adds a vertical shift to the displayed result.
******: 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.
*****legacy_unicode: A legacy unicode font. This format is deprecated, prioritized only when the "Force Unicode Font" option is turned on.
******: 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 . The resource location path is relative to the namespace root.
******: The resource location inside that leads to the texture files that should be used for this provider. The game replaces 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.
******: The resource location of the TrueType/OpenType font file within .
******: The distance by which the characters of this provider are shifted.
******* Left shift, negative values are allowed.
******* Downward shift, negative values are allowed.
******: Font size to render at.
******: Resolution to render at, increasing anti-aliasing factor.
******: String of characters or array of characters to exclude.
*****space: Show chosen characters as spaces
******
*******: The amount of pixels that the following characters are moved to the right. Can be negative. Decimal numbers can be used for precise movement on higher gui scales.
Font texture sheets automatically resize based on the amount of characters in each array line, and some sheets may use a 16-character wide sheet, in order to conform with a Unicode block. This is how Vanilla formats the default font JSON.
=====Default textures=====
The texture files of the default fonts contain a grid of white characters, which are automatically colored by Minecraft as needed in-game. The character sizes are automatically determined based on the last line of pixels containing any alpha value. Due to the way fonts are detected, filling the background of a character with a color containing a 5% alpha background causes the full width to render without generally having a visible background to the character. The default font character is 8×8 pixels, while is 9×12 pixels.
*Glyphs 0x20 (space) through 0x7E (tilde) display the standard ASCII characters
*Glyphs 0x7F (<control>) through 0xFF (y with diaeresis) display the Code page 437 characters
The default texture is located in . It contains these characters:
 !"#$%&'()*+,-./
 0123456789:;<=>?
 @ABCDEFGHIJKLMNO
 PQRSTUVWXYZ[\]^_
 `abcdefghijklmno
 pqrstuvwxyz{|}~ 
 
 £ ƒ
 ªº ¬ «»
 ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐
 └┴┬├─┼╞╟╚╔╩╦╠═╬╧
 ╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀
 ∅∈ 
 ≡±≥≤⌠⌡÷≈°∙ √ⁿ²■ 
A texture sheet in contains many accented characters and most of the symbols Minecraft supports. Contrary to its name, it also includes characters that are non-European and some obscure Latin script characters. It contains these characters:
 ¡‰­·₴≠¿×ØÞһðøþΑΒ
 ΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣ
 ΤΥΦΧΨΩαβγδεζηθικ
 λμνξοπρςστυφχψωЂ
 ЅІЈЉЊЋАБВГДЕЖЗИК
 ЛМНОПРСТУФХЦЧШЩЪ
 ЫЬЭЮЯабвгдежзикл
 мнопрстуфхцчшщъы
 ьэюяєѕіјљњ–—‘’“”
 „…⁊←↑→↓⇄＋ƏəɛɪҮүӨ
 өʻˌ;ĸẞß₽€ѢѣѴѵӀѲѳ
 ⁰¹³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁱ™
 ʔʕ⧈⚔☠ҚқҒғҰұӘәҖҗҢ
 ңҺאבגדהוזחטיכלמם
 נןסעפףצץקר¢¤¥©®µ
 ¶¼½¾·‐‚†‡•‱′″‴‵‶
 ‷‹›※‼‽⁂⁈⁉⁋⁎⁏⁑⁒⁗℗
 −∓∞☀☁☈Є☲☵☽♀♂⚥♠♣♥
 ♦♩♪♫♬♭♮♯⚀⚁⚂⚃⚄⚅ʬ⚡
 ⛏✔❄❌❤⭐⸘⸮⸵⸸⹁⹋⥝ᘔƐ߈
 ϛㄥⱯᗺƆᗡƎℲ⅁ꞰꞀԀꝹᴚ⟘∩
 Ʌ⅄ɐɔǝɟᵷɥᴉɾʞꞁɯɹʇʌ
 ʍʎԱԲԳԴԶԷԹԺԻԼԽԾԿՀ
 ՁՂՃՄՅՆՇՈՉՋՌՍՎՏՐՑ
 ՒՓՔՕՖՙաբգդեզէըթժ
 իլխծկհձղճմյնշոչպ
 ջռսվտրցւփքօֆևשתԸ
 ՚՛՜՝՞՟ՠֈ֏¯ſƷʒǷƿȜ
 ȝȤȥ˙Ꝛꝛ‑⅋⏏⏩⏪⏭⏮⏯⏴⏵
 ⏶⏷⏸⏹⏺⏻⏼⏽⭘▲▶▼◀●◦◘
 ⚓⛨ĲĳǉꜨꜩꜹꜻﬀﬁﬂﬃﬅ�Ե
 Պᚠᚢᚣᚤᚥᚦᚧᚨᚩᚪᚫᚬᚭᚮᚯ
 ᚰᚱᚲᚳᚴᚶᚷᚸᚹᚺᚻᚼᚽᚾᚿᛀ
 ᛁᛂᛃᛄᛅᛆᛇᛈᛉᛊᛋᛌᛍᛎᛏᛐ
 ᛑᛒᛓᛔᛕᛖᛗᛘᛙᛚᛛᛜᛝᛞᛟᛠ
 ᛡᛢᛣᛤᛥᛦᛧᛨᛩᛪ᛫᛬᛭ᛮᛯᛰ
 ᛱᛲᛳᛴᛵᛶᛷᛸ☺☻¦☹ך׳״װ
 ױײ־׃׆´¨ᴀʙᴄᴅᴇꜰɢʜᴊ
 ᴋʟᴍɴᴏᴘꞯʀꜱᴛᴜᴠᴡʏᴢ§
 ɱɳɲʈɖɡʡɕʑɸʝʢɻʁɦʋ
 ɰɬɮʘǀǃǂǁɓɗᶑʄɠʛɧɫ
 ɨʉʊɘɵɤɜɞɑɒɚɝƁƉƑƩ
 ƲႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮ
 ႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾ
 ႿჀჁჂჃჄჅჇჍაბგდევზ
 თიკლმნოპჟრსტუფქღ
 ყშჩცძწჭხჯჰჱჲჳჴჵჶ
 ჷჸჹჺ჻ჼჽჾჿתּשׂפֿפּכּײַיִ
 וֹוּבֿבּꜧꜦɺⱱʠʗʖɭɷɿʅʆ
 ʓʚ₪₾֊ⴀⴁⴂⴃⴄⴅⴆⴡⴇⴈⴉ
 ⴊⴋⴌⴢⴍⴎⴏⴐⴑⴒⴣⴓⴔⴕⴖⴗ
 ⴘⴙⴚⴛⴜⴝⴞⴤⴟⴠⴥ⅛⅜⅝⅞⅓
 ⅔✉☂☔☄⛄☃⌛⌚⚐✎❣♤♧♡♢
 ⛈☰☱☳☴☶☷↔⇒⇏⇔⇵∀∃∄∉
 ∋∌⊂⊃⊄⊅∧∨⊻⊼⊽∥≢⋆∑⊤
 ⊥⊢⊨≔∁∴∵∛∜∂⋃⊆⊇□△▷
 ▽◁◆◇○◎☆★✘₀₁₂₃₄₅₆
 ₇₈₉₊₋₌₍₎∫∮∝⌀⌂⌘〒ɼ
 ƄƅẟȽƚƛȠƞƟƧƨƪƸƹƻƼ
 ƽƾȡȴȵȶȺⱥȻȼɆɇȾⱦɁɂ
 ɃɄɈɉɊɋɌɍɎɏẜẝỼỽỾỿ
 Ꞩꞩ𐌰𐌱𐌲𐌳𐌴𐌵𐌶𐌷𐌸𐌹𐌺𐌻𐌼𐌽
 𐌾𐌿𐍀𐍁𐍂𐍃𐍄𐍅𐍆𐍇𐍈𐍉𐍊🌧🔥🌊
 ⅐⅑⅕⅖⅗⅙⅚⅟↉🗡🏹🪓🔱🎣🧪⚗
 ⯪⯫Ɑ🛡✂🍖🪣🔔⏳⚑₠₡₢₣₤₥
 ₦₩₫₭₮₰₱₲₳₵₶₷₸₹₺₻
 ₼₿
A secondary texture is located in . It supports most basic accented characters, Greek letters, Cyrillic characters, as well as some enclosed alphanumerics and other symbols. It contains these characters:
 ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
 ÐÑÒÓÔÕÖÙÚÛÜÝàáâã
 äåæçìíîïñòóôõöùú
 ûüýÿĀāĂăĄąĆćĈĉĊċ
 ČčĎďĐđĒēĔĕĖėĘęĚě
 ĜĝḠḡĞğĠġĢģĤĥĦħĨĩ
 ĪīĬĭĮįİıĴĵĶķĹĺĻļ
 ĽľĿŀŁłŃńŅņŇňŊŋŌō
 ŎŏŐőŒœŔŕŖŗŘřŚśŜŝ
 ŞşŠšŢţŤťŦŧŨũŪūŬŭ
 ŮůŰűŲųŴŵŶŷŸŹźŻżŽ
 žǼǽǾǿȘșȚțΆΈΉΊΌΎΏ
 ΐΪΫάέήίΰϊϋόύώЀЁЃ
 ЇЌЍЎЙйѐёђѓїћќѝўџ
 ҐґḂḃḊḋḞḟḢḣḰḱṀṁṖṗ
 ṠṡṪṫẀẁẂẃẄẅỲỳèéêë
 ŉǧǫЏḍḥṛṭẒỊịỌọỤụ№
 ȇƔɣʃ⁇ǱǲǳǄǅǆǇǈǊǋǌ
 ℹᵫꜲꜳꜴꜵꜶꜷꜸꜺꜼꜽꝎꝏꝠꝡ
 ﬄﬆᚡᚵƠơƯưẮắẤấẾếốỚ
 ớỨứẰằẦầỀềồỜờỪừẢả
 ẲẳẨẩẺẻổỞỂểỈỉỎỏỔở
 ỦủỬửỶỷẠạẶặẬậẸẹỆệ
 ỘộỢợỰựỴỵỐƕẪẫỖỗữ☞
 ☜☮ẴẵẼẽỄễỒỠỡỮỸỹҘҙ
 ҠҡҪҫǶ⚠⓪①②③④⑤⑥⑦⑧⑨
 ⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⒶⒷⒸⒹⒺ
 ⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊ
 ⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚ
 ⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ◌̧
 ʂʐɶǍǎǞǟǺǻȂȃȦȧǠǡḀ
 ḁȀȁḆḇḄḅᵬḈḉḐḑḒḓḎḏ
 ḌᵭḔḕḖḗḘḙḜḝȨȩḚḛȄȅ
 ȆᵮǴǵǦḦḧḨḩḪḫȞȟḤẖḮ
 ḯȊȋǏǐȈȉḬḭǰȷǨǩḲḳḴ
 ḵḺḻḼḽḶḷḸḹⱢḾḿṂṃᵯṄ
 ṅṆṇṊṋǸǹṈṉᵰǬǭȬȭṌṍ
 ṎṏṐṑṒṓȎȏȪȫǑǒȮȯȰȱ
 ȌȍǪṔṕᵱȒȓṘṙṜṝṞṟȐȑ
 ṚᵳᵲṤṥṦṧṢṣṨṩᵴṰṱṮṯ
 ṬẗᵵṲṳṶṷṸṹṺṻǓǔǕǖǗ
 ǘǙǚǛǜṴṵȔȕȖṾṿṼṽẆẇ
 ẈẉẘẌẍẊẋȲȳẎẏẙẔẕẐẑ
 ẓᵶǮǯẛꜾꜿǢǣᵺỻᴂᴔꭣȸʣ
 ʥʤʩʪʫȹʨʦʧꭐꭑ₧Ỻאַאָƀ
 ƂƃƇƈƊƋƌƓǤǥƗƖɩƘƙƝ
 ƤƥɽƦƬƭƫƮȗƱƜƳƴƵƶƢ
 ƣȢȣʭʮʯﬔﬕﬗﬖﬓӐӑӒӓӶ
 ӷҔҕӖӗҼҽҾҿӚӛӜӝӁӂӞ
 ӟӢӣӤӥӦӧӪӫӰӱӮӯӲӳӴ
 ӵӸӹӬӭѶѷӔӺԂꚂꚀꚈԪԬꚄ
 ԄԐӠԆҊӃҞҜԞԚӅԮԒԠԈԔ
 ӍӉԨӇҤԢԊҨԤҦҎԖԌꚐҬꚊ
 ꚌԎҲӼӾԦꚔҴꚎҶӋҸꚒꚖꚆҌ
 ԘԜӕӻԃꚃꚁꚉԫԭꚅԅԑӡԇҋ
 ӄҟҝԟԛӆԯԓԡԉԕӎӊԩӈҥ
 ԣԋҩԥҧҏԗԍꚑҭꚋꚍԏҳӽӿ
 ԧꚕҵꚏҷӌҹꚓꚗꚇҍԙԝἈἀἉ
 ἁἊἂἋἃἌἄἍἅἎἆἏἇᾺὰᾸ
 ᾰᾹᾱΆάᾈᾀᾉᾁᾊᾂᾋᾃᾌᾄᾍ
 ᾅᾎᾆᾏᾇᾼᾴᾶᾷᾲᾳἘἐἙἑἚ
 ἒἛἓἜἔἝἕῈΈὲέἨἠῊὴἩ
 ἡἪἢἫἣἬἤἭἥἮἦἯἧᾘᾐᾙ
 ᾑᾚᾒᾛᾓᾜᾔᾝᾕᾞᾖᾟᾗΉήῌ
 ῃῂῄῆῇῚὶΊίἸἰἹἱἺἲἻ
 ἳἼἴἽἵἾἶἿἷῘῐῙῑῒΐῖ
 ῗῸὸΌόὈὀὉὁὊὂὋὃὌὄὍ
 ὅῬῤῥῪὺΎύὙὑὛὓὝὕὟὗ
 ῨῠῩῡϓϔῢΰῧὐὒὔῦὖῺὼ
 ΏώὨὠὩὡὪὢὫὣὬὤὭὥὮὦ
 Ὧὧᾨᾠᾩᾡᾪᾢᾫᾣᾬᾤᾭᾥᾮᾦ
 ᾯᾧῼῳῲῴῶῷ☯☐☑☒ƍƺⱾȿ
 ⱿɀᶀꟄꞔᶁᶂᶃꞕᶄᶅᶆᶇᶈᶉᶊ
 ᶋᶌᶍꟆᶎᶏᶐᶒᶓᶔᶕᶖᶗᶘᶙᶚ
 ẚ⅒⅘₨₯
The default texture used when displaying the Standard Galactic Alphabet (a.k.a. the enchanting text or "alien font") is .
There is another currently unused texture called , which is the rune-like font from Minecraft Dungeons. It is located at .
=====Legacy Unicode=====
As a fallback for untextured characters, Minecraft uses GNU Unifont. Each sheet of characters is stored following the format of , where are the hexadecimal numbers 00 through FF. These pages are 16×16 pixels, and appear small and rough in-game. The version of GNU Unifont used is 9.0.04, and is outdated as of 1.17.1. It provides the support for the CJK characters as well as a fallback for every character not provided by any loaded font.
The Unifont entries use a for recording glyph widths. Each entry is one byte large; the higher nibble records the starting position while the lower records the ending position in the 16×16 glyph grid. For example, a square character occupying the entire grid (pixel #0 through #15) would have a byte of .
Codepoints beyond U+FFFF are not handled and are ignored.
=====Emoji=====
Since 1.15, Minecraft can support UTF-16 sequences for emojis, or any character in the Unicode SMP plane. 
For the emoji to be read properly in the array of the font file, the character can either:
*be split from its' UTF-16 codepoint into two UTF-8 codepoints (surrogates); for example, 
* be input directly
The first method is used in the Vanilla font file, but either works equally well.
To convert a character into a surrogate pair, one can use the following equations, where C is the codepoint in decimal: 
*High Surrogate (first): 
*Low Surrogate (second): 
As of 1.17.1, Minecraft has default support for the following emojis:
 ☀ ☁ ☂ ☃ ☄ ☑ ☔ ☠ ☮ ☯ ☹ ☺ ♀ ♂ ♠ ♣ ♥ ♦ ⚓ ⚔ ⚗ ⚠ ⚡ ⛄ ⛈ ⛏ ✉ ✔ ❣ ❄ 🔥 🌊 🗡 🏹 🪓 🔱 🎣 🧪 ✂ 🍖 🪣 🔔 ⏳
=====Shadows=====
In most places text is rendered, a shadow appears beneath every character. This shadow is a copy of the character's bitmap, with the r, g and b values divided by 4, and positioned 12.5% south-east of the character, relative to its spacing. Regardless of the resolution of the character's texture, the shadow is always moved by 12.5%; whether there exists any way to change this value using resource packs is unknown. In the default font (), the shadow is equivalent to being moved 1 pixel down and to the right.
=====Glowing text=====
Glow ink on a sign causes a character to create eight copies of itself, similar to the shadows, but in all eight directions. This results in the font appearing to have a thick outline.
====Texture sheets====
Minecraft generally does not store multiple different textures on sheets and instead stores them on separate files. Two current exceptions are map iconshttps://feedback.minecraft.net/hc/en-us/community/posts/360058199792-Split-up-map-icon-textures-into-individual-files and experience orbs.https://feedback.minecraft.net/hc/en-us/community/posts/360058097892-Split-up-the-experience-orb-texture-file-into-individual-sprites
====Shaders====
Shaders are a way for resource packs to change how the game renders. They are written in OpenGL Shading Language (GLSL).
====Regional compliancies warnings====
Regional compliancies warnings can be customized at .
 
* The root tag
**: Contains a list of warnings. Note that the key itself is an region code determined by the device's locale setting. 
***: Optional. Defines how long should the game wait until showing this message in minutes. This can not be zero.
***: The time interval this message should be shown in minutes. This can not be zero.
***: 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.
***: The translation identifier of the message. A slot is provided for the translation string, how many times this warning has been shown.
===Template===
The folder structure of Vanilla Resource Pack:
==Bedrock Edition==
===Behavior===
Similarly to skins, resource packs can be bought or made . Users can download resource packs on the system itself with the 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 folder in the folder. Each resource pack must either be a sub-folder or a 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.
====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 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 property on the server settings.
===Folder Structure===
==History==
==Trivia==
 
*The old file was screenshotted from Alpha v1.2.2, the seed being .
**The screenshot was taken approximately at X=49.16, Z=0.72, facing RX=-119.23, RY=-8.297.
**How to generate the exact same world and make the exact same screenshot: https://pastebin.com/CmsEKDev.https://www.reddit.com/r/MinecraftAtHome/comments/iocx6f/packpng_seed_was_found_explanation_tutorial_and
** It was referenced in the video "One Trillion Minecraft Views on YouTube and Counting".
==Gallery==
Pack.png|The old pack.png file.
Unknown server.png|The grayscale variant currently still in the game. Used for icons for unknown servers.
NotchTexturePacks.png|The first image released by Notch of the texture pack selection menu.
Default pack.png|The default resource pack icon.
Programmer Art pack.png|The programmer art resource pack icon.
Unknown pack.png|The unknown resource pack icon.
Pack 64x64.png|64x64 version of pack.png that is used in server icons and resource packs by default.
Custom splash.png|A splash screen in Minecraft version 1.6.1 saying Also try Tomodachi Life!
Custom biome with missing texture blocks.png|Missing texture blocks seen in a custom biome in Bedrock edition 1.17.2 Hotfix (iOS).
Dinnerbone Select Resource Packs.png|The "select resource packs" screen.
Dinnerbone Resource Packs.gif|Resource packs being ordered.
Block Alternatives.png|Unimplemented "block alternatives" option for resource packs.
Resource Packs Button.jpg|The resource packs button.
==See also== 
*Tutorials/Creating a resource pack 
*Introduction to Resource Packs 
*Programs and editors/Resource pack creators
==References==
cs:Balíček modifikací
de:Ressourcenpaket
es:Paquete de recursos
fr:Pack de ressources
it:Pacchetto di risorse
ja:リソースパック
ko:리소스 팩
nl:Bronpakket
pl:Paczki zasobów
pt:Pacote de recursos
ru:Пакет ресурсов
th:รีซอร์ซแพ็ก
uk:Пакет ресурсів
zh:资源包