Minecraft Wiki
(Undo revision 1668891 by 103.81.94.136 (talk) - Not helpful.)
Tag: Undo
No edit summary
(45 intermediate revisions by 28 users not shown)
Line 1: Line 1:
 
{{exclusive|java}}
 
{{exclusive|java}}
'''Block models''' are used to depict all the blocks in the game, whereas '''item models''' are used to display the items in the players hand, on their head (helmets and hats), on the ground, in the inventory, in [[item frame]]s and on [[armor stand]]s. As there are different variants of some blocks, '''block states''' are used to link these with the corresponding models. Each model and each block state has its own file, which is of the <code>.json</code> format. Even the icons used in the inventory are defined in these files.
+
'''Block models''' are used to depict all the blocks in the game, whereas '''item models''' are used to display the items in the players, hand, on their head (helmets and hats), on the ground, in the inventory, in [[item frame]]s and on [[armor stand]]s. As there are different variants of some blocks, '''block states''' are used to link these with the corresponding models. Each model and each block state has its own file, which is of the <code>.json</code> format. Even the icons used in the inventory are defined in these files.
   
 
== File path ==
 
== File path ==
In JSON files of models and block states, the namespaced ID in the form of <code>namespace:name</code> (the namespace <code> minecraft:</code> can be omitted) is used to represent the local file path. See also [[Namespaced ID#Locating contents in packs]].
+
In JSON files of models and block states, the resource location in the form of <code>namespace:path</code> (the <code>minecraft</code> namespace can be omitted) is used to represent the local file path. See also [[Resource_location#Locating_contents_in_packs]].
   
In these files, the path corresponding to the namespaced ID <code>namespace:name</code> is <code>assets/''namespace''/object_type/''name''.suffix</code>, where the name can contain subfolders separated by <code>/</code>, such as namespace:foo/bar/baz (foo and bar are folders, baz is the real file name).
+
In these files, the path corresponding to the resource location <code>namespace:path</code> is <code>assets/''namespace''/''object_type''/''path''.''suffix''</code>, where the path can contain subfolders separated by <code>/</code>, such as <code>namespace:foo/bar/baz</code> (<code>foo</code> and <code>bar</code> are folders, <code>baz</code> is the real file name).
   
The object specified by namespaced ID and its corresponding <code>object_type</code> and <code>suffix</code> are as follows:
+
The object specified by a resource location and its corresponding object type and suffix are as follows:
   
 
{|class="wikitable"
 
{|class="wikitable"
!Object!!<code>object_type</code> substitution!!<code>suffix</code> substitution
+
!Object!!<code>''object_type''</code> substitution!!<code>''suffix''</code> substitution
 
|-
 
|-
|Block States||blockstates||json
+
|Block States||<code>blockstates</code>||<code>json</code>
 
|-
 
|-
|Models||models||json
+
|Models||<code>models</code>||<code>json</code>
 
|-
 
|-
|Textures||textures||png
+
|Textures||<code>textures</code>||<code>png</code>
 
|}
 
|}
   
Line 23: Line 23:
 
There are several different variants of some blocks (like [[door]]s, which can be open or closed), hence each block has its own [[block state]] file, which lists all its existing variants and links them to their corresponding models. Blocks can also be compound of several different models at the same time, called "multipart". The models are then used depending on the block states of the block.
 
There are several different variants of some blocks (like [[door]]s, which can be open or closed), hence each block has its own [[block state]] file, which lists all its existing variants and links them to their corresponding models. Blocks can also be compound of several different models at the same time, called "multipart". The models are then used depending on the block states of the block.
   
These files are stored in the following folder: <code>assets/<namespace>/blockstates</code>. The files are used directly based on their filename, thus a block state file with another name than the existing ones does not affect any block.
+
These files are stored in the following folder: <code>assets/''<namespace>''/blockstates</code>. The files are used directly based on their filename, thus a block state file with another name than the existing ones does not affect any block.
   
 
<div class="treeview">
 
<div class="treeview">
Line 30: Line 30:
 
*** {{nbt|compound}}or{{nbt|list|A variant}}: Name of a variant, which consists of the relevant block states separated by commas. A block with just one variant uses <code>""</code> as a name for its variant. Each variant can have '''one model''' or an '''array of models''' and contains their properties. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary {{nbt|compound}}-tags. Item frames are treated as blocks and use <code>"map=false"</code> for a map-less item frame, and <code>"map=true"</code> for item frames with maps.
 
*** {{nbt|compound}}or{{nbt|list|A variant}}: Name of a variant, which consists of the relevant block states separated by commas. A block with just one variant uses <code>""</code> as a name for its variant. Each variant can have '''one model''' or an '''array of models''' and contains their properties. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary {{nbt|compound}}-tags. Item frames are treated as blocks and use <code>"map=false"</code> for a map-less item frame, and <code>"map=true"</code> for item frames with maps.
 
**** {{nbt|compound|A model}}: Contains the properties of a model, if more than one model is used for the same variant. All specified models alternate in the game.
 
**** {{nbt|compound|A model}}: Contains the properties of a model, if more than one model is used for the same variant. All specified models alternate in the game.
***** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of [[#File path|namespaced ID]].
+
***** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of a [[#File path|resource location]].
 
***** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
***** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
***** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
 
***** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
 
***** {{nbt|byte|uvlock}}: Can be <code>true</code> or <code>false</code> (default). Locks the rotation of the texture of a block, if set to <code>true</code>. This way the texture does not rotate with the block when using the x and y-tags above.
 
***** {{nbt|byte|uvlock}}: Can be <code>true</code> or <code>false</code> (default). Locks the rotation of the texture of a block, if set to <code>true</code>. This way the texture does not rotate with the block when using the x and y-tags above.
 
***** {{nbt|int|weight}}: Sets the probability of the model for being used in the game, defaults to 1 (=100%). If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2). The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.)
 
***** {{nbt|int|weight}}: Sets the probability of the model for being used in the game, defaults to 1 (=100%). If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2). The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.)
**** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of [[#File path|namespaced ID]].
+
**** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of a [[#File path|resource location]].
 
**** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
**** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
**** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
 
**** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
Line 48: Line 48:
 
**** {{nbt|compound}}{{nbt|list|apply}}: Determines the model(s) to apply and its properties. There can be '''one model''' or an '''array of models'''. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary {{nbt|compound}}-tags.
 
**** {{nbt|compound}}{{nbt|list|apply}}: Determines the model(s) to apply and its properties. There can be '''one model''' or an '''array of models'''. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary {{nbt|compound}}-tags.
 
***** {{nbt|compound|A model}}: Contains the properties of a model, if more than one model is used for the same variant. All specified models alternate in the game.
 
***** {{nbt|compound|A model}}: Contains the properties of a model, if more than one model is used for the same variant. All specified models alternate in the game.
****** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of [[#File path|namespaced ID]].
+
****** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of a [[#File path|resource location]].
 
****** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
****** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
****** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
 
****** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
 
****** {{nbt|byte|uvlock}}: Can be <code>true</code> or <code>false</code> (default). Locks the rotation of the texture of a block, if set to <code>true</code>. This way the texture does not rotate with the block when using the x and y-tags above.
 
****** {{nbt|byte|uvlock}}: Can be <code>true</code> or <code>false</code> (default). Locks the rotation of the texture of a block, if set to <code>true</code>. This way the texture does not rotate with the block when using the x and y-tags above.
 
****** {{nbt|int|weight}}: Sets the probability of the model for being used in the game, defaults to 1 (=100%). If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2). The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.)
 
****** {{nbt|int|weight}}: Sets the probability of the model for being used in the game, defaults to 1 (=100%). If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2). The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.)
***** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of [[#File path|namespaced ID]].
+
***** {{nbt|string|model}}: Specifies the path to the model file of the block, in form of a [[#File path|resource location]].
 
***** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
***** {{nbt|int|x}}: Rotation of the model on the x-axis in increments of 90 degrees.
 
***** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
 
***** {{nbt|int|y}}: Rotation of the model on the y-axis in increments of 90 degrees.
Line 128: Line 128:
 
}
 
}
 
</source>
 
</source>
While the first model, the fence post, is always used, the other models are used only if certain conditions are met. Here the sides of the fence are applied only if there is another adjacent block next to this one. As there is just one model for the post and another one for all the sides of the fence, which then is rotated by increments of 90 degrees, the amount of models needed for all the different possible set-ups of fences can be reduced to two. Compared to the five models and 16 variants used in [[Java Edition 1.8]], this is a rather big improvement. This tool helps to edit JSON data [https://jsonformatter.org/json-parser JSON Parser] and you can also use [https://jsonhome.com Json validator].
+
While the first model, the fence post, is always used, the other models are used only if certain conditions are met. Here the sides of the fence are applied only if there is another adjacent block next to this one. As there is just one model for the post and another one for all the sides of the fence, which then is rotated by increments of 90 degrees, the amount of models needed for all the different possible set-ups of fences can be reduced to two. Compared to the five models and 16 variants used in [[Java Edition 1.8]], this is a rather big improvement. This tool helps to edit JSON data [https://onlinejsontools.org/ JSON Parser] and you can also use [https://codeconvertertools.org/jsonviewer Json validator].
   
 
=== Example: Redstone Wire ===
 
=== Example: Redstone Wire ===
Line 193: Line 193:
 
== Block models ==
 
== Block models ==
   
The folder <code>assets/<namespace>/models/block</code> holds the model files for all the specified variants. The names of the files can be changed, but must always correspond with the names used in the variant files.
+
The folder <code>assets/''<namespace>''/models/block</code> holds the model files for all the specified variants. The names of the files can be changed, but must always correspond with the names used in the variant files.
   
 
<div class="treeview">
 
<div class="treeview">
 
* {{nbt|compound}} The root tag
 
* {{nbt|compound}} The root tag
** {{nbt|string|parent}}: Loads a different model from the given path, in form of [[#File path|namespaced ID]]. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
+
** {{nbt|string|parent}}: Loads a different model from the given path, in form of a [[#File path|resource location]]. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
 
*** Can be set to <code>"builtin/generated"</code> to use a model that is created out of the specified icon. Note that only the first layer is supported, and rotation can be achieved only by using block states files.
 
*** Can be set to <code>"builtin/generated"</code> to use a model that is created out of the specified icon. Note that only the first layer is supported, and rotation can be achieved only by using block states files.
 
** {{nbt|byte|ambientocclusion}}: Whether to use [http://en.wikipedia.org/wiki/Ambient_occlusion ambient occlusion] (<code>true</code> - default), or not (<code>false</code>).
 
** {{nbt|byte|ambientocclusion}}: Whether to use [http://en.wikipedia.org/wiki/Ambient_occlusion ambient occlusion] (<code>true</code> - default), or not (<code>false</code>).
Line 203: Line 203:
 
*** {{nbt|compound|''Position''}}: Named <code>thirdperson_righthand</code>, <code>thirdperson_lefthand</code>, <code>firstperson_righthand</code>, <code>firstperson_lefthand</code>, <code>gui</code>, <code>head</code>, <code>ground</code>, or <code>fixed</code>. Place where an item model is displayed. Holds its rotation, translation and scale for the specified situation. '''fixed''' refers to item frames, while the rest are as their name states. Note that translations are applied to the model before rotations.
 
*** {{nbt|compound|''Position''}}: Named <code>thirdperson_righthand</code>, <code>thirdperson_lefthand</code>, <code>firstperson_righthand</code>, <code>firstperson_lefthand</code>, <code>gui</code>, <code>head</code>, <code>ground</code>, or <code>fixed</code>. Place where an item model is displayed. Holds its rotation, translation and scale for the specified situation. '''fixed''' refers to item frames, while the rest are as their name states. Note that translations are applied to the model before rotations.
 
**** {{nbt|list|rotation}}: Specifies the rotation of the model according to the scheme <code>[x, y, z]</code>.
 
**** {{nbt|list|rotation}}: Specifies the rotation of the model according to the scheme <code>[x, y, z]</code>.
**** {{nbt|list|translation}}: Specifies the position of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 80, it is displayed as 80. If the value is less than -80, it is displayed as -80.
+
**** {{nbt|list|translation}}: Specifies the position of the model according to the scheme <code>[x, y, z]</code>. The values are clamped between -80 and 80.
 
**** {{nbt|list|scale}}: Specifies the scale of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 4, it is displayed as 4.
 
**** {{nbt|list|scale}}: Specifies the scale of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 4, it is displayed as 4.
** {{nbt|compound|textures}}: Holds the textures of the model, in form of [[#File path|namespaced ID]] or can be another texture variable.
+
** {{nbt|compound|textures}}: Holds the textures of the model, in form of a [[#File path|resource location]] or can be another texture variable.
*** {{nbt|string|particle}}: What texture to load particles from. This texture is used if you are in a [[nether portal]]. Note: All breaking particles from non-model blocks are hard-coded.
+
*** {{nbt|string|particle}}: What texture to load particles from. This texture is used if you are in a [[nether portal]].{{info needed|Is it also used for the fire animation in front of the player, or the suffocation overlay?}} Also used for [[water]] and [[lava]]'s still textures.<ref>{{bug|MC-240042}}</ref> Note: All breaking particles from non-model blocks are hard-coded.{{info needed|Those being? They definitely seem customizable in the latest version}}
 
*** {{nbt|string|''Texture variable''}}: Defines a texture variable and assigns a texture.
 
*** {{nbt|string|''Texture variable''}}: Defines a texture variable and assigns a texture.
 
** {{nbt|list|elements}}: Contains all the elements of the model. They can have only cubic forms. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
 
** {{nbt|list|elements}}: Contains all the elements of the model. They can have only cubic forms. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
 
*** {{nbt|compound}} An element.
 
*** {{nbt|compound}} An element.
**** {{nbt|list|from}}: Start point of a cube according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
+
**** {{nbt|list|from}}: Start point of a cuboid according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
**** {{nbt|list|to}}: Stop point of a cube according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
+
**** {{nbt|list|to}}: Stop point of a cuboid according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
 
**** {{nbt|compound|rotation}}: Defines the rotation of an element.
 
**** {{nbt|compound|rotation}}: Defines the rotation of an element.
 
***** {{nbt|list|origin}}: Sets the center of the rotation according to the scheme <code>[x, y, z]</code>.
 
***** {{nbt|list|origin}}: Sets the center of the rotation according to the scheme <code>[x, y, z]</code>.
Line 218: Line 218:
 
***** {{nbt|byte|rescale}}: Specifies whether or not to scale the faces across the whole block. Can be true or false. Defaults to false.
 
***** {{nbt|byte|rescale}}: Specifies whether or not to scale the faces across the whole block. Can be true or false. Defaults to false.
 
**** {{nbt|byte|shade}}: Defines if shadows are rendered (<code>true</code> - default), not (<code>false</code>).
 
**** {{nbt|byte|shade}}: Defines if shadows are rendered (<code>true</code> - default), not (<code>false</code>).
**** {{nbt|compound|faces}}: Holds all the faces of the cube. If a face is left out, it does not render.
+
**** {{nbt|compound|faces}}: Holds all the faces of the cuboid. If a face is left out, it does not render.
 
***** {{nbt|compound|''Face''}}: Named <code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code> or <code>east</code>. Contains the properties of the specified face.
 
***** {{nbt|compound|''Face''}}: Named <code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code> or <code>east</code>. Contains the properties of the specified face.
 
****** {{nbt|list|uv:}} Defines the area of the texture to use according to the scheme <code>[x1, y1, x2, y2]</code>. If unset, it defaults to values equal to xyz position of the element. The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of <code>x1</code> and <code>x2</code> are swapped (e.g. from <code>0, 0, 16, 16</code> to <code>16, 0, 0, 16</code>), the texture flips. UV is optional, and if not supplied it automatically generates based on the element's position.
 
****** {{nbt|list|uv:}} Defines the area of the texture to use according to the scheme <code>[x1, y1, x2, y2]</code>. If unset, it defaults to values equal to xyz position of the element. The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of <code>x1</code> and <code>x2</code> are swapped (e.g. from <code>0, 0, 16, 16</code> to <code>16, 0, 0, 16</code>), the texture flips. UV is optional, and if not supplied it automatically generates based on the element's position.
 
****** {{nbt|string|texture:}} Specifies the texture in form of the texture variable prepended with a <code>#</code>.
 
****** {{nbt|string|texture:}} Specifies the texture in form of the texture variable prepended with a <code>#</code>.
****** {{nbt|string|cullface:}} Specifies whether a face does not need to be rendered when there is a block touching it in the specified position. The position can be: <code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code>, or <code>east</code>. It also determines the side of the block to use the light level from for lighting the face, and if unset, defaults to the side.
+
****** {{nbt|string|cullface:}} Specifies whether a face does not need to be rendered when there is a block touching it in the specified position. The position can be: <code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code>, or <code>east</code>. It also determines the side of the block to use the light level from for lighting the face, and if unset, defaults to the side. <code>bottom</code> may also be used in the latest versions instead of <code>down</code>, despite appearing only once in the actual game assets.
 
****** {{nbt|int|rotation}}: Rotates the texture by the specified number of degrees. Can be 0, 90, 180, or 270. Defaults to 0. Rotation does not affect which part of the texture is used. Instead, it amounts to permutation of the selected texture vertexes (selected implicitly, or explicitly though <code>uv</code>).
 
****** {{nbt|int|rotation}}: Rotates the texture by the specified number of degrees. Can be 0, 90, 180, or 270. Defaults to 0. Rotation does not affect which part of the texture is used. Instead, it amounts to permutation of the selected texture vertexes (selected implicitly, or explicitly though <code>uv</code>).
****** {{nbt|int|tintindex}}: Determines whether to tint the texture using a hardcoded tint index. The default is not using the tint, and any number causes it to use tint. Note that only certain blocks have a tint index; all others are unaffected.
+
****** {{nbt|int|tintindex}}: Determines whether to tint the texture using a hardcoded tint index. The default value, -1, indicates not to use the tint. Any other number is provided to BlockColors to get the tint value corresponding to that index. However, most blocks do not have a tint value defined (in which case white is used). Furthermore, no vanilla block currently uses multiple tint values, and thus the tint index value is ignored (as long as it is set to something other than -1); it could be used for modded blocks that need multiple distinct tint values in the same block though.
   
   
Line 268: Line 268:
 
</source>
 
</source>
   
This file is used to create the model of the torch, which is used for the normal, [[redstone torch]] and the [[soul fire torch]]. Therefore, the <code>"elements"</code> tag is used to create three elements or cubes. Only two faces of each cube are rendered, as only two faces of each one have been specified. <code>"uv"</code> is used to determine the area where the texture is used. The texture variable <code>"#torch"</code> is used for the particles and the cubes and has not yet been defined.
+
This file is used to create the model of the torch, which is used for the normal, [[redstone torch]] and the [[soul fire torch]]. Therefore, the <code>"elements"</code> tag is used to create three elements or cuboids. Only two faces of each cuboid are rendered, as only two faces of each one have been specified. <code>"uv"</code> is used to determine the area where the texture is used. The texture variable <code>"#torch"</code> is used for the particles and the cuboids and has not yet been defined.
   
 
; torch.json
 
; torch.json
Line 280: Line 280:
 
</source>
 
</source>
   
This file represents the model of the normal standing torch. It loads the model of previously defined standing torch with the help of <code>"parent"</code> and inherits all the properties of the file <code>torch.json</code>. As this file is used only for the normal torch, the texture can now be specified. The texture<code>"torch"</code> is now assigned to the texture variable <code>"torch"</code> (in form of [[#File path|namespaced ID]]) and therefore is used for the previously loaded model and its particles, as specified in the other file.
+
This file represents the model of the normal standing torch. It loads the model of previously defined standing torch with the help of <code>"parent"</code> and inherits all the properties of the file <code>template_torch.json</code>. As this file is used only for the normal torch, the texture can now be specified. The texture<code>"torch"</code> is now assigned to the texture variable <code>"torch"</code> (in form of a [[#File path|resource location]]) and therefore is used for the previously loaded model and its particles, as specified in the other file.
   
 
=== Example: Any Block ===
 
=== Example: Any Block ===
Line 441: Line 441:
 
== Item models ==
 
== Item models ==
   
As [[item]]s do not have different variants, there is no need to specify them. The folder <code>assets/<namespace>/models/item</code> contains all the model files. The names of the files are hardcoded and should not be changed.
+
As [[item]]s do not have different variants, there is no need to specify them. The folder <code>assets/''<namespace>''/models/item</code> contains all the model files. The names of the files are hardcoded and should not be changed.
   
 
<div class="treeview">
 
<div class="treeview">
 
* {{nbt|compound}}: The root tag
 
* {{nbt|compound}}: The root tag
**{{nbt|string|parent}}: Loads a different model from the given path, in form of [[#File path|namespaced ID]]. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
+
**{{nbt|string|parent}}: Loads a different model from the given path, in form of a [[#File path|resource location]]. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
 
*** Can be set to <code>"item/generated"</code> to use a model that is created out of the specified icon.
 
*** Can be set to <code>"item/generated"</code> to use a model that is created out of the specified icon.
 
*** Can be set to <code>"builtin/entity"</code> to load a model from an entity file. As you cannot specify the entity, this does not work for all items (only for [[chest]]s, [[ender chest]]s, [[mob head]]s, [[shield]]s, [[banner]]s and [[trident]]s).
 
*** Can be set to <code>"builtin/entity"</code> to load a model from an entity file. As you cannot specify the entity, this does not work for all items (only for [[chest]]s, [[ender chest]]s, [[mob head]]s, [[shield]]s, [[banner]]s and [[trident]]s).
Line 453: Line 453:
 
**** {{nbt|list|translation}}: Specifies the position of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 80, it is displayed as 80. If the value is less than -80, it is displayed as -80.
 
**** {{nbt|list|translation}}: Specifies the position of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 80, it is displayed as 80. If the value is less than -80, it is displayed as -80.
 
**** {{nbt|list|scale}}: Specifies the scale of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 4, it is displayed as 4.
 
**** {{nbt|list|scale}}: Specifies the scale of the model according to the scheme <code>[x, y, z]</code>. If the value is greater than 4, it is displayed as 4.
** {{nbt|compound|textures}}: Holds the textures of the model, in form of [[#File path|namespaced ID]] or can be another texture variable.
+
** {{nbt|compound|textures}}: Holds the textures of the model, in form of a [[#File path|resource location]] or can be another texture variable.
*** {{nbt|string|layer#}}: Only used to specify the icon of the item used in the inventory. There can be more than just one layer (e.g. for [[spawn egg]]s), but the amount of possible layers is hardcoded for each item. Works only in combination with <code>"builtin/generated"</code>.
+
*** {{nbt|string|layer''N''}}: Only used to specify the icon of the item used in the inventory. There can be more than just one layer (e.g. for [[spawn egg]]s), but the amount of possible layers is hardcoded for each item. Works only in combination with <code>"item/generated"</code>.
 
*** {{nbt|string|particle}}: What texture to load particles from. Used to determine the "crumb" particles generated by food items, as well as to determine the [[barrier]] particle (but it always uses <code>items/barrier.png</code> as blockbreaking particle), which otherwise uses "layer0".
 
*** {{nbt|string|particle}}: What texture to load particles from. Used to determine the "crumb" particles generated by food items, as well as to determine the [[barrier]] particle (but it always uses <code>items/barrier.png</code> as blockbreaking particle), which otherwise uses "layer0".
 
*** {{nbt|string|''Texture variable''}}: Defines a texture variable and assigns a texture.
 
*** {{nbt|string|''Texture variable''}}: Defines a texture variable and assigns a texture.
** {{nbt|string|gui_light}}: Can be <code>"front"</code> or <code>"side"</code>. If set to <code>"side"</code>, the model is rendered like a block. If set to <code>"front"</code>, model is shaded like a flat item.
+
** {{nbt|string|gui_light}}: Can be <code>"front"</code> or <code>"side"</code>. If set to <code>"side"</code>, the model is rendered like a block. If set to <code>"front"</code>, model is shaded like a flat item. Defaults to <code>"side"</code>.
 
** {{nbt|list|elements}}: Contains all the elements of the model. They can have only cubic forms. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
 
** {{nbt|list|elements}}: Contains all the elements of the model. They can have only cubic forms. If both <code>"parent"</code> and <code>"elements"</code> are set, the <code>"elements"</code> tag overrides the <code>"elements"</code> tag from the previous model.
 
*** {{nbt|compound}} An element.
 
*** {{nbt|compound}} An element.
**** {{nbt|list|from}}: Start point of a cube according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
+
**** {{nbt|list|from}}: Start point of a cuboid according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
**** {{nbt|list|to}}: Stop point of a cube according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
+
**** {{nbt|list|to}}: Stop point of a cuboid according to the scheme <code>[x, y, z]</code>. Values must be between -16 and 32.
 
**** {{nbt|compound|rotation}}: Defines the rotation of an element.
 
**** {{nbt|compound|rotation}}: Defines the rotation of an element.
 
***** {{nbt|list|origin}}: Sets the center of the rotation according to the scheme <code>[x, y, z]</code>.
 
***** {{nbt|list|origin}}: Sets the center of the rotation according to the scheme <code>[x, y, z]</code>.
Line 468: Line 468:
 
***** {{nbt|byte|rescale}}: Specifies whether or not to scale the faces across the whole block. Can be true or false. Defaults to false.
 
***** {{nbt|byte|rescale}}: Specifies whether or not to scale the faces across the whole block. Can be true or false. Defaults to false.
 
**** {{nbt|byte|shade}}: Defines if shadows are rendered (<code>true</code> - default), not (<code>false</code>).
 
**** {{nbt|byte|shade}}: Defines if shadows are rendered (<code>true</code> - default), not (<code>false</code>).
**** {{nbt|compound|faces}}: Holds all the faces of the cube. If a face is left out, it does not render.
+
**** {{nbt|compound|faces}}: Holds all the faces of the cuboid. If a face is left out, it does not render.
 
***** {{nbt|compound|''Face''}}: Named <code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code> or <code>east</code>. Contains the properties of the specified face.
 
***** {{nbt|compound|''Face''}}: Named <code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code> or <code>east</code>. Contains the properties of the specified face.
 
****** {{nbt|list|uv:}} Defines the area of the texture to use according to the scheme <code>[x1, y1, x2, y2]</code>. If unset, it defaults to values equal to xyz position of the element. The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of <code>x1</code> and <code>x2</code> are swapped (e.g. from <code>0, 0, 16, 16</code> to <code>16, 0, 0, 16</code>), the texture flips. UV is optional, and if not supplied it automatically generates based on the element's position.
 
****** {{nbt|list|uv:}} Defines the area of the texture to use according to the scheme <code>[x1, y1, x2, y2]</code>. If unset, it defaults to values equal to xyz position of the element. The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of <code>x1</code> and <code>x2</code> are swapped (e.g. from <code>0, 0, 16, 16</code> to <code>16, 0, 0, 16</code>), the texture flips. UV is optional, and if not supplied it automatically generates based on the element's position.
Line 479: Line 479:
 
****{{nbt|compound|predicate}}: Holds the cases.
 
****{{nbt|compound|predicate}}: Holds the cases.
 
*****{{nbt|string|''Case''}} A single case tag. See [[#Item predicates|item predicates]] for a full list of available tags.
 
*****{{nbt|string|''Case''}} A single case tag. See [[#Item predicates|item predicates]] for a full list of available tags.
**** {{nbt|string|model}}: The path to the model to use if the case is met, in form of [[#File path|namespaced ID]].
+
**** {{nbt|string|model}}: The path to the model to use if the case is met, in form of a [[#File path|resource location]].
 
</div>
 
</div>
   
Line 588: Line 588:
   
 
In this model, the normal model is overridden if the fishing rod is cast, causing it to instead display the model <code>"item/fishing_rod_cast"</code>
 
In this model, the normal model is overridden if the fishing rod is cast, causing it to instead display the model <code>"item/fishing_rod_cast"</code>
  +
  +
== Objects which cannot be remodelled ==
  +
{{info needed section|Test invisible blocks (air, cave air, void air, barrier, structure void, light block), trident, bell}}
  +
While most blocks and items can have their model changed, there are a multitude of things that cannot:
  +
  +
* Fluids
  +
** including bubble columns
  +
* Entities
  +
** (excluding [[item frame]]s, [[glow item frame]]s, and [[shield]]s)
  +
* Blocks which render as entities
  +
** Chests
  +
*** Chest
  +
*** Trapped Chest
  +
*** Ender Chest
  +
** Signs
  +
*** All 16 versions (8 wood types, and floor/wall)
  +
** Beds
  +
*** All 16 colors
  +
** Shulker boxes
  +
*** All 16 colors
  +
** Heads
  +
*** All 12 versions (6 types, and floor/wall)
  +
** Banner
  +
*** All 32 versions (16 colors, and floor/wall)
  +
** Conduit
  +
** Book on enchanting table
  +
** End Portal
  +
** End Gateway
  +
** Moving Piston
  +
  +
Most blocks have particle textures defined in dedicated model files, however it still stands that actual visual models cannot be changed.
   
 
== History ==
 
== History ==
 
{{needs updating|Nearly everything after 1.9 is missing|section==}}
 
{{needs updating|Nearly everything after 1.9 is missing|section==}}
  +
{{History|java pre-classic}}
  +
{{History||?|Blocks exist, however their models are completely hardcoded, and as such cannot be configured outside of modding.}}
 
{{History|java}}
 
{{History|java}}
{{History||1.7.2|snap=13w36a|[[Flower]]s are now discentered like [[tall grass]].}}
 
 
{{History||1.8|snap=14w06a|Added custom [[block]] models.}}
 
{{History||1.8|snap=14w06a|Added custom [[block]] models.}}
 
{{History|||snap=14w07a|The model format has now been rewritten. Instead of having just "planes", it now has "planes" and "cubes".
 
{{History|||snap=14w07a|The model format has now been rewritten. Instead of having just "planes", it now has "planes" and "cubes".
Line 621: Line 653:
 
|"display" tag defaults have now been changed, and the <code>"thirdperson"</code> and <code>"firstperson"</code> tags have now been replaced with <code>"thirdperson_righthand"</code>, <code>"thirdperson_lefthand"</code>, <code>"firstperson_righthand"</code>, and <code>"firstperson_lefthand"</code>.
 
|"display" tag defaults have now been changed, and the <code>"thirdperson"</code> and <code>"firstperson"</code> tags have now been replaced with <code>"thirdperson_righthand"</code>, <code>"thirdperson_lefthand"</code>, <code>"firstperson_righthand"</code>, and <code>"firstperson_lefthand"</code>.
 
|"parent" and "elements" tags can now coexist, though the top level elements tag overwrites all former ones.
 
|"parent" and "elements" tags can now coexist, though the top level elements tag overwrites all former ones.
|The option to disable alternate [[block]] models has now been removed.}}
+
|The option to disable alternate [[block]] models has now been removed.
  +
|Multipart tag functionality added.}}
 
{{History||1.14|snap=18w43a|Added the item model property <code>"custom_model_data"</code>.}}
 
{{History||1.14|snap=18w43a|Added the item model property <code>"custom_model_data"</code>.}}
 
{{History||1.15|snap=19w39a|Lighting of blocks in the inventory has been swapped from being dark on the right to being dark on the left.}}
 
{{History||1.15|snap=19w39a|Lighting of blocks in the inventory has been swapped from being dark on the right to being dark on the left.}}
Line 631: Line 664:
 
[[de:Modelldaten]]
 
[[de:Modelldaten]]
 
[[fr:Modèles]]
 
[[fr:Modèles]]
 
[[ja:モデル]]
 
[[pl:Modele bloków]]
 
[[pl:Modele bloków]]
 
[[zh:模型]]
 
[[zh:模型]]
[[ja:モデル]]
 

Revision as of 12:46, 22 November 2021

Information icon
This feature is exclusive to Java Edition. 

Block models are used to depict all the blocks in the game, whereas item models are used to display the items in the players, hand, on their head (helmets and hats), on the ground, in the inventory, in item frames and on armor stands. As there are different variants of some blocks, block states are used to link these with the corresponding models. Each model and each block state has its own file, which is of the .json format. Even the icons used in the inventory are defined in these files.

File path

In JSON files of models and block states, the resource location in the form of namespace:path (the minecraft namespace can be omitted) is used to represent the local file path. See also Resource_location#Locating_contents_in_packs.

In these files, the path corresponding to the resource location namespace:path is assets/namespace/object_type/path.suffix, where the path can contain subfolders separated by /, such as namespace:foo/bar/baz (foo and bar are folders, baz is the real file name).

The object specified by a resource location and its corresponding object type and suffix are as follows:

Object object_type substitution suffix substitution
Block States blockstates json
Models models json
Textures textures png

Block states

There are several different variants of some blocks (like doors, which can be open or closed), hence each block has its own block state file, which lists all its existing variants and links them to their corresponding models. Blocks can also be compound of several different models at the same time, called "multipart". The models are then used depending on the block states of the block.

These files are stored in the following folder: assets/<namespace>/blockstates. The files are used directly based on their filename, thus a block state file with another name than the existing ones does not affect any block.

  • The root tag
    •  variants: Holds the names of all the variants of the block.
      • or A variant: Name of a variant, which consists of the relevant block states separated by commas. A block with just one variant uses "" as a name for its variant. Each variant can have one model or an array of models and contains their properties. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary -tags. Item frames are treated as blocks and use "map=false" for a map-less item frame, and "map=true" for item frames with maps.
        •  A model: Contains the properties of a model, if more than one model is used for the same variant. All specified models alternate in the game.
          •  model: Specifies the path to the model file of the block, in form of a resource location.
          •  x: Rotation of the model on the x-axis in increments of 90 degrees.
          •  y: Rotation of the model on the y-axis in increments of 90 degrees.
          •  uvlock: Can be true or false (default). Locks the rotation of the texture of a block, if set to true. This way the texture does not rotate with the block when using the x and y-tags above.
          •  weight: Sets the probability of the model for being used in the game, defaults to 1 (=100%). If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2). The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.)
        •  model: Specifies the path to the model file of the block, in form of a resource location.
        •  x: Rotation of the model on the x-axis in increments of 90 degrees.
        •  y: Rotation of the model on the y-axis in increments of 90 degrees.
        •  uvlock: Can be true or false (default). Locks the rotation of the texture of a block, if set to true. This way the texture does not rotate with the block when using the x and y-tags above.
    •  multipart: Used instead of variants to combine models based on block state attributes.
      •  A case Determines a case and the model that should apply in that case.
        •  when: A list of cases that have to be met for the model to be applied. If unset, the model always applies.
          •  OR: Matches if any of the contained cases return true. Cannot be set alongside other cases.
            •  A condition A list of cases that all have to match the block to return true.
              •  State Name of a block state. A single case that has to match one of the block states. It can be set to a list separated by | to allow multiple values to match.
          •  State Name of a block state. A single case that has to match one of the block states. It can be set to a list separated by | to allow multiple values to match. Cannot be set alongside the OR-tag.
        •  apply: Determines the model(s) to apply and its properties. There can be one model or an array of models. If set to an array, the model is chosen randomly from the options given, with each option being specified in separate subsidiary -tags.
          •  A model: Contains the properties of a model, if more than one model is used for the same variant. All specified models alternate in the game.
            •  model: Specifies the path to the model file of the block, in form of a resource location.
            •  x: Rotation of the model on the x-axis in increments of 90 degrees.
            •  y: Rotation of the model on the y-axis in increments of 90 degrees.
            •  uvlock: Can be true or false (default). Locks the rotation of the texture of a block, if set to true. This way the texture does not rotate with the block when using the x and y-tags above.
            •  weight: Sets the probability of the model for being used in the game, defaults to 1 (=100%). If more than one model is used for the same variant, the probability is calculated by dividing the individual model's weight by the sum of the weights of all models. (For example, if three models are used with weights 1, 1, and 2, then their combined weight would be 4 (1+1+2). The probability of each model being used would then be determined by dividing each weight by 4: 1/4, 1/4 and 2/4, or 25%, 25% and 50%, respectively.)
          •  model: Specifies the path to the model file of the block, in form of a resource location.
          •  x: Rotation of the model on the x-axis in increments of 90 degrees.
          •  y: Rotation of the model on the y-axis in increments of 90 degrees.
          •  uvlock: Can be true or false (default). Locks the rotation of the texture of a block, if set to true. This way the texture does not rotate with the block when using the x and y-tags above.
"uvlock": true "uvlock": false
Uvlock true Uvlock false

Example: Wall Torch

The wall torch has several variants: It can be placed at a wall facing in four different directions. This example is taken from the file wall_torch.json, which can be found at assets/minecraft/blockstates.

wall_torch.json
{
    "variants": {
        "facing=east": { "model": "block/wall_torch" },
        "facing=south": { "model": "block/wall_torch", "y": 90 },
        "facing=west": { "model": "block/wall_torch", "y": 180 },
        "facing=north": { "model": "block/wall_torch", "y": 270 }
    }
}

A torch can be placed on all four sides of a block and therefore needs four different variants, one for each side. These are called "facing=east", "facing=west", "facing=south" and "facing=north". All four variants use "block/wall_torch" as their model, which is rotated by a multiple of 90 degrees around the "y" axis to align with the different sides of the block they are placed on.

Example: Grass Block

The grass block has two variants, whereby the first one holds four different models. This example is taken from the file grass_block.json, which can be found at assets/minecraft/blockstates.

grass_block.json
{
    "variants": {
        "snowy=false": [
            { "model": "block/grass_block" },
            { "model": "block/grass_block", "y": 90 },
            { "model": "block/grass_block", "y": 180 },
            { "model": "block/grass_block", "y": 270 }
        ],
        "snowy=true":  { "model": "block/grass_block_snow" }
    }
}

The non-snow-covered grass block ("snowy=false") holds four models, which all use the same block model, but each one is rotated by a multiple of 90 degrees. As there are four models and the weight-tag is not used for any of them, each one has a chance of 25% to be used every time a block is placed.

Example: Oak Fence

The oak fence uses the multipart format. This example is taken from oak_fence.json in assets/minecraft/blockstates.

oak_fence.json
{
    "multipart": [
        {   "apply": { "model": "block/oak_fence_post" }},
        {   "when": { "north": "true" },
            "apply": { "model": "block/oak_fence_side", "uvlock": true }
        },
        {   "when": { "east": "true" },
            "apply": { "model": "block/oak_fence_side", "y": 90, "uvlock": true }
        },
        {   "when": { "south": "true" },
            "apply": { "model": "block/oak_fence_side", "y": 180, "uvlock": true }
        },
        {   "when": { "west": "true" },
            "apply": { "model": "block/oak_fence_side", "y": 270, "uvlock": true }
        }
    ]
}

While the first model, the fence post, is always used, the other models are used only if certain conditions are met. Here the sides of the fence are applied only if there is another adjacent block next to this one. As there is just one model for the post and another one for all the sides of the fence, which then is rotated by increments of 90 degrees, the amount of models needed for all the different possible set-ups of fences can be reduced to two. Compared to the five models and 16 variants used in Java Edition 1.8, this is a rather big improvement. This tool helps to edit JSON data JSON Parser and you can also use Json validator.

Example: Redstone Wire

The redstone wire model uses the multipart format. This example is taken from redstone_wire.json in assets/minecraft/blockstates

redstone_wire.json
{
    "multipart": [
        {   "when": { "OR": [
                {"north": "none", "east": "none", "south": "none", "west": "none"},
                {"north": "side|up", "east": "side|up" },
                {"east": "side|up", "south": "side|up" },
                {"south": "side|up", "west": "side|up"},
                {"west": "side|up", "north": "side|up"}
            ]},
            "apply": { "model": "block/redstone_dust_dot" }
        },
        {   "when": { "OR": [
                { "north": "side|up" },
                { "north": "none", "east": "none", "south": "side|up", "west": "none" }
            ]},
            "apply": { "model": "block/redstone_dust_side0" }
        },
        {   "when": { "OR": [
                { "south": "side|up" },
                { "north": "side|up", "east": "none", "south": "none", "west": "none" }
            ]},
            "apply": { "model": "block/redstone_dust_side_alt0" }
        },
        {   "when": { "OR": [
                { "east": "side|up" },
                { "north": "none", "east": "none", "south": "none", "west": "side|up" }
            ]},
            "apply": { "model": "block/redstone_dust_side_alt1", "y": 270 }
        },
        {   "when": { "OR": [
                { "west": "side|up" },
                { "north": "none", "east": "side|up", "south": "none", "west": "none" }
            ]},
            "apply": { "model": "block/redstone_dust_side1", "y": 270 }
        },
        {   "when": { "north": "up" },
            "apply": { "model": "block/redstone_dust_up" }
        },
        {   "when": { "east": "up" },
            "apply": { "model": "block/redstone_dust_up", "y": 90 }
        },
        {   "when": { "south": "up" },
            "apply": { "model": "block/redstone_dust_up", "y": 180 }
        },
        {   "when": { "west": "up" },
            "apply": { "model": "block/redstone_dust_up", "y": 270 }
        }
    ]
}

This model is dynamically created. With the first condition, it is determining cases where the redstone_dust_dot model should be added, which requires either all of the four sides being set to "none", or any two sides that form a corner both being set either to up or side.

The last case tests only one condition, which asks if "west" is set to "up", and if so it applies the model redstone_dust_up.

Block models

The folder assets/<namespace>/models/block holds the model files for all the specified variants. The names of the files can be changed, but must always correspond with the names used in the variant files.

  • The root tag
    •  parent: Loads a different model from the given path, in form of a resource location. If both "parent" and "elements" are set, the "elements" tag overrides the "elements" tag from the previous model.
      • Can be set to "builtin/generated" to use a model that is created out of the specified icon. Note that only the first layer is supported, and rotation can be achieved only by using block states files.
    •  ambientocclusion: Whether to use ambient occlusion (true - default), or not (false).
    •  display: Holds the different places where item models are displayed.
      •  Position: Named thirdperson_righthand, thirdperson_lefthand, firstperson_righthand, firstperson_lefthand, gui, head, ground, or fixed. Place where an item model is displayed. Holds its rotation, translation and scale for the specified situation. fixed refers to item frames, while the rest are as their name states. Note that translations are applied to the model before rotations.
        •  rotation: Specifies the rotation of the model according to the scheme [x, y, z].
        •  translation: Specifies the position of the model according to the scheme [x, y, z]. The values are clamped between -80 and 80.
        •  scale: Specifies the scale of the model according to the scheme [x, y, z]. If the value is greater than 4, it is displayed as 4.
    •  textures: Holds the textures of the model, in form of a resource location or can be another texture variable.
    •  elements: Contains all the elements of the model. They can have only cubic forms. If both "parent" and "elements" are set, the "elements" tag overrides the "elements" tag from the previous model.
      • An element.
        •  from: Start point of a cuboid according to the scheme [x, y, z]. Values must be between -16 and 32.
        •  to: Stop point of a cuboid according to the scheme [x, y, z]. Values must be between -16 and 32.
        •  rotation: Defines the rotation of an element.
          •  origin: Sets the center of the rotation according to the scheme [x, y, z].
          •  axis: Specifies the direction of rotation, can be "x", "y" or "z".
          •  angle: Specifies the angle of rotation. Can be 45 through -45 degrees in 22.5 degree increments.
          •  rescale: Specifies whether or not to scale the faces across the whole block. Can be true or false. Defaults to false.
        •  shade: Defines if shadows are rendered (true - default), not (false).
        •  faces: Holds all the faces of the cuboid. If a face is left out, it does not render.
          •  Face: Named down, up, north, south, west or east. Contains the properties of the specified face.
            •  uv: Defines the area of the texture to use according to the scheme [x1, y1, x2, y2]. If unset, it defaults to values equal to xyz position of the element. The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of x1 and x2 are swapped (e.g. from 0, 0, 16, 16 to 16, 0, 0, 16), the texture flips. UV is optional, and if not supplied it automatically generates based on the element's position.
            •  texture: Specifies the texture in form of the texture variable prepended with a #.
            •  cullface: Specifies whether a face does not need to be rendered when there is a block touching it in the specified position. The position can be: down, up, north, south, west, or east. It also determines the side of the block to use the light level from for lighting the face, and if unset, defaults to the side. bottom may also be used in the latest versions instead of down, despite appearing only once in the actual game assets.
            •  rotation: Rotates the texture by the specified number of degrees. Can be 0, 90, 180, or 270. Defaults to 0. Rotation does not affect which part of the texture is used. Instead, it amounts to permutation of the selected texture vertexes (selected implicitly, or explicitly though uv).
            •  tintindex: Determines whether to tint the texture using a hardcoded tint index. The default value, -1, indicates not to use the tint. Any other number is provided to BlockColors to get the tint value corresponding to that index. However, most blocks do not have a tint value defined (in which case white is used). Furthermore, no vanilla block currently uses multiple tint values, and thus the tint index value is ignored (as long as it is set to something other than -1); it could be used for modded blocks that need multiple distinct tint values in the same block though.


Example: Standing Torch

For simplicity, this example describes only the standing torch, which is defined in the files torch.json and template_torch.json stored in the folder assets/minecraft/models/block.

template_torch.json
{
   "ambientocclusion": false,
   "textures": {
       "particle": "#torch"
   },
   "elements": [
       {   "from": [ 7, 0, 7 ],
           "to": [ 9, 10, 9 ],
           "shade": false,
           "faces": {
               "down": { "uv": [ 7, 13, 9, 15 ], "texture": "#torch" },
               "up":   { "uv": [ 7,  6, 9,  8 ], "texture": "#torch" }
           }
       },
       {   "from": [ 7, 0, 0 ],
           "to": [ 9, 16, 16 ],
           "shade": false,
           "faces": {
               "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" },
               "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" }
           }
       },
       {   "from": [ 0, 0, 7 ],
           "to": [ 16, 16, 9 ],
           "shade": false,
           "faces": {
               "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" },
               "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#torch" }
           }
       }
   ]
}

This file is used to create the model of the torch, which is used for the normal, redstone torch and the soul fire torch. Therefore, the "elements" tag is used to create three elements or cuboids. Only two faces of each cuboid are rendered, as only two faces of each one have been specified. "uv" is used to determine the area where the texture is used. The texture variable "#torch" is used for the particles and the cuboids and has not yet been defined.

torch.json
{
   "parent": "block/template_torch",
   "textures": {
       "torch": "block/torch"
   }
}

This file represents the model of the normal standing torch. It loads the model of previously defined standing torch with the help of "parent" and inherits all the properties of the file template_torch.json. As this file is used only for the normal torch, the texture can now be specified. The texture"torch" is now assigned to the texture variable "torch" (in form of a resource location) and therefore is used for the previously loaded model and its particles, as specified in the other file.

Example: Any Block

This example describes the fundamental structure of most normal blocks in Minecraft. All these blocks use the same basic model and apply their texture to it, as already described in the example above. This model is defined in the file cube.json, which can be found in the folder assets/minecraft/models/block.

cube.json
{
  "elements": [
    {
      "from": [ 0, 0, 0 ],
      "to": [ 16, 16, 16 ],
      "faces": {
        "down":  { "texture": "#down", "cullface": "down" },
        "up":    { "texture": "#up", "cullface": "up" },
        "north": { "texture": "#north", "cullface": "north" },
        "south": { "texture": "#south", "cullface": "south" },
        "west":  { "texture": "#west", "cullface": "west" },
        "east":  { "texture": "#east", "cullface": "east" }
      }
    }
  ]
}

Features that have already been described above are not discussed further. The use of "cullface": "down" prevents the bottom face of the block from being rendered, if there is another adjacent block underneath it. The same applies to all the other faces of the block.

Example: Sapling

This example describes the fundamental structure used by all saplings, without assigning a specific texture. The model is specified in cross.json, the texture would e.g. be assigned in oak_sapling.json. Both files are stored in the folder assets/minecraft/models/block.

cross.json
{
  "ambientocclusion": false,
  "textures": {
    "particle": "#cross"
  },
  "elements": [
    {
      "from": [ 0.8, 0, 8 ],
      "to": [ 15.2, 16, 8 ],
      "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true },
      "shade": false,
      "faces": {
        "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" },
        "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }
      }
    },
    {
      "from": [ 8, 0, 0.8 ],
      "to": [ 8, 16, 15.2 ],
      "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true },
      "shade": false,
      "faces": {
        "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" },
        "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }
      }
    }
  ]
}

To create the usual shape of the saplings, both elements are being rotated by 45 degrees. Therefore, the origin and the axis of rotation are set to the specified values, the angle is set to 45 degrees and "rescale" is set to true. The latter causes the model to be scaled on the axes it has not been rotated on, so that it takes up the same space as it did before rotating it (see comparison images).

"rescale": true "rescale": false
Block model rescale true Block model rescale false

Examples: Condensing multiple textures into one file

Using the "uv" compound, textures can be read from one file and parts of the file can be used for each side of the block. "uv" doesn't take the pixels of the file, it instead takes percentages of the file in terms of 16; for example taking the top half of a file uses "uv": [0,0, 16,8]: from the coordinates ([0% of 16], [0% of 16]) – (0,0) – which is the top-left pixel, and ends at ([100% of 16], [50% of 16]) – (16,8), which is the middle-right pixel. Because this works in percentages, resizing an image from 16×16 to 32×32, 64×64, etc., does not require changing the model file.

Fletching Table textures

In this example, a fletching table is used (see image) with combined textures (in this example, saved as fletching_table.png): the top 16×16 pixels (if each of the textures are 32×32, etc., then the top 32×32, etc., textures are taken using the same code) textures the top of the block, the center 16×16 textures the front and back, and the bottom 16×16 textures the other sides. The bottom texture is birch_planks. For three textures, this code can be used:

{
    "parent": "block/cube",
    "textures": {
        "particle": "block/fletching_table",
        "all": "block/fletching_table",
        "bottom": "block/birch_planks"
    },
    "elements": [
        {
           "from": [ 0, 0, 0 ],
            "to": [ 16, 16, 16 ],
            "faces": {
                "down":  { "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [0,0, 16,5.34], "texture": "#all", "cullface": "up" },
                "north": { "uv": [0,5.35, 16,10.66], "texture": "#all", "cullface": "north" },
                "south": { "uv": [0,5.35, 16,10.66], "texture": "#all", "cullface": "south" },
                "west":  { "uv": [0,10.67, 16,16], "texture": "#all", "cullface": "west" },
                "east":  { "uv": [0,10.67, 16,16], "texture": "#all", "cullface": "east" }
            }
        }
    ]
}
Bone Block textures

In this example, only two textures are condensed into one file, in this case for a bone block. For two textures, this code can be used:

{
    "parent": "block/cube",
    "textures": {
        "particle": "block/bone_block",
        "all": "block/bone_block"
    },
    "elements": [
        {
           "from": [ 0, 0, 0 ],
            "to": [ 16, 16, 16 ],
            "faces": {
                "down":  { "uv": [0,0, 16,8], "texture": "#all", "cullface": "down" },
                "up":    { "uv": [0,0, 16,8], "texture": "#all", "cullface": "up" },
                "north": { "uv": [0,8, 16,16], "texture": "#all", "cullface": "north" },
                "south": { "uv": [0,8, 16,16], "texture": "#all", "cullface": "south" },
                "west":  { "uv": [0,8, 16,16], "texture": "#all", "cullface": "west" },
                "east":  { "uv": [0,8, 16,16], "texture": "#all", "cullface": "east" }
            }
        }
    ]
}
Barrel textures

In this example, four textures are condensed into one file, in this case for a barrel. For four textures, this code can be used:

{
    "parent": "block/cube",
    "textures": {
        "particle": "block/barrel",
        "all": "block/barrel"
    },
    "elements": [
        {
           "from": [ 0, 0, 0 ],
            "to": [ 16, 16, 16 ],
            "faces": {
                "down":  { "uv": [8,8, 16,16], "texture": "#all", "cullface": "down" },
                "up":    { "uv": [8,0, 16,8], "texture": "#all", "cullface": "up" },
                "north": { "uv": [0,8, 8,16], "texture": "#all", "cullface": "north" },
                "south": { "uv": [0,8, 8,16], "texture": "#all", "cullface": "south" },
                "west":  { "uv": [0,8, 8,16], "texture": "#all", "cullface": "west" },
                "east":  { "uv": [0,8, 8,16], "texture": "#all", "cullface": "east" }
            }
        }
    ]
}

Item models

As items do not have different variants, there is no need to specify them. The folder assets/<namespace>/models/item contains all the model files. The names of the files are hardcoded and should not be changed.

  • : The root tag
    •  parent: Loads a different model from the given path, in form of a resource location. If both "parent" and "elements" are set, the "elements" tag overrides the "elements" tag from the previous model.
      • Can be set to "item/generated" to use a model that is created out of the specified icon.
      • Can be set to "builtin/entity" to load a model from an entity file. As you cannot specify the entity, this does not work for all items (only for chests, ender chests, mob heads, shields, banners and tridents).
    •  display: Holds the different places where item models are displayed.
      •  Position: Named thirdperson_righthand, thirdperson_lefthand, firstperson_righthand, firstperson_lefthand, gui, head, ground, or fixed. Place where an item model is displayed. Holds its rotation, translation and scale for the specified situation. fixed refers to item frames, while the rest are as their name states. Note that translations are applied to the model before rotations.
        •  rotation: Specifies the rotation of the model according to the scheme [x, y, z].
        •  translation: Specifies the position of the model according to the scheme [x, y, z]. If the value is greater than 80, it is displayed as 80. If the value is less than -80, it is displayed as -80.
        •  scale: Specifies the scale of the model according to the scheme [x, y, z]. If the value is greater than 4, it is displayed as 4.
    •  textures: Holds the textures of the model, in form of a resource location or can be another texture variable.
      •  layerN: Only used to specify the icon of the item used in the inventory. There can be more than just one layer (e.g. for spawn eggs), but the amount of possible layers is hardcoded for each item. Works only in combination with "item/generated".
      •  particle: What texture to load particles from. Used to determine the "crumb" particles generated by food items, as well as to determine the barrier particle (but it always uses items/barrier.png as blockbreaking particle), which otherwise uses "layer0".
      •  Texture variable: Defines a texture variable and assigns a texture.
    •  gui_light: Can be "front" or "side". If set to "side", the model is rendered like a block. If set to "front", model is shaded like a flat item. Defaults to "side".
    •  elements: Contains all the elements of the model. They can have only cubic forms. If both "parent" and "elements" are set, the "elements" tag overrides the "elements" tag from the previous model.
      • An element.
        •  from: Start point of a cuboid according to the scheme [x, y, z]. Values must be between -16 and 32.
        •  to: Stop point of a cuboid according to the scheme [x, y, z]. Values must be between -16 and 32.
        •  rotation: Defines the rotation of an element.
          •  origin: Sets the center of the rotation according to the scheme [x, y, z].
          •  axis: Specifies the direction of rotation, can be "x", "y" or "z".
          •  angle: Specifies the angle of rotation. Can be 45 through -45 degrees in 22.5 degree increments.
          •  rescale: Specifies whether or not to scale the faces across the whole block. Can be true or false. Defaults to false.
        •  shade: Defines if shadows are rendered (true - default), not (false).
        •  faces: Holds all the faces of the cuboid. If a face is left out, it does not render.
          •  Face: Named down, up, north, south, west or east. Contains the properties of the specified face.
            •  uv: Defines the area of the texture to use according to the scheme [x1, y1, x2, y2]. If unset, it defaults to values equal to xyz position of the element. The texture behavior is inconsistent if UV extends below 0 or above 16. If the numbers of x1 and x2 are swapped (e.g. from 0, 0, 16, 16 to 16, 0, 0, 16), the texture flips. UV is optional, and if not supplied it automatically generates based on the element's position.
            •  texture: Specifies the texture in form of the texture variable prepended with a #.
            •  cullface: Specifies whether a face does not need to be rendered when there is a block touching it in the specified position. The position can be: down, up, north, south, west, or east. It also determines the side of the block to use the light level from for lighting the face, and if unset, defaults to the side.
            •  rotation: Rotates the texture by the specified number of degrees. Can be 0, 90, 180, or 270. Defaults to 0. Rotation does not affect which part of the texture is used. Instead, it amounts to permutation of the selected texture vertexes (selected implicitly, or explicitly though uv).
            •  tintindex: Determines whether to tint the texture using a hardcoded tint index. The default is not using the tint, and any number causes it to use tint. Note that only certain blocks have a tint index; all others remain unaffected.
    •  overrides: Determines cases in which a different model should be used based on item tags. All cases are evaluated in order from top to bottom and last predicate that matches overrides. However, overrides are ignored if it has been already overridden once, for example this avoids recursion on overriding to the same model.
      • A case.
        •  predicate: Holds the cases.
          •  Case A single case tag. See item predicates for a full list of available tags.
        •  model: The path to the model to use if the case is met, in form of a resource location.

Simple example: 2D beds

This example replaces the bed item render with the textures currently found in Bedrock Edition and formerly found in Java Edition, such as Red Bed 2D. This file should be placed in the assets/minecraft/models/item folder with the name "red_bed.json":

{
    "parent": "item/generated",
    "textures": {
        "layer0": "item/red_bed"
    }
}

In this example, the parent is set to item/generated, which means that this item model is a flat texture. In the textures tag, layer0 is set to the texture set for this item; in this case, the texture is called red_bed and is found in the assets/minecraft/textures/item folder. The "red" can be changed out for all other colors of bed, but each must be put in a separate JSON file (e.g., black_bed.json, green_bed.json, etc.). There must be item texture files (which is what layer0 is requesting) for beds found in the textures/item folder; these textures can be found below:

Rename the above files to <color>_bed (keep the file extension .png) and place them inside the assets/minecraft/textures/item folder. Make sure to match the layer0 reference to the name of the item texture.

Item predicates

Some items support additional predicates for model overrides. Below is a full list of available predicates.

  • "angle": Used on compasses to determine the current angle, expressed in a decimal value of less than one.
  • "blocking": Used on shields to determine if currently blocking. If 1, the player is blocking.
  • "broken": Used on Elytra to determine if broken. If 1, the Elytra is broken.
  • "cast": Used on fishing rods to determine if the fishing rod has been cast. If 1, the fishing rod has been cast.
  • "cooldown": Used on ender pearls and chorus fruit to determine the remaining cooldown, expressed in a decimal value between 0 and 1.
  • "damage": Used on items with durability to determine the amount of damage, expressed in a decimal value between 0 and 1.
  • "damaged": Used on items with durability to determine if it is damaged. If 1, the item is damaged. Note that if an item has the unbreakable tag, this may be 0 while the item has a non-zero "damage" tag.
  • "lefthanded": Determines the model used by left handed players. It affects the item they see in inventories, along with the item players see them holding or wearing.
  • "pull": Determines the amount a bow or crossbow has been pulled, expressed in a decimal value of less than one.
  • "pulling": Used on bows and crossbows to determine if the bow is being pulled. If 1, the bow is currently being pulled.
  • "charged": Used on crossbows to determine if they are charged with any projectile. If 1, the crossbow is charged.
  • "firework": Used on crossbows. If 1, the crossbow is charged with a firework rocket.
  • "throwing": Used on the trident to determine if the trident is ready to be thrown by the player. If 1, the trident is ready for fire.
  • "time": Used on clocks to determine the current time, expressed in a decimal value of less than one.
  • "custom_model_data": Used on any item and is compared to the tag.CustomModelData NBT, expressed in an integer value. The number is still internally converted to float, causing a precision loss for some numbers above 16 million. If the value read from the item data is greater than or equal to the value used for the predicate, the predicate is positive.

Example: Torch

This example describes the torch as an item. The model can be found in the torch.json, which is stored in the folder assets/minecraft/models/item.

torch.json
{
  "parent": "item/generated",
  "textures": {
    "layer0": "block/torch"
  },
  "display": {
    "thirdperson_righthand": {
      "rotation": [ -90, 0, 0 ],
      "translation": [ 0, 1, -3 ],
      "scale": [ 0.55, 0.55, 0.55 ]
    },
    "firstperson_lefthand": {
      "rotation": [ 0, -135, 25 ],
      "translation": [ 0, 4, 2 ],
      "scale": [ 1.7, 1.7, 1.7 ],
      "scale": [ 0.9, 0.9, 0.9 ]
    }
  }
}

The "parent"-tag uses "builtin/generated", so that the game uses the standard model of the torch, which has been generated out of the 2D graphic used for the item icon. The icon is specified with the "layer0"-tag and the texture, that has already been used for the block model, is used for the icon as well. As there is just one layer hard coded for the torch, there cannot be any more layers added. Furthermore, the display properties for the torch are specified, so that it displays correctly in every possible situation. The torch cannot be placed on a players head and uses the specified icon in the inventory, so there is no need to adjust the model for these situations. To line the model up with the players left or right hand in first and third person view, the model needs to be rotated, moved and scaled, which is done for each of the two situation separately.

Example: Fishing Rod

This example describes the fishing rod as of Java Edition 1.9. The model can be found in the fishing_rod.json, which is stored in the folder assets/minecraft/models/item.

fishing_rod.json
{
  "parent": "item/handheld_rod",
  "textures": {
    "layer0": "item/fishing_rod_uncast"
  },
  "overrides": [
    {
      "predicate": {
        "cast": 1
      },
      "model": "item/fishing_rod_cast"
    }
  ]
}

In this model, the normal model is overridden if the fishing rod is cast, causing it to instead display the model "item/fishing_rod_cast"

Objects which cannot be remodelled

This section is missing information about Test invisible blocks (air, cave air, void air, barrier, structure void, light block), trident, bell. 
Please expand the section to include this information. Further details may exist on the talk page.

While most blocks and items can have their model changed, there are a multitude of things that cannot:

  • Fluids
    • including bubble columns
  • Entities
  • Blocks which render as entities
    • Chests
      • Chest
      • Trapped Chest
      • Ender Chest
    • Signs
      • All 16 versions (8 wood types, and floor/wall)
    • Beds
      • All 16 colors
    • Shulker boxes
      • All 16 colors
    • Heads
      • All 12 versions (6 types, and floor/wall)
    • Banner
      • All 32 versions (16 colors, and floor/wall)
    • Conduit
    • Book on enchanting table
    • End Portal
    • End Gateway
    • Moving Piston

Most blocks have particle textures defined in dedicated model files, however it still stands that actual visual models cannot be changed.

History

Clock JE3
This section needs to be updated. 
Please update this section to reflect recent updates or newly available information.
Reason: Nearly everything after 1.9 is missing
Java Edition pre-Classic
?Blocks exist, however their models are completely hardcoded, and as such cannot be configured outside of modding.
Java Edition
1.8
{{Extension DPL}}<ul><li>[[Dragon's Breath|Dragon's Breath]]<br/>{{Item
| image = Dragon's Breath.png
| renewable = Yes
| stackable = Yes (64)
| rarity = Uncommon
}}

The '''dragon's breath''' is a [[brewing]] item that is used solely to make [[lingering potion]]s.

== Obtaining ==

The dragon's breath can be obtained by scooping  up the [[ender dragon]]'s breath attack or the purple [[area effect cloud|effect clouds]] caused by [[dragon fireball]]s in an empty [[glass bottle]].

== Usage ==

=== Brewing ingredient ===

Dragon's breath may be added to any splash potion to upgrade it to a lingering potion, which can be used to create a lasting [[Lingering Potion#Area Effect Cloud|area effect cloud]], or to craft [[Arrow#Tipped arrows|tipped arrows]].
{{brewing
  |name=[[Lingering Potion]]
  |showname=1
  |Dragon's Breath
  |Any Lingering Potion
  |base=Any Splash Potion}}

When put 2 or more dragon's breath in the brewing stand, after the brewing process, a glass bottle will drop as an [[Item (entity)|entity]]. However, if put only 1 dragon's breath in the brewing stand, after the brewing process, the glass bottle is consumed and cannot be retrieved.<ref>{{bug|MC-259583}}</ref>

== Sounds ==
{{Edition|Java}}:
{{Sound table
|sound=Bottle fill dragon breath1.ogg
|sound2=Bottle fill dragon breath2.ogg
|subtitle=Bottle fills
|source=neutral
|description=Filling a glass bottle with dragon's breath
|id=item.bottle.fill_dragonbreath
|translationkey=subtitles.item.bottle.fill
|volume=1.0
|pitch=1.0
|distance=16
|foot=1}}

{{Edition|Bedrock}}:
{{Sound table
|type=bedrock
|sound=Bottle fill dragon breath1.ogg
|sound2=Bottle fill dragon breath2.ogg
|source=sound
|description=When a bottle is filled with dragon's breath
|id=bottle.dragonbreath
|volume=0.7<wbr>{{Until|BE 1.20.40}}<br>1.0<wbr>{{Upcoming|BE 1.20.40}}
|pitch=1.0
|foot=1}}

== Achievements ==

{{Load achievements|You Need a Mint}}

== Advancements ==
{{load advancements|You Need a Mint}}

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showforms=y
|generatetranslationkeys=y
|displayname=Dragon's Breath
|spritetype=item
|nameid=dragon_breath
|form=item
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Dragon's Breath
|spritetype=item
|nameid=dragon_breath
|id=560
|form=item
|foot=1}}

== History ==
{{History|java}}
{{History||1.9|snap=15w33a|[[File:Dragon's Breath JE1 BE1.png|32px]] Added dragon's breath.}}
{{History||1.13|snap=17w47a|Prior to [[1.13/Flattening|''The Flattening'']], this [[item]]'s numeral ID was 437.}}
{{History||1.14|snap=18w43a|[[File:Dragon's Breath JE2 BE2.png|32px]] The texture of dragon's breath has been changed.}}

{{History|pocket}}
{{History||1.0.0|snap=alpha 0.17.0.1|[[File:Dragon's Breath JE1 BE1.png|32px]] Added dragon's breath.}}
{{History|bedrock}}
{{History||1.10.0|snap=beta 1.10.0.3|[[File:Dragon's Breath JE2 BE2.png|32px]] The texture of dragon's breath has been changed.}}

{{History|console}}
{{History||xbox=TU46|xbone=CU36|ps=1.38|wiiu=Patch 15|switch=1.0.1|[[File:Dragon's Breath JE1 BE1.png|32px]] Added dragon's breath.}}
{{History||xbox=none|xbone=none|ps=1.90|wiiu=none|switch=none|[[File:Dragon's Breath JE2 BE2.png|32px]] The texture of dragon's breath has been changed.}}

{{History|3ds}}
{{History||1.7.10|[[File:Dragon's Breath JE1 BE1.png|32px]] Added dragon's breath.}}
{{History|foot}}

== Issues ==
{{issue list}}

== Trivia ==
* If the dragon's breath is used in a [[crafting]] recipe (using a [[mod]] or a [[data pack]]), it becomes an empty bottle instead of being entirely consumed.

== References ==
{{reflist}}

==External Links==
*[https://www.minecraft.net/en-us/article/dragon-s-breath Taking Inventory: Dragon's Breath] – Minecraft.net on June 9, 2023

{{Items}}

[[Category:Renewable resources]]

[[de:Drachenatem]]
[[fr:Souffle de dragon]]
[[it:Soffio di drago]]
[[ja:ドラゴンブレス]]
[[ko:드래곤의 숨결]]
[[nl:Drakenadem]]
[[pl:Oddech smoka]]
[[pt:Bafo do dragão]]
[[ru:Драконье дыхание]]
[[zh:龙息]]
[[Category:Brewing recipe]]</li><li>[[Bucket|Bucket]]<br/>{{about|the empty bucket|buckets filled with objects}}
{{Item
| image = Bucket.png
| renewable = Yes
| stackable = Yes (16), except in furnace fuel slot
}}
A '''bucket''' is an item used to carry [[water]], [[lava]], [[milk]], [[powder snow]], and [[Bucket of aquatic mob|various aquatic mobs]].

== Obtaining ==

=== Crafting ===

{{Crafting
 |A2= Iron Ingot
 |C2= Iron Ingot
 |B3= Iron Ingot
 |Output= Bucket
 |type= Miscellaneous
}}

=== Natural generation ===

{{LootChestItem|bucket}}

== Usage ==
Empty buckets can be used to "pick up" a [[water]] or [[lava]] source block by pressing {{control|use}} item on a block of the relevant type. If the empty bucket is part of a stack and the player's inventory is full, the filled bucket drops in front of the player as an item. 

A bucket filled with a source block can then be used to place its source block contents in the empty block next to the side of the block the player is currently looking at, or replacing the block looked at for some replaceable blocks.

One can press {{control|use}} when looking at a [[cow]], [[mooshroom]], or [[goat]] to fill a bucket with [[milk]]. A bucket full of milk can be emptied only by drinking it or by using it in crafting a recipe (like [[cake]]).

A bucket full of water can be used on a live aquatic mob ([[cod]], [[salmon]], [[tropical fish]], [[pufferfish]], [[axolotl]], or [[tadpole]]) to collect the mob in the bucket for transportation to another location. The mob in item form becomes a [[bucket of aquatic mob]].

An empty bucket can be used to empty a [[cauldron]] with water or lava, filling the bucket with the fluid. This does not work with dispensers.<ref>{{bug|MC-165196}}</ref>

A lava bucket placed in the fuel slot of a [[furnace]] becomes an empty bucket after the lava is consumed during [[smelting]].

An empty bucket fills with [[water]] when placed in the fuel slot of a [[furnace]] while smelting a [[Sponge|wet sponge]].

An empty bucket can be used to collect [[powder snow]], filling the bucket with powder snow. Emptying the powder snow bucket places the powder snow block in the empty block next to the side of the block the player is currently looking at.

== Sounds ==
{{el|je}}:
{{Sound table
|sound=Fill water bucket1.ogg
|sound2=Fill water bucket2.ogg
|sound3=Fill water bucket3.ogg
|subtitle=Bucket fills
|source=player
|description=When a bucket is filled with water
|id=item.bucket.fill
|translationkey=subtitles.item.bucket.fill
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|sound=Empty water bucket1.ogg
|sound2=Empty water bucket1.ogg
|sound3=Empty water bucket2.ogg
|sound4=Empty water bucket3.ogg
|subtitle=Bucket empties
|source=block
|description=When a water bucket is emptied <ref group=sound><code>empty1</code> plays at twice the frequency as the other sounds</ref>
|id=item.bucket.empty
|translationkey=subtitles.item.bucket.empty
|volume=1.0
|pitch=1.0 <ref group=sound>Except for the second copy of <code>empty1</code>, which is 0.9</ref>
|distance=16}}
{{Sound table
|sound=Fill lava bucket1.ogg
|sound2=Fill lava bucket2.ogg
|sound3=Fill lava bucket3.ogg
|subtitle=Bucket fills
|source=player
|description=When a bucket is filled with lava
|id=item.bucket.fill_lava
|translationkey=subtitles.item.bucket.fill
|volume=1.0
|pitch=1.0 
|distance=16}}
{{Sound table
|sound=Empty lava bucket1.ogg
|sound2=Empty lava bucket2.ogg
|sound3=Empty lava bucket3.ogg
|subtitle=Bucket empties
|source=block
|description=When a lava bucket is emptied
|id=item.bucket.empty_lava
|translationkey=subtitles.item.bucket.empty
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|sound=Fill powder snow bucket1.ogg
|sound2=Fill powder snow bucket2.ogg
|subtitle=Bucket fills
|source=player
|description=When a bucket is filled with powder snow
|id=item.bucket.fill_powder_snow
|translationkey=subtitles.item.bucket.fill
|volume=1.0
|pitch=1.0/0.9/1.1
|distance=16}}
{{Sound table
|sound=Empty powder snow bucket1.ogg
|sound2=Empty powder snow bucket2.ogg
|subtitle=Bucket empties
|source=block
|description=When a powder snow bucket is emptied
|id=item.bucket.empty_powder_snow
|translationkey=subtitles.item.bucket.empty
|volume=1.0
|pitch=1.0
|distance=16}}

{{Sound table
|rowspan=2
|sound=Fill fish bucket1.ogg
|sound2=Fill fish bucket2.ogg
|sound3=Fill fish bucket3.ogg
|subtitle=Fish captured
|source=neutral
|description=When a fish is collected into a water bucket
|translationkey=subtitles.item.bucket.fill_fish
|id=item.bucket.fill_fish
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|subtitle=Tadpole captured
|source=neutral
|description=When a tadpole is collected into a bucket
|id=item.bucket.fill_tadpole
|translationkey=subtitles.item.bucket.fill_tadpole
|volume=0.5
|pitch=1.5
|distance=16}}
{{Sound table
|sound=Fill axolotl1.ogg
|sound2=Fill axolotl2.ogg
|sound3=Fill axolotl3.ogg
|subtitle=Axolotl scooped
|source=neutral
|description=When an axolotl is collected into a bucket
|id=item.bucket.fill_axolotl
|translationkey=subtitles.item.bucket.fill_axolotl
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|rowspan=3
|sound=Empty fish bucket1.ogg
|sound2=Empty fish bucket2.ogg
|sound3=Empty fish bucket3.ogg
|subtitle=Bucket empties
|source=neutral
|description=When a fish is placed from a bucket
|id=item.bucket.empty_fish
|translationkey=subtitles.item.bucket.empty
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|subtitle=Bucket empties
|source=neutral
|description=When a tadpole is placed from a bucket
|id=item.bucket.empty_tadpole
|translationkey=subtitles.item.bucket.empty
|volume=0.5
|pitch=1.5
|distance=16}}
{{Sound table
|subtitle=Bucket empties
|source=neutral
|description=When an axolotl is placed from a bucket
|id=item.bucket.empty_axolotl
|translationkey=subtitles.item.bucket.empty
|volume=1.0
|pitch=1.0
|distance=16}}

{{Sound table
|sound=Cow milk1.ogg
|sound2=Cow milk2.ogg
|sound3=Cow milk3.ogg
|source=player
|subtitle=Cow gets milked
|description=When a cow is milked
|id=entity.cow.milk
|translationkey=subtitles.entity.cow.milk
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|sound=Mooshroom milk1.ogg
|sound2=Mooshroom milk2.ogg
|sound3=Mooshroom milk3.ogg
|subtitle=Goat gets milked
|description=When a regular goat is milked
|source=neutral
|id=entity.goat.milk
|translationkey=subtitles.entity.goat.milk
|volume=1.0
|pitch=1.0
|distance=16}}
{{Sound table
|sound=Goat screaming milk1.ogg
|sound2=Goat screaming milk2.ogg
|sound3=Goat screaming milk3.ogg
|sound4=Goat screaming milk4.ogg
|sound5=Goat screaming milk5.ogg
|subtitle=Goat gets milked
|source=neutral
|description=When a screaming goat is milked
|id=entity.goat.screaming.milk
|translationkey=subtitles.entity.goat.milk
|volume=1.0
|pitch=1.0
|distance=16
|foot=1}}

{{el|be}}:
{{Sound table
|type=bedrock
|sound=Fill water bucket1.ogg
|sound2=Fill water bucket2.ogg
|sound3=Fill water bucket3.ogg
|source=block
|description=When a bucket is filled with water
|id=bucket.fill_water
|volume=1.0
|pitch=1.0}}
{{Sound table
|sound=Empty water bucket1.ogg
|sound2=Empty water bucket2.ogg
|sound3=Empty water bucket3.ogg
|source=block
|description=When a water bucket is emptied
|id=bucket.empty_water
|volume=1.0
|pitch=1.0}}
{{Sound table
|rowspan=2
|sound=Water Splash Old.ogg
|source=block
|description=When a water bucket is placed in a cauldron<wbr><ref group=sound name=bucketsplash>{{Bug|MCPE-135919}}</ref>
|id=cauldron.fillwater
|volume=0.1
|pitch=1.0}}
{{Sound table
|source=block
|description=When a water bucket is removed from a cauldron<wbr><ref group=sound name=bucketsplash/>
|id=cauldron.takewater
|volume=0.1
|pitch=1.0}}
{{Sound table
|sound=Fill lava bucket1.ogg
|sound2=Fill lava bucket2.ogg
|sound3=Fill lava bucket3.ogg
|source=block
|description=When a bucket is filled with lava
|id=bucket.fill_lava
|volume=1.0
|pitch=1.0}}
{{Sound table
|sound=Empty lava bucket1.ogg
|sound2=Empty lava bucket2.ogg
|sound3=Empty lava bucket3.ogg
|source=block
|description=When a lava bucket is emptied
|id=bucket.empty_lava
|volume=1.0
|pitch=1.0}}
{{Sound table
|sound=Fill powder snow bucket1.ogg
|sound2=Fill powder snow bucket2.ogg
|source=player
|description=When a bucket is filled with powder snow
|id=bucket.fill_powder_snow
|volume=1.0
|pitch=1.0}}
{{Sound table
|sound=Empty powder snow bucket1.ogg
|sound2=Empty powder snow bucket2.ogg
|source=block
|description=When a powder snow bucket is emptied
|id=bucket.empty_powder_snow
|volume=1.0
|pitch=1.0}}

{{Sound table
|sound=Fill fish bucket1.ogg
|sound2=Fill fish bucket2.ogg
|sound3=Fill fish bucket3.ogg
|source=block
|description=When a creature is collected into a water bucket
|id=bucket.fill_fish
|volume=1.0
|pitch=1.0}}
{{Sound table
|sound=Empty fish bucket1.ogg
|sound2=Empty fish bucket2.ogg
|sound3=Empty fish bucket3.ogg
|source=block
|description=When a creature is placed from a bucket
|id=bucket.empty_fish
|volume=1.0
|pitch=1.0}}

{{Sound table
|sound=Cow milk1.ogg
|sound2=Cow milk2.ogg
|sound3=Cow milk3.ogg
|source=neutral
|description=When a cow is milked
|id=mob.cow.milk
|volume=1.0
|pitch=1.0}}
{{Sound table
|sound=Mooshroom milk1.ogg
|sound2=Mooshroom milk2.ogg
|sound3=Mooshroom milk3.ogg
|description=When a regular goat is milked
|source=neutral
|id=mob.mooshroom.suspicious_milk
|volume=1.0
|pitch=1.0, 0.9, 1.1}}
{{Sound table
|sound=Goat screaming milk1.ogg
|sound2=Goat screaming milk2.ogg
|sound3=Goat screaming milk3.ogg
|sound4=Goat screaming milk4.ogg
|sound5=Goat screaming milk5.ogg
|description=When a screaming goat is milked
|source=neutral
|id=mob.goat.milk.screamer
|volume=1.0
|pitch=1.0
|foot=1}}

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showforms=y
|generatetranslationkeys=y
|displayname=Bucket
|spritetype=item
|nameid=bucket
|form=item
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|showaliasids=y
|generatetranslationkeys=y
|displayname=Bucket
|spritetype=item
|nameid=bucket
|id=360
|aliasid=bucket / 0
|form=item
|foot=1}}

== Video ==

<div style="text-align:center">{{yt|0tVu5HYLQMw}}</div>

== Achievements ==
{{Load achievements|I am a Marine Biologist}}

== Advancements ==
{{Load advancements|Hot Stuff}}

== History ==
{{History|java infdev}}
{{History||20100615|[[File:Bucket JE1 BE1.png|32px]] Added buckets.
|Buckets can currently pick up only [[water]] and [[lava]].}}
{{History||20100625-2|Buckets can now be found in the new [[dungeon]] [[chest]]s.}}
{{History|java alpha}}
{{History||v1.0.11|[[Cow]]s are now [[milk]]able by using buckets.}}
{{History|java}}
{{History||1.0.0|snap=Beta 1.9 Prerelease|Added [[mooshroom]]s, which can be milked like normal [[cow]]s.}}
{{History|||snap=Beta 1.9 Prerelease 5|In [[Creative]] mode, buckets now remain empty when {{control|used}} to pick up [[water]] and [[lava]].}}
{{History||1.2.1|snap=12w06a|Buckets are now [[renewable resource|renewable]], due to zombies having a chance to drop iron ingots.}}
{{History||1.3.1|snap=12w21a|Buckets are now stackable up to 16.
|[[Dispenser]]s can now use buckets to collect and dispense water and lava.}}
{{History|||snap=12w22a|[[Smelting]] in a [[furnace]] with a [[lava bucket]] now leaves an empty bucket for the [[player]] to retrieve.}}
{{History||1.8|snap=14w25b|An empty bucket in the [[fuel]] slot now fills and become a [[water bucket]] after a [[sponge|wet sponge]] is dried. This happens for empty buckets placed by the [[player]] while the furnace is still smelting, and for empty buckets left by lava buckets.
|Stacked buckets in the fuel slot now become a single water bucket.}}
{{History|||snap=14w26a|The [[player]] can now place only one bucket in the [[fuel]] slot, which fixes the bug above.}}
{{History||1.9|snap=15w44a|A full [[cauldron]] can now be emptied with a bucket, filling the bucket with [[water]].
|The average yield of buckets from [[dungeon]] [[chest]]s has been substantially decreased.}}
{{History|||snap=15w46a|Buckets now replace single [[snow|snow layers]] when {{control|used}} on the top, instead of placing the [[water]] or [[lava]] in the [[air]] above the snow layer.}}
{{History|||snap=15w50a|Added [[sound]]s for buckets: <code>item.bucket.fill</code>, <code>item.bucket.fill_lava</code>, <code>item.bucket.empty</code>, and <code>item.bucket.empty_lava</code>.}}
{{History||1.11|snap=16w39a|Buckets are now found in the new [[woodland mansion]] [[chest]]s.}}
{{History||1.13|snap=17w47a|Prior to [[1.13/Flattening|''The Flattening'']], this [[item]]'s numeral ID was 325.}}
{{History|||snap=November 18, 2017|slink=https://youtu.be/A_Z3AokMwWI?t=1h52m07s|Buckets were said to be able to pick up fish mobs.}}
{{History|||snap=18w08b|Added [[fish bucket]]s, which turn into regular buckets when {{control|used}}.}}
{{History||1.14|snap=18w43a|[[File:Bucket JE2 BE2.png|32px]] The texture of buckets has been changed.}}
{{History|||snap=18w49a|Buckets can now be found in chests in [[savanna]] [[village]] houses.}}
{{History||1.16|snap=Pre-release 1|Using a bucket on water or lava in Creative mode now provides the player with one water or lava bucket in the inventory.<ref>{{bug|MC-9856}}</ref> This is created in a new inventory slot rather than replacing the used bucket. A limit of one bucket per fluid can be obtained this way - attempting to fill a bucket where a filled one already exists in the inventory removes the fluid as expected but does not provide any new buckets.
|Cows and mooshrooms can also now be milked in Creative mode,<ref>{{bug|MC-36322}}</ref> providing the player with limitless milk buckets.}}
{{History|||snap=Pre-release 4|Milking cows now provides Creative players with only one bucket.<ref>{{bug|MC-188352}}</ref>}}
{{History||1.17|snap=October 3, 2020|slink=https://youtu.be/DWZIfsaIgtE?t=2h04m58s|Buckets were revealed to be able to be used to collect [[axolotl]]s.}}
{{History|||snap=21w13a|[[Goat]]s are now milkable by using buckets.}}
{{History|||snap=20w46a|Added [[powder snow]], which can be collected with buckets.}}

{{History|pocket alpha}}
{{History||v0.7.0|[[File:Bucket JE1 BE1.png|32px]] Added buckets.}}
{{History||v0.7.4|Filled buckets no longer stack.<ref>{{bug|MCPE-3960}}</ref>
|Empty buckets no longer allow [[liquid]] sources to be targeted and broken like [[block]]s.<ref>{{bug|MCPE-3857}}</ref>}}
{{History||unknown|The stack limit for empty buckets has been changed from 64 to 16.}}
{{History||v0.14.0|snap=build 1|A full [[cauldron]] can now be emptied with a bucket, filling the bucket with [[water]].}} 
{{History||v0.16.0|snap=build 1|Added [[sound]]s when using buckets.
|An empty bucket in the [[fuel]] slot now fills and becomes a [[water bucket]] after a [[sponge|wet sponge]] is dried. This happens for empty buckets placed by the [[player]] while the [[furnace]] is still [[smelting]], and for empty buckets left by [[lava bucket]]s.}}
{{History||?|Buckets no longer highlight fluid blocks when aiming at them.}}
{{History|pocket}}
{{History||1.1.0|snap=alpha 1.1.0.0|Buckets now generate in [[woodland mansion]] [[chest]]s.}}
{{History|bedrock}}
{{History||1.4.0|snap=beta 1.2.14.2|Added [[fish bucket]]s, which turn into regular buckets when used.
|Empty buckets can now be used to catch [[fish]].
|Moved all bucket items from the Equipment tab to the Items tab in the [[Creative inventory]].{{verify|type=update}}{{info needed}}<!---please check snapshots, only 1 major release version was checked each--->}}
{{History||1.9.0|snap=beta 1.9.0.2|[[Cauldron]]s filled with [[lava]] can now be emptied by using a bucket, filling it with lava.}}
{{History||1.10.0|snap=beta 1.10.0.3|[[File:Bucket JE2 BE2.png|32px]] The texture of buckets has been changed.}}
{{History||1.11.0|snap=beta 1.11.0.1|Buckets can now be found in [[savanna]] [[village]] house [[chest]]s.}}
{{History||1.16.200|snap=beta 1.16.200.52|[[Goat]]s are now milkable by using buckets.}}
{{History||1.16.210|snap=beta 1.16.210.53|Added [[powder snow]], which can be used to turn bucket to powder snow bucket.}}
{{History||1.17.0|snap=beta 1.16.230.52|Added [[axolotl]]s, which can be used to turn bucket to axolotl bucket.}}
{{History||1.19.0|snap=?|Added [[tadpole]]s, which can be used to turn bucket to tadpole bucket.}}

{{History|console}}
{{History||xbox=TU1|xbone=CU1|ps=1.0|wiiu=Patch 1|[[File:Bucket JE1 BE1.png|32px]] Added buckets.}}
{{History||xbox=TU9|Buckets are now stackable up to 16.}}
{{History|PS4}}
{{History||1.90|[[File:Bucket JE2 BE2.png|32px]] The texture of buckets has been changed.}}

{{History|new 3DS}}
{{History||0.1.0|[[File:Bucket JE1 BE1.png|32px]] Added buckets.}}
{{History|foot}}

== Issues ==
{{issue list}}

== Gallery ==
<gallery>
Bucket SDGP.png|Bucket in the [[Super Duper Graphics Pack]].
</gallery>

== See also ==
*[[Cauldron]]
*[[Bowl]]
*[[Glass Bottle]]
*[[Water]]

== References ==
{{reflist}}

== External Links ==
*[https://www.minecraft.net/en-us/article/taking-inventory-bucket Taking Inventory: Bucket] – Minecraft.net on December 14, 2018

{{Items}}

[[Category:Tools]]
[[Category:Renewable resources]]

[[cs:Kbelík]]
[[de:Eimer]]
[[es:Cubo]]
[[fr:Seau]]
[[hu:Vödör]]
[[it:Secchio]]
[[ja:バケツ]]
[[ko:양동이]]
[[nl:Emmer]]
[[pl:Wiadro]]
[[pt:Balde]]
[[ru:Ведро]]
[[th:ถัง]]
[[uk:Відро]]
[[zh:桶]]</li></ul>
14w06aAdded custom block models.
14w07aThe model format has now been rewritten. Instead of having just "planes", it now has "planes" and "cubes".
The rotation of objects are now limited to one directional rotation per object in increments of 22.5 degrees.
14w11aLighting on solid block no longer makes inner sections completely black.
14w11bGeneric blocks now load models instead of pre-defined shapes.
April 12, 2014TheMogMiner posts about upcoming changes to the model format.
14w17aConverted most of the remaining static blocks to the model format.
Added "rotateVariantTextures" to preserve uv details through rotation.
14w25aThe directional attribute from the uv definition has now been removed and replaced it with explicit texture references. "textureFacing" has been replaced with "texture" parameter, which is now prepended with the hash symbol (#).
"useAmbientOcclusion" has now been renamed to "ambientocclusion".
"rotateVariantTextures" has now been renamed to "UV lock".
"cull" has now been renamed to "cullface", specifies the opposite of which neighboring face causes culling to occur.
Rotation has now been made more verbose, it is now more clear that it can occur only on a single axis. Example, the rotation for one of the two faces of the "cross" model is now: "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true },.
The folder models/blocks/meshes has now been removed and model files are now stored in models/block.
The folder blockstates has now been added and stores the model selection files previously found in models/block.
The model format now supports custom item models.
14w27aBlock state names have now been replaced with data that better reflects the internal data. This does not yet reflect all data for some blocks and switches to using the actual stored data in a future version when numerical data values are completely dropped in favor of block states.
14w27bThe block state files now support an array of models allowing for random models.
14w30aAdded the item model "builtin/entity".
1.8.2
{{Extension DPL}}<ul><li>[[:Category:Minecraft Legends resources|Category:Minecraft Legends resources]]<br/>[[Category:Minecraft Legends]]
[[Category:Items]]
[[pt:Categoria:Recursos do Minecraft Legends]]</li><li>[[Light Gray Dye|Light Gray Dye]]<br/>{{Item
| image = Light Gray Dye.png
| renewable = Yes
| stackable = Yes (64)
}}
'''Light gray dye'''{{fn|Known as '''Light Grey Dye''' in British, Canadian, Australian, and New Zealand English variants.}} is a [[Dyeing#Primary Colors|quasi-primary dye]].

== Obtaining ==

=== Crafting ===

{{Crafting
  |head=1
  |showname=0
  |showdescription=1
  |Azure Bluet;Oxeye Daisy;White Tulip
  |Output=Light Gray Dye
  |type=Material
}}
{{Crafting
  |Black Dye
  |White Dye
  |White Dye
  |Output=Light Gray Dye,3
  |type=Material
  |description={{IN|bedrock}}, the black and white dye can be replaced with [[ink sac]]s and [[bone meal]], respectively.
}}
{{Crafting
  |Gray Dye
  |White Dye
  |Output=Light Gray Dye,2
  |type=Material
  |description={{IN|bedrock}}, the white dye can be replaced with [[bone meal]].
  |foot=1
}}

=== Trading ===

[[Wandering trader]]s sell 3 light gray dye for an [[emerald]].

== Usage ==

{{dye usage}}

=== Crafting ingredient ===

{{crafting usage|ignore=Banner|continue=1}}
{{banner crafting usage}}

=== Loom ingredient ===
{{Banner loom usage|Light Gray Dye}}

=== Trading ===
Expert-level shepherd villagers have {{frac|1|6}} chance to buy 12 light gray dye for an emerald.

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showforms=y
|generatetranslationkeys=y
|displayname=Light Gray Dye
|spritetype=item
|nameid=light_gray_dye
|form=item
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|showaliasids=y
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Light Gray Dye
|spritetype=item
|nameid=light_gray_dye
|aliasid=dye / 7
|id=402
|form=item
|translationkey=item.dye.silver.name
|foot=1}}

== Video ==

<div style="text-align:center">{{yt|1w3j1SKcoww}}</div>

== History ==

{{History|java beta}}
{{History||1.2|[[File:Light Gray Dye JE1 BE1.png|32px]] Added light gray dye.}}
{{History|java}}
{{History||1.4.2|snap=12w34a|Added the ability to [[Armor#Dyeing|dye]] leather [[armor]] and [[wolf]] collars.}}
{{History||1.4.6|snap=12w49a|Light gray dye can now be [[crafting|crafted]] with [[gunpowder]] to create a [[firework star]].}} 
{{History||1.6.1|snap=13w19a|[[Stained clay]] can now be crafted.}}
{{history||1.7.2|snap=13w36a|With the addition of new [[flower]]s, many secondary and tertiary dyes are now primary [[dye]]s.}}
{{History|||snap=13w41a|[[Stained glass]] can now be crafted.}}
{{History||1.8|snap=14w30a|Added [[banner]]s, which can be dyed.}}
{{History||1.11|snap=16w39a|Added the ability to dye [[shulker box]]es.}}
{{History||1.12|snap=17w15a|Added the ability to dye [[bed]]s.}}
{{History||1.13|snap=17w47a|The different data values for the <code>dye</code> ID have now been split up into their own IDs.
|Prior to [[1.13/Flattening|''The Flattening'']], this [[item]]'s numeral ID was 351.}}
{{History||1.14|snap=18w43a|Light gray dye is now crafted using [[white dye|white]] and [[black dye]]s, instead of [[bone meal]] and [[ink sac]]s.
|[[File:Light Gray Dye JE2 BE2.png|32px]] The texture of light gray dye has now been changed.}}
{{History|||snap=18w44a|Light gray dye can now change the text color on [[sign]]s to light gray.}}
{{History|||snap=19w05a|Added the [[wandering trader]], which sells light gray dye.}}
{{History|||snap=19w11a|Light gray dye can now be [[trading|bought]] by shepherd villagers.}}
{{History||1.17|snap=20w45a|Light gray dye can now be used to craft [[light gray candle]]s.}}
{{History|||snap=21w19a|Light gray dye can no longer be used to craft light gray candles.}}
{{History|||snap=Pre-release 1|Light gray dye can now once again be used to craft light gray candles.}}
{{History||1.20<br>(Experimental)|link=1.19.3|snap=22w42a|Light gray dye can now change the text color on [[hanging sign]]s to light gray.}}

{{History|pocket alpha}}
{{History||v0.3.0|[[File:Light Gray Dye JE1 BE1.png|32px]] Added light gray dye. It is currently unobtainable and serves no purpose.}}
{{History||v0.8.0|snap=build 1|Light gray dye can be [[craft]]ed with [[bone meal]] and [[gray dye]], or with two bone meals and an [[ink sac]], despite there being no way of obtaining gray dye or ink sacs at the time.}}
{{History||v0.8.0|snap=build 3|Light gray dye is now available in [[creative]] mode.}}
{{History||v0.9.0|snap=build 3|Light gray dye can now be obtained in [[survival]] mode.}}
{{History|||snap=build 11|Light gray dye can now be used to craft colored [[terracotta]].}}
{{History||v0.11.0|snap=build 1|Light gray dye can now be used to dye tamed [[wolf]] collars.}}
{{History||v0.14.0|snap=build 1|Light gray dye can now be used to dye [[water]] in [[cauldron]]s.}}
{{History|pocket}}
{{History||1.0.0|snap=alpha 0.17.0.1|Light gray dye can now be used to dye [[shulker]]s.}}
{{History||1.1.0|snap=alpha 1.1.0.0|Light gray dye can now be used to craft [[concrete powder]], colored [[bed]]s and dyed [[shulker box]]es.}}
{{History|bedrock}}
{{History||1.2.0|snap=beta 1.2.0.2|Light gray dye can now be used to craft [[firework star]]s, [[stained glass]] and patterns on [[banner]]s.}}
{{History||1.4.0|snap=beta 1.2.20.1|Light gray dye can now be used to craft [[balloon]]s and [[glow stick]]s.}}
{{History||1.8.0|snap=beta 1.8.0.8|Light gray dye can now be used to dye tamed [[cat]] collars.}}
{{History||1.10.0|snap=beta 1.10.0.3|Light gray dye is now [[trading|sold]] by [[wandering trader]]s.
|Light gray dye can now be used to dye white [[carpet]]s and undyed [[glass pane]]s.
|[[File:Light Gray Dye JE2 BE2.png|32px]] The texture of light gray dye has now been changed.}}
{{History||1.11.0|snap=beta 1.11.0.1|Light gray dye can be [[trading|sold]] to shepherd [[villager]]s.}}
{{History||1.16.100|snap=beta 1.16.100.56|The ID of light gray dye has been changed from <code>dye/7</code> to <code>light_gray_dye</code>.}}

{{History|console}}
{{History||xbox=TU1|xbone=CU1|ps=1.00|switch=1.0.1|wiiu=Patch 1|[[File:Light Gray Dye JE1 BE1.png|32px]] Added light gray dye.}}
{{History|PS4}}
{{History||1.90|[[File:Light Gray Dye JE2 BE2.png|32px]] The texture of light gray dye has now been changed.}}

{{History|new 3ds}}
{{History||0.1.0|[[File:Light Gray Dye JE1 BE1.png|32px]] Added light gray dye.}}
{{History|foot}}

== Issues ==

{{issue list}}

== Trivia ==

* In [[Bedrock Edition]], Some items/blocks' Block states/Item NBT uses '''Silver''' instead of '''Light Gray''' 

== Notes ==
{{fnlist}}

{{Items}}

[[Category:Dyes]]

[[cs:Světle šedé barvivo]]
[[de:Hellgrauer Farbstoff]]
[[es:Tinte gris claro]]
[[fr:Teinture gris clair]]
[[hu:Világosszürke festék]]
[[ja:薄灰色の染料]]
[[ko:회백색 염료]]
[[nl:Lichtgrijze kleurstof]]
[[pl:Jasnoszary barwnik]]
[[pt:Corante cinza-claro]]
[[ru:Светло-серый краситель]]
[[zh:淡灰色染料]]
[[Category:Renewable resources]]</li></ul>
pre5The tag "translation" is now limited to the range of -24 to 24.
The tag "scale" is now limited to 4 or less.
1.9
{{Extension DPL}}<ul><li>[[Fish|Fish]]<br/>{{About|the type of mob|the action|Fishing}}
'''Fish''' are aquatic creatures that are found in [[river]] and [[ocean]] biomes.

== Mobs ==
There are four categories of fish mobs in ''Minecraft'': 
*{{EntityLink|Cod}}
*{{EntityLink|Salmon}}
*{{EntityLink|Pufferfish}}
*{{EntityLink|Tropical Fish}} - many color and pattern varieties

In addition, there are other fish-like mobs that have different characteristics from fish: {{EntityLink|Axolotl}}, {{EntityLink|Guardian}}, and {{EntityLink|Elder Guardian}}.

==Obtaining and transporting==
A live fish can be captured by using a [[water bucket]] on a fish, to obtain a [[bucket of fish]], which is the only way to obtain the live mob in item form. Using the bucket of fish on a water source block transfers the fish from the bucket to the body of water. A water bucket may also be used on [[axolotl]]s in this manner.

==Items==
Fish exist in several different item forms. Upon death, fish drop their item form equivalent (cooked if on fire), with a chance to drop a [[bone]]{{only|bedrock}} or [[bone meal]].{{only|java}}

;Non-living
*{{ItemLink|Raw Cod}}
*{{ItemLink|Cooked Cod}}
*{{ItemLink|Raw Salmon}}
*{{ItemLink|Cooked Salmon}}
*{{ItemLink|Pufferfish|link=Pufferfish (item)}}
*{{ItemLink|Tropical Fish|link=Tropical Fish (item)}}
;Living
*{{ItemLink|Bucket of Cod}}
*{{ItemLink|Bucket of Salmon}}
*{{ItemLink|Bucket of Pufferfish}}
*{{ItemLink|Bucket of Tropical Fish}}

== Spawning ==
Various fish can be found in different [[ocean]] [[biomes]], but only [[salmon]] appear in rivers. Fish can also spawn in player-created bodies of water, as long as they are within a river or ocean biome.

{| class="wikitable sortable" style="text-align:left" data-description="Fish biomes"
!'''Fish'''
! style="text-align:left" |{{BiomeLink|Warm Ocean}}
! style="text-align:left" |{{BiomeLink|Lukewarm Ocean}}<br>{{BiomeLink|Deep Lukewarm Ocean}}
! style="text-align:left" |{{BiomeLink|Ocean}}<br>{{BiomeLink|Deep Ocean}}
! style="text-align:left" |{{BiomeLink|Cold Ocean}}<br>{{BiomeLink|Deep Cold Ocean}}
! style="text-align:left" |{{BiomeLink|Frozen Ocean}}<br>{{BiomeLink|Deep Frozen Ocean}}
! style="text-align:left" |{{BiomeLink|River}}<br>{{BiomeLink|Frozen River}}
|-
! rowspan=2 style="text-align:left" |{{EntityLink|Cod}}
| rowspan=2 {{tc|no}}
| rowspan=2 {{tc|yes}}
| rowspan=2 {{tc|yes}}
| rowspan=2 {{tc|yes}}
| {{tc|no|No{{only|je|short=1}}}}
| rowspan=2 {{tc|no}}
|-
| {{tc|yes|Yes{{only|be|short=1}}}}
|-
! rowspan=2 style="text-align:left" |{{EntityLink|Salmon}}
| rowspan=2 {{tc|no}}
| {{tc|no|No{{only|je|short=1}}}}
| {{tc|no|No{{only|je|short=1}}}}
| rowspan=2 {{tc|yes}}
| rowspan=2 {{tc|yes}}
| rowspan=2 {{tc|yes}}
|-
| {{tc|yes|Yes{{only|be|short=1}}}}
| {{tc|yes|Yes{{only|be|short=1}}}}
|-
! rowspan=2 style="text-align:left" |{{EntityLink|Pufferfish}}
| rowspan=2 {{tc|yes}}
| {{tc|yes|Yes{{only|je|short=1}}}}
| rowspan=2 {{tc|no}}
| rowspan=2 {{tc|no}}
| rowspan=2 {{tc|no}}
| rowspan=2 {{tc|no}}
|-
| {{tc|no|No{{only|be|short=1}}}}
|-
! style="text-align:left" |{{EntityLink|Tropical Fish}}<ref group="note">Also spawns in {{BiomeLink|Lush Caves}} at any Y-level.</ref>
| {{tc|yes}}
| {{tc|yes}}
| {{tc|no}}
| {{tc|no}}
| {{tc|no}}
| {{tc|no}}
|-
! style="text-align:left" |{{EntityLink|Squid}}
| {{tc|yes}}
| {{tc|yes}}
| {{tc|yes}}
| {{tc|yes}}
| {{tc|yes}}
| {{tc|yes}}
|-
! rowspan=2 style="text-align:left" |{{EntityLink|Dolphin}}
| rowspan=2 {{tc|yes}}
| rowspan=2 {{tc|yes}}
| rowspan=2 {{tc|yes}}
| {{tc|no|No{{only|je|short=1}}}}
| rowspan=2 {{tc|no}}
| rowspan=2 {{tc|no}}
|-
| {{tc|yes|Yes{{only|be|short=1}}}}
|}
{{notelist}}

In ''Java Edition'', fish can spawn inside a water block at Y-level 50 to 63 (from 13 blocks below sea level up to inside the block one above it), that also has water above and below it. The spawn block and the block below can be any kind of water, such as a source block, falling water, bubble column, kelp, or even a waterlogged block (as long as the fish can be placed at the bottom center of the spawn block without colliding with anything solid). The block above must be pure water, such as a source block, falling water, or flowing water of any depth. Particularly, the block above cannot also be a bubble column, so fish no longer spawn inside bubble elevators.<ref>{{cite bug|MC|244683|Tropical fish spawn in bubble columns (fixed in 22w07a)}}</ref> 

''Bedrock Edition'' does permit fish to spawn in bubble columns.<ref>{{cite bug|MCPE|73967|Squids, Dolphins, and fish not spawning in bubble columns (fixed in 1.16.20)}}</ref>

Fish can spawn between 24 and 64 block spherical range away from the player.{{only|java}} 

=== Despawning ===
As of [[1.16]], fish can despawn at range of 40 blocks or more from the player, and will instantly despawn more than 64 blocks away, except when spawned using a [[bucket of fish]].

{{Items}}
{{Entities}}

[[cs:Ryba]]
[[de:Fisch (Begriffsklärung)]]
[[es:Pez]]
[[fr:Poisson]]
[[it:Pesce]]
[[ja:魚]]
[[ko:물고기]]
[[nl:Vis]]
[[pl:Ryba (ujednoznacznienie)]]
[[pt:Peixe]]
[[ru:Рыба]]
[[th:ปลา (แก้ความกำกวม)]]
[[uk:Риба]]
[[zh:鱼]]</li><li>[[Block Inspector|Block Inspector]]<br/>{{MinecraftEdu feature}}
{{stub}}

{{Item
| image = BlockInspector.png
| stackable = No {{verify}}
}}

'''Block Inspector''' is an item used to display the name of the block the player is looking at on screen.

== Data values ==
{{ID table
|generatetranslationkeys=java
|displayname=Block Inspector
|spritetype=item
|nameid=block_inspector|foot=1}}

==History==
{{History|MinecraftEDU}}
{{History||0.9848|[[File:BlockInspector.png|32px]] Added block inspectors.}}
{{History|foot}}

{{Items}}</li></ul>
15w31aUV is now optional, and if not supplied it automatically generates based on the element's position.
Added different models/textures for different damage values, item states, and whether the player is left handed. This works on compasses, clocks, and anything that can have a durability bar. It also contains additional tags for bows and fishing rods.
Models can now be put together based on block state attributes, such as fences. As a result, the vanilla set of block models was reduced by almost 300 models.
Block model JSON is now strict, comments and quoteless identifiers are now not allowed.
"display" tag defaults have now been changed, and the "thirdperson" and "firstperson" tags have now been replaced with "thirdperson_righthand", "thirdperson_lefthand", "firstperson_righthand", and "firstperson_lefthand".
"parent" and "elements" tags can now coexist, though the top level elements tag overwrites all former ones.
The option to disable alternate block models has now been removed.
Multipart tag functionality added.
1.14
{{Extension DPL}}<ul><li>[[Footprint|Footprint]]<br/>{{about|the joke item|the unused particle|Java Edition unused features#Footprint particle}}
{{Joke feature}}
{{Item
| image = Footprint (item).png
| renewable = No
| stackable = Yes (64)
}}

The '''Footprint''' was a joke item from [[Java Edition 20w14∞]], found only in the {{code|missing}} dimension.

== Appearance ==
This item is semi-transparent with a grey colour scheme.

== Obtaining ==

=== Dimension ===
Footprints were obtained only from a chest in the {{Code|missing}} dimension. Only existing in 2020 April fools snapshot 20w14∞, it cannot exist in any non-April Fool's joke versions and April Fool's joke versions before or after 20w14∞. There is a maximum of 2 footprints that can be obtained legitimately in any given world.

=== Cheats/Creative Mode ===
Despite these footprints not being available in the creative inventory, it is still possible to acquire them via the command {{Code|code=give <target> minecraft:footprint <amount>}} or duplicating them by holding down middle-click whilst in creative mode.

== Usage ==
As of snapshot 20w14∞, this item cannot be placed or used in any way other than a trophy. This item can be inserted and/or rotated inside of an item frame, and it has a stack limit of 64.

== Data values ==
=== ID ===
{{ID table
|showforms=y
|generatetranslationkeys=java
|displayname=Footprint
|spritetype=item
|nameid=footprint
|form=item
|foot=1}}

== History ==
{{History|java}}
{{History||20w14∞|[[File:Footprint (item).png|32px]] Added the footprint item.}}
{{History|foot}}

== Gallery ==
<gallery>
File:Missing biome.png|The Easter Egg dimension that the item spawns in.
</gallery>

== Trivia ==
* This is a reference to the removed "Footstep" particle, hence in the "missing" dimension.
** This item is intended as a joke directed towards the commands' community where the "Footstep" particle is commonly requested.<ref>https://gist.github.com/boq/8e65cb85badc75765eeb8956af78aaa5</ref>

== References ==
{{reflist}}

{{Items}}
{{Jokes}}

[[Category:Non-renewable resources]]
[[Category:Joke items]]

[[es:Footprint]]
[[pt:Pegada]]</li><li>[[Bone|Bone]]<br/>{{about|the item|the block|Bone Block|other uses|Bone (disambiguation)}}
{{Item
| image = Bone.png
| renewable = Yes
| stackable = Yes (64)
}} 

A '''bone''' is an [[item]] primarily obtained from [[skeleton]]s and similar mobs. It can be crafted into [[Bone Meal|bone meal]] or used to tame wild [[Wolf|wolves]].

== Obtaining ==

=== Chest loot ===

{{LootChestItem|bone}}

=== Mob loot ===

Skeletons, [[wither skeleton]]s, [[skeleton horse]]s, and [[stray]]s may drop 0–2 bones upon death. The maximum drop is increased by 1 per level of Looting, for a maximum of 0-5 bones with Looting III.

{{IN|bedrock}}, [[salmon]], [[cod]], [[pufferfish]], and [[tropical fish]] have 25% chance to drop 1-2 bones upon death. The maximum drop is increased by 1 to 2 per level of Looting, for a maximum of 2-8 bones with Looting III.
Salmon (small and medium size) have 25% chance to drop 1 bone upon death, The maximum drop is increased by 1 to 2 per level of [[Looting]], for a maximum of 2-7 bones with Looting III. The chance of dropping bones increases by 1% per looting level, so with Looting III there is up to a 28% chance of bones dropping.

=== Fishing ===

Bones can also be obtained by [[fishing]] as part of the junk category. The best chance of catching a bone is achieved without the [[Luck of the Sea]] enchantment, yielding a 1.1% chance.

== Usage ==

=== Helmet ===
[[File:Steve wearing Bone.png|thumb|right|75px]]
[[File:Alex wearing Bone.png|thumb|right|75px]]
While a bone cannot be equipped in the head slot in Survival mode, equipping it using commands causes it to appear in the player's mouth.

=== Taming ===

Using a bone on a wild [[wolf]] has a {{frac|1|3}} chance of [[taming]] it. Bones cannot tame a hostile wolf or a wolf that has already been tamed. However, bones can be used to attract the attention of the tamed ones.

=== Crafting ingredient ===
A bone can be crafted into 3 bone meal.

{{crafting usage}}

== Achievements ==
{{load achievements|Leader of the pack}}

== Advancements ==
{{load advancements|Best Friends Forever}}

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showforms=y
|generatetranslationkeys=y
|displayname=Bone
|spritetype=item
|nameid=bone
|form=item
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Bone
|spritetype=item
|nameid=bone
|id=415
|form=item
|foot=1}}

== History ==
{{History|java beta}}
{{History||1.2|[[File:Bone JE1 BE1.png|32px]] Added bones.
|Bones can be [[crafting|crafted]] into [[bone meal]].}}
{{History||1.4|Bones can now be used to tame [[wolves]].}}
{{History|java}}
{{History||1.3.1|snap=12w21a|Bones can now be found within [[desert temple]]s, allowing bones to be obtainable on Peaceful difficulty.}}
{{History||1.4.2|snap=12w36a|Added [[wither skeleton]]s, which has a chance to [[drops|drop]] bones when killed.}}
{{History||1.6.1|snap=13w16a|Added [[skeleton horse]]s, which drop bones when killed.}}
{{History||1.7.2|snap=13w36a|Bones can now be more easily obtained in Peaceful difficulty by [[fishing]]. Although, they are considered a "junk" [[item]].}}
{{History||1.9|snap=15w44a|The average yield of bones in [[desert temple]]s has been slightly decreased.
|Bones can now be found in [[dungeon]] [[chest]]s.}}
{{History||1.10|snap=16w20a|Added [[stray]]s, which [[drops|drop]] bones when killed.}}
{{History||1.11|snap=16w39a|Bones can now found in the new [[woodland mansion]] chests.}}
{{History||1.13|snap=17w47a|Prior to [[1.13/Flattening|''The Flattening'']], this [[item]]'s numeral ID was 352.}}
{{History||1.14|snap=18w43a|[[File:Bone JE2.png|32px]] The texture of bones has now been changed.}}
{{History|||snap=18w44a|[[File:Bone JE3 BE2.png|32px]] The texture of bones has now been slightly changed.}}
{{History||1.19|snap=Deep Dark Experimental Snapshot 1|Bones now generate in [[ancient city]] chests.}}

{{History|pocket alpha}}
{{History||v0.2.0|[[File:Bone JE1 BE1.png|32px]] Added bones. They are currently unobtainable and serve no purpose.}}
{{History||v0.3.3|Added skeletons, which drop bones when they die.
|Bones can now be used to craft [[bone meal]].}}
{{History||v0.5.0|Bones can now be obtained after activating the [[nether reactor]].}}
{{History||v0.9.0|snap=build 1|Added bones to [[Creative]] mode.}}
{{History||v0.11.0|snap=build 1|Bones can now be more easily obtained in Peaceful difficulty by [[fishing]]. Although, they are considered a "junk" [[item]].}}
{{History||v0.12.1|snap=build 1|Added [[wither skeleton]]s, which have a chance to [[drops|drop]] bones when killed.
|Bones are no longer available from the [[nether reactor]].}}
{{History||v0.13.0|snap=build 1|Bones can now be found inside of the [[desert temple]] hidden [[chest]] room.}}
{{History||v0.15.0|snap=build 1|Added [[stray]]s and [[skeleton horse]]s, which drop bones when killed.
|Bones can now be found in [[jungle temple]] [[chest]]s.}}
{{History|pocket}}
{{History||1.1.0|snap=alpha 1.1.0.0|Bone can now be found inside [[woodland mansion]] chests.}}
{{History|bedrock}}
{{History||1.4.0|snap=beta 1.2.14.2|Bones now [[drops|drop]] from [[fish]] mobs.}}
{{History||1.10.0|snap=beta 1.10.0.3|[[File:Bone JE3 BE2.png|32px]] The texture of bones has now been changed.}}

{{History|console}}
{{History||xbox=TU1|xbone=CU1|ps=1.00|wiiu=Patch 1|[[File:Bone JE1 BE1.png|32px]] Added bones.}}
{{History||xbox=TU5|Bones can be found in the Miscellaneous tab in the [[Creative inventory]].}}
{{History||xbox=TU12|Moved bones to the Materials tab in the Creative inventory.}}
{{History||xbox=TU19|xbone=CU7|ps=1.12|wiiu=Patch 1|Added [[wither skeleton]]s, which have a chance to [[drops|drop]] bones when killed.}}
{{History||xbox=TU31|xbone=CU19|ps=1.22|wiiu=Patch 3|Bones can now be obtained from [[fishing]].}}
{{History||xbox=TU46|xbone=CU36|ps=1.38|wiiu=Patch 15|Added [[stray]]s and [[skeleton horse]]s, which drop bones when killed.}}
{{History||xbox=none|xbone=none|ps=1.90|wiiu=none|switch=none|[[File:Bone JE3 BE2.png|32px]] The texture of bones has now been changed.}}

{{History|new 3ds}}
{{History||0.1.0|[[File:Bone JE1 BE1.png|32px]] Added bones.}}
{{History|foot}}

== Issues ==

{{issue list}}

== See also ==

* [[Bone meal]]
* [[Wolf]]
* [[Dyeing]]

{{Items}}

[[Category:Renewable resources]]

[[de:Knochen]]
[[es:Hueso]]
[[fr:Os]]
[[hu:Csont]]
[[it:Osso]]
[[ja:骨]]
[[ko:뼈]]
[[nl:Bot]]
[[pl:Kość]]
[[pt:Osso]]
[[ru:Кость]]
[[th:กระดูก]]
[[tr:Kemik]]
[[uk:Кістка]]
[[zh:骨头]]</li></ul>
18w43aAdded the item model property "custom_model_data".
1.15
{{Extension DPL}}<ul><li>[[Super Fertilizer|Super Fertilizer]]<br/>{{education feature}}
{{Exclusive|Bedrock|Education}}
{{Item
| image = Super Fertilizer.png
| renewable = No
| stackable = Yes (64)
}}
'''Super fertilizer''' is a powerful form of [[bone meal]] that is created using [[ammonia]] and [[phosphorus]].

== Obtaining ==

=== Lab table ===
{| class="wikitable"
! Result
! Materials Needed
|-
!rowspan=2|{{slot|Super Fertilizer}}<br>[[Super Fertilizer]]
|{{slot}}{{slot|Ammonia|link=Compound}}{{slot|Phosphorus|link=Element}}{{slot}}
|-
|<center>[[Compound|Ammonia]], [[Element|Phosphorus]]</center>
|}

== Usage ==

Super fertilizer can be used in the same way as bone meal. It produces more [[flowers]] in a larger area when used on [[grass block]]s compared to bone meal. When super fertilizer is used on a [[sapling]], a [[tree]] is instantly grown after one use, instead of multiple uses as with bone meal. Super fertilizer matures crops with a single use.

Note that super fertilizer does not instantly grow a hanging [[mangrove propagule]]. This could be a bug.

== Sounds ==
{{Sound table
|type=bedrock
|sound=Gravel hit1.ogg
|sound2=Gravel hit2.ogg
|sound3=Gravel hit3.ogg
|sound4=Gravel hit4.ogg
|source=player
|description=When super fertilizer is created by a [[lab table]]
|id=step.gravel
|volume=1.0
|pitch=0.2/0.4}}
{{Sound table
|sound=Bonemeal1.ogg
|sound2=Bonemeal2.ogg
|sound3=Bonemeal3.ogg
|sound4=Bonemeal4.ogg
|sound5=Bonemeal5.ogg
|description=When super fertilizer is successfully used
|source=Blocks
|id=item.bone_meal.use
|foot=1}}

== Data values ==
=== ID ===
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Super Fertilizer
|spritetype=item
|nameid=rapid_fertilizer
|id=597
|form=item
|foot=1}}

== History ==
{{History|bedrock}}
{{History||1.4.0|snap=beta 1.2.20.1|[[File:Super Fertilizer BE1.png|32px]] Added super fertilizer.}}

{{History|education}}
{{History||1.0.27|[[File:Super Fertilizer BE1.png|32px]] Added super fertilizer.}}
{{History|foot}}

{{items}}
{{Education Edition}}

[[Category:Plants]]
[[Category:Non-renewable resources]]
[[Category:Education Edition items]]

[[de:Superdünger]]
[[ja:スーパー肥料]]
[[ko:슈퍼 비료]]
[[lzh:神肥]]
[[pl:Supernawóz]]
[[pt:Super fertilizante]]
[[uk:Супердобриво]]
[[zh:超级肥料]]</li><li>[[Diamond|Diamond]]<br/>{{For}}
{{redirect|Diamonds|the achievement|Achievements#DIAMONDS!|the advancement|Advancements#Diamonds!}}
{{Item
| image = Diamond.png
| renewable = No
| stackable = Yes (64)
| rarity = Common}}
A '''diamond''' is a mineral that can only be obtained from [[Diamond Ore|diamond ore]], [[chest loot|loot chests]] and [[Suspicious Block|suspicious blocks]]. It is required to craft diamond [[tool]]s and [[armor]] (and therefore obtain [[obsidian]] to access the [[The Nether|Nether]]), [[enchanting table]]s, [[jukebox]]es and duplicate [[smithing template]]s.

== Obtaining ==
{{see also|Tutorials/Diamonds}}
=== Mining ===
{{see also|Diamond Ore#Natural generation}}
[[Diamond ore]] can be mined using an iron [[pickaxe]] or stronger. An ore drops a single diamond. If mined by any other tool, it drops nothing. If the pickaxe is enchanted with [[Fortune]], it can drop an extra diamond per level of Fortune, allowing for a maximum of 4 diamonds with Fortune III. If the ore is mined using a pickaxe enchanted with [[Silk Touch]], it drops an ore block rather than a diamond. The ore is found at level 15 or lower, most commonly between -50 and -64; levels -58 and -59 are the preferred levels to mine at since they don't contain [[bedrock]], as it starts spawning at -60.

=== Chest loot ===
{{LootChestItem|diamond}}

=== Suspicious sand ===

When brushing [[suspicious sand]] in [[desert pyramid]]s, they have a {{frac|1|7}} chance to drop a diamond.

=== Crafting ===
{{Crafting
|Block of Diamond
|Output= Diamond,9
|type= Material
}}

=== Smelting ===
{{Smelting
|showname=1
|Diamond Ore; Deepslate Diamond Ore
|Diamond
|1
}}

== Usage ==

Diamonds are mainly used to craft high-tier armor and equipment, which in turn are also used in making [[netherite]] armor and equipment. 

=== Crafting ingredient ===

{{crafting usage}}

=== Trading ===

{{IN|bedrock}}, expert-level armorer, toolsmith, and weaponsmith villagers buy one diamond for an emerald as part of their trades.

{{IN|java}}, journeyman-level armorer villagers have a 40% chance of offering to buy one diamond for one emerald. Expert-level toolsmith villagers have {{frac|2|3}} chance of offering to buy one diamond for one emerald. Expert-level weaponsmith villagers always offer to buy one diamond for one emerald.

=== Repairing ===

Diamonds are the repair items for the diamond [[tier]] and [[armor material]], and thus can be used to [[item repair|repair]] the following items in an [[anvil]] or [[grindstone]]:
* {{ItemLink|Diamond Helmet}}
* {{ItemLink|Diamond Chestplate}}
* {{ItemLink|Diamond Leggings}}
* {{ItemLink|Diamond Boots}}
* {{ItemLink|Diamond Sword}}
* {{ItemLink|Diamond Pickaxe}}
* {{ItemLink|Diamond Axe}}
* {{ItemLink|Diamond Shovel}}
* {{ItemLink|Diamond Hoe}}

=== Beacons ===

Diamonds can be used to select powers from a [[beacon]]. The player must select one of the available powers then insert a diamond into the item slot. 

A diamond can be substituted for an [[iron ingot]], a [[gold ingot]], an [[emerald]] or a [[netherite ingot]].

=== Smithing ingredient ===
{{Smithing
|head=1
|ingredients=Any Armor Trim +<br/>Any Armor Piece + <br/>Diamond
|Any Armor Trim Smithing Template
|Netherite Chestplate
|Diamond
|Diamond Trim Netherite Chestplate
|showdescription=1
|description = All armor types can be used in this recipe,<br/>a netherite chestplate is shown as an example.<br/>
|tail=1
}}

;Trim color palette
The following color palettes are shown on the designs on trimmed armor:
*{{TrimPalette|diamond}}
*{{TrimPalette|diamond|darker=1}} (a darker color palette is used when a diamond armor piece is trimmed using a diamond).

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showitemtags=y
|showforms=y
|generatetranslationkeys=y
|displayname=Diamond
|spritetype=item
|nameid=diamond
|itemtags=beacon_payment_items
|form=item
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Diamond
|spritetype=item
|nameid=diamond
|id=304
|form=item
|foot=1}}

== Achievements ==

{{load achievements|DIAMONDS!;Diamonds to you!;Enchanter}}

== Advancements ==

{{load advancements|Diamonds!}}

== History ==

{{History|java indev}}
{{History||0.31|snap=20100128|[[File:Diamond JE1 BE1.png|32px]] Added diamonds. Initially, they were referred to as "emeralds".
|A stack of 100 diamonds can be found inside the  [[Indev house]] [[chest]]s.}}
{{History|||snap=20100129|Diamond can be used to craft [[diamond block]]s and diamond [[sword]]s, [[shovel]]s, [[pickaxe]]s and [[axe]]s.
|Diamonds can no longer be found inside the Indev House due to all items having been removed from its chests.
|Diamond can be obtained by smelting diamond blocks.}}
{{History|||snap=20100130|[[Emerald]]s from the previous version are now officially known as "diamonds", though this has no actual effect as item names are not yet displayed in-game.
|[[Diamond block]]s now require 9 diamonds (3×3) instead of 4 (2×2) to be [[crafting|crafted]], making them much more expensive.}}
{{History||20100206|Diamonds are now used to craft diamond [[hoe]]s.}}
{{History||20100212-1|Diamonds are now used to craft diamond [[helmet]]s, [[chestplate]]s, [[leggings]] and [[boots]].}}
{{History|java alpha}}
{{History||v1.0.14|Diamonds are now used to craft [[jukebox]]es.}}
{{History|java beta}}
{{History||1.8|snap=Pre-release|Diamonds are now found in [[mineshaft]] [[chest]]s.}}
{{History|java}}
{{History||1.0.0|snap=Beta 1.9 Prerelease 2|[[Diamond ore]] can now be [[smelting|smelted]] into diamonds.}}
{{History|||snap=Beta 1.9 Prerelease 3|Diamonds are now used to craft [[enchantment table]]s.
|Diamonds are now found in [[stronghold]] altar [[chest]]s.}}
{{History||1.1|snap=12w01a|Diamonds are now found in [[village]] [[villager|blacksmith]] [[chest]]s.}}
{{History||1.3.1|snap=12w21a|Diamonds can now be [[trading|traded]] to blacksmith [[villager]]s in quantities of 3–5 for 1 [[emerald]].
|Added [[desert temple]]s, with a hidden [[chest]] room and loot containing diamonds.}}
{{History|||snap=12w21b|Diamonds have been changed in the game code from "emerald" to "diamond", due to actual [[emerald]]s being added. Diamond's original name during [[Indev]], as stated above, was emerald in the code, and was kept this way until this snapshot.}}
{{History|||snap=12w22a|Added [[jungle temple]]s, which contain loot [[chest]]s with diamonds.}}
{{History|||snap=1.3|[[File:Diamond JE2 BE2.png|32px]] The texture of diamonds has been changed.}}
{{History||1.4.6|snap=12w49a|Diamonds can now be used to [[crafting|craft]] a [[firework star]] with a trail.}}
{{History||1.6.1|snap=13w16a|Diamond is now used to craft diamond [[horse armor]].}}
{{History|||snap=13w18a|Diamond is no longer used to craft diamond [[horse armor]].|Diamonds are now found in [[nether fortress]] [[chest]]s.}}
{{History||1.8|snap=14w02a|Diamonds can now be [[traded]] to any black apron [[villager]] in quantities of 3–4 for 1 [[emerald]], as their tier III trade.}}
{{History||1.9|snap=15w31a|Diamonds now generate in [[end city]] [[chest]]s.}}
{{History|||snap=15w43a|The average yield of diamonds have been slightly decreased in [[nether fortress]] chests.}}
{{History|||snap=15w44a|The average yield of diamonds in [[desert temple]] and [[mineshaft]] chests have been decreased.}}
{{History||1.13|snap=17w47a|Prior to [[1.13/Flattening|''The Flattening'']], this [[item]]'s numeral ID was 264.}}
{{History|||snap=18w10a|Diamonds now generate in [[buried treasure]] [[chest]]s.}}
{{History|||snap=18w11a|Diamonds now generate in [[shipwreck]] treasure chests.}}
{{History||1.14|snap=18w43a|[[File:Diamond JE3 BE3.png|32px]] The texture of diamonds has been changed.}}
{{History|||snap=18w50a|Diamonds can now be found in [[chest]]s in [[village]] toolsmith houses.}}
{{History||1.16|snap=20w16a|Diamonds now generate in bastion remnants chests.}}
{{History||1.16.2|snap=20w30a|The chance of finding diamonds in bastion remnant chests is increased from 8.6% to 15.8%.}}
{{History||1.17|snap=21w08a|Diamonds can now drop and be smelted from [[deepslate diamond ore]].}}
{{History||1.20<br>(Experimental)|link=1.19.4|snap=23w04a|Diamonds can now be used to craft [[smithing template]]s.
|Diamonds can now be used as an armor trim material.}}
{{History|||snap=23w07a|Diamonds now drop when brushing [[suspicious sand]] in [[desert pyramid]]s.}}
{{History||1.20|snap=23w12a|The probability for the diamond to generate in the [[suspicious sand]] in [[desert temple]] has been changed from 1/7 to 1/8.}}

{{History|pocket alpha}}
{{History||v0.2.0|[[File:Diamond JE1 BE1.png|32px]] Added diamonds. They are currently unobtainable and serve no purpose.}}
{{History||v0.3.2|Diamonds can be collected and used to craft [[blocks of diamond]] and diamond [[axe]]s, [[pickaxe]]s, [[sword]]s and [[shovel]]s.}}
{{History||v0.4.0|Diamonds are now used to [[crafting|craft]] diamond [[hoe]]s.}}
{{History||v0.5.0|Diamonds are now used to craft [[nether reactor core]]s.}}
{{History||v0.6.0|Diamonds are now used to craft diamond [[armor]].}}
{{History||v0.8.0|snap=build 1|[[File:Diamond JE2 BE2.png|32px]] The texture of diamonds has been changed.}}
{{History||v0.12.1|snap=build 1|Diamonds are now used to craft [[enchanting table]]s.
|Diamonds are no longer used to craft [[nether reactor core]]s and are now instead dropped by it.
|Diamonds now generate in [[nether fortress]] [[chest]]s.}}
{{History||v0.13.0|snap=build 1|Diamonds now have a chance to generate in [[desert temple]] chests.}}
{{History||v0.14.0|snap=build 1|Diamonds are now found in [[minecart with chest]]s in [[mineshaft]]s.}}
{{History||v0.15.0|snap=build 1|Diamonds can now be found in [[jungle temple]] [[chest]]s.}}
{{History|pocket}}
{{History||1.0.0|snap=alpha 0.17.0.1|Diamonds can now be found in altar [[chest]]s in [[stronghold]]s, [[dungeon]] chests and [[end city]] chests.}}
{{History|||snap=alpha 1.0.0.0|Diamonds can now be found in [[villager|blacksmith]] [[chest]]s in [[village]]s.}}
{{History||1.0.4|snap=alpha 1.0.4.0|3-4 diamonds can now be traded to blacksmith [[villager]]s for an [[emerald]] as part of their third tier trades.}}
{{History|bedrock}}
{{History||1.2.0|snap=beta 1.2.0.2|Diamonds can now be used to [[crafting|craft]] a [[firework star]] with a trail. 
|Diamonds can now be used to craft [[jukebox]]es.}}
{{History||1.4.0|snap=beta 1.2.14.2|Diamonds can now be found inside [[buried treasure]] [[chest]]s and [[shipwreck]]s.}}
{{History||1.10.0|snap=beta 1.10.0.3|Diamonds can now be found in [[plains]] [[village]] weaponsmith chests.
|[[File:Diamond JE3 BE3.png|32px]] The texture of diamonds has been changed.}}
{{History||1.11.0|snap=beta 1.11.0.1|Diamonds can now be found in village toolsmith chests and in [[savanna]], [[desert]], [[taiga]], and [[snowy taiga]] village weaponsmith chests.}}
{{History|||snap=beta 1.11.0.4|Armorer, toolsmith, and weaponsmith [[villager]]s now [[trading|buy]] one diamond for an [[emerald]] as part of their fourth tier [[trading|trades]].}}
{{History||1.16.0|snap=beta 1.16.0.57|Diamonds can now be found in [[bastion remnant]] chests.}}
{{History||1.17.0|snap=beta 1.16.230.52|Diamonds can now drop and be smelted from [[deepslate diamond ore]].}}
{{History||1.20.0<br>(Experimental)|link=Bedrock Edition 1.19.70|snap=beta 1.19.70.23|Diamonds now drop when brushing [[suspicious sand]] in [[desert pyramid]]s.}}
{{History||1.20.0<br>(Experimental)|link=Bedrock Edition 1.19.80|snap=beta 1.19.80.21|Diamonds can now be used to craft [[smithing template]]s.
|Diamonds can now be used as an armor trim material.}}

{{History|console}}
{{History||xbox=TU1|xbone=CU1|ps=1.0|wiiu=Patch 1|switch=1.0.1|[[File:Diamond JE1 BE1.png|32px]] Added diamonds.}}
{{History||xbox=TU5|Diamonds are now found in the new [[mineshaft]] [[chest]]s.}}
{{History||xbox=TU7|Diamonds are now used to craft [[enchantment table]]s.}}
{{History||xbox=TU9|Diamonds are now found in [[village]] [[villager|blacksmith]] [[chest]]s.}}
{{History||xbox=TU14|ps=1.04|Diamonds can now be [[trading|traded]] to blacksmith [[villager]]s in quantities of 3–5 for 1 [[emerald]].
|Added [[desert temple]]s, with a hidden [[chest]] room and loot containing diamonds.|Added [[jungle temple]]s, which contain loot [[chest]]s with diamonds.|[[File:Diamond JE2 BE2.png|32px]] The texture of diamonds has been changed.}}
{{History||xbox=TU19|xbone=CU7|ps=1.12|Diamonds can now be used to [[crafting|craft]] a [[firework star]] with a trail|Diamonds are now found in the new [[nether fortress]] [[chest]]s.}}
{{History||xbox=TU31|xbone=CU19|ps=1.22|wiiu=Patch 3|Diamonds can now be [[traded]] to any black apron [[villager]] in quantities of 3–4 for 1 [[emerald]], as their tier III trade.}}
{{History||xbox=TU46|xbone=CU36|ps=1.36|wiiu=Patch 15|Diamonds now generate in [[end city]] [[chest]]s.}}
{{History||xbox=TU69|xbone=none|ps=1.76|wiiu=Patch 38|switch=none|Diamonds now generate in [[buried treasure]] [[chest]]s.|Diamonds now generate in [[shipwreck]] treasure chests.}}
{{History||xbox=none|ps=1.90|wiiu=none|[[File:Diamond JE3 BE3.png|32px]] The texture of diamonds has been changed.}}

{{History|new3DS}}
{{History||0.1.0|[[File:Diamond JE2 BE2.png|32px]] Added diamonds.}}
{{History|foot}}

==Issues==
{{issue list}}

==Trivia==
*Unlike in ''Minecraft'', newly mined [[Wikipedia:Diamond|diamond]]s in real life are rough, cloudy stones. The largest, purest ones are polished into crystal-clear gemstones, while the rest are used in industry for cutting and grinding.
*Although diamonds themselves are not renewable, all tools, weapons, and armor made from diamonds can be acquired through [[trading]], and are therefore renewable. Other items crafted from diamonds are not renewable.
*In the April fools version [[Java Edition 2.0]], [[Diamond Chicken|diamond chickens]] can lay diamonds. This does not exist in newer versions, as this was a joke.
*The item forms of diamonds and [[Turtle Egg|turtle eggs]] have the same shape.

==Gallery==
<gallery>
File:DiamondOre.png|Naturally occurring diamonds.
File:MultipleOreBlobs.png|Multiple ore blobs.
File:Lava Diamond.png|Diamond ore near Lava.
File:Diamond ore blob.png|Another Diamond ore blob near Lava.
File:10 ore diamond blob.png|10 ore diamond blob.
File:Trading a diamond for an emerald.png|A blacksmith offering an [[emerald]] for a diamond.
File:Diamond Pendant Necklace JINX.jpg|Official diamond pendant made by [https://www.jinx.com JINX].
File:All Mine JINX.jpg|Official t-shirt artwork "All Mine" which features a diamond. Made by JINX
File:4 ways of viewing 12 diamonds in stone form.png|4 ways of viewing 12 diamonds in stone form
</gallery>

== External Links ==
*[https://www.minecraft.net/en-us/article/taking-inventory--diamond Taking Inventory: Diamond] – Minecraft.net on February 20, 2019

{{items}}

[[cs:Diamant]]
[[de:Diamant]]
[[el:Διαμάντι]]
[[es:Diamante]]
[[fr:Diamant]]
[[hu:Gyémánt]]
[[it:Diamante]]
[[ja:ダイヤモンド]]
[[ko:다이아몬드]]
[[nl:Diamant]]
[[pl:Diament]]
[[pt:Diamante]]
[[ru:Алмаз]]
[[th:เพชร]]
[[tr:Elmas]]
[[uk:Діамант]]
[[zh:钻石]]
[[Category:Non-renewable resources]]</li></ul>
19w39aLighting of blocks in the inventory has been swapped from being dark on the right to being dark on the left.
19w40aLighting of blocks in the inventory is once again darker on the right, as it was before 19w39a.