Minecraft Wiki
Advertisement
Information icon
This feature is exclusive to Java Edition. 
This article is about functions in Java Edition. For functions in Bedrock Edition, see Function (Bedrock).

Functions allow players to run lists of commands using text files with the extension .mcfunction. It is recommended to use UTF-8 encoding (without BOM) for function files to prevent any problems.

Usage

To utilize functions, the text files must first be placed into a top-level folder within [WORLD_NAME]/data/functions/[NAMESPACE]/functions. For single player, the world folders can be found in .minecraft/saves. For multiplayer, functions must be placed in every world folder that wants to utilize them (In 1.12 you MUST place the functions inside the main world folder (the one specified in the server.properties, level-name=(world-name here)), otherwise it will NOT work.). The name of the new top-level folder will be the namespace used when running the functions inside. Functions can also be placed into subfolders within the top-level folder.

For example, running the function custom:example/test will refer to the file located at data/functions/custom/example/test.mcfunction. If the namespace is left out when trying to call a function, it will default to the minecraft: namespace. Using a custom namespace is recommended in order to prevent unintended behavior in the case of future additions to the default namespace.[1]

Functions, being text files, are easily modifiable and less likely than command blocks to induce lag when used in large quantities. If a function is modified or added, using the /reload command will reload the function files from disk. This allows Minecraft to recognize any changes to the function files, without the need to quit and re-enter the world.

Upon successfully running a function, a message will display in the chat: Executed [amount] command(s) from function '[function file directory]'. The successful output of the commands inside a function cannot be measured with a comparator (although the same effect could be accomplished with the use of /stats and /scoreboard commands).

Function syntax

TestingFunctions

Testing the function system. Three /tellraw messages and one /give command were used in this simple function.

Within the .mcfunction file, one valid command is placed per line, without the usual forward slash (/). Players can add comments within the function text file by preceding them with a #.

Individual commands in functions can be longer than the 32,500 character limit in command blocks but the total number of commands run inside a function will still obey /gamerule maxCommandChainLength, which is 65,536 commands by default; any commands beyond this limit will be ignored.

Running a function

Functions will run all of their commands in a single tick and functions called from within other functions will also run their commands in the same tick as their parent. Functions will use the command environment of whatever called the function. This includes command sender, position, rotation, etc.

Changes to the command environment that happen within a function will not affect the command environment used by the other commands within that same function (or within its child functions) until the next iteration, regardless of the order of commands. The /execute command is an exception and will update the command environment.

For example:

execute as @a at @s run function foo:bar

foo:bar

teleport @s ~ ~5 ~
setblock ~ ~-1 ~ emerald_block
execute at @s run setblock ~ ~-1 ~ diamond_block

When called through a player this function will teleport that player 5 blocks up, place an emerald block one block below their original position before the teleport, and place a diamond block one block below their new position after the teleport. This behavior does not affect target selector arguments.

There are several methods of running a function file in-game:

Commands

/function
  • Allows players to run a function once.
  • The commands in the function are run through the entity or command block that ran the /function command.
  • The optional arguments if and unless will make the function only run when the selector was found or not found in the world respectively.
  • Usage: /function <name>

Advancements

Advancements can run a function once as a reward for completing them. The commands in the function are run through the player who completed the advancement.

Reward functions are called within advancement JSON files using the following format:

{
    "rewards": {
        "function": "namespace:path/to/function/file"
    }
}

Tags

Functions can be grouped together using tags in data packs. These tags can then be called to run all the functions inside that tag with /function #(namespace):tag.

Functions tagged in minecraft:tick will automatically run every tick at the beginning of the tick. Functions tagged in minecraft:load will run after (re)loading the datapack.

History

Java Edition
1.12
{{Extension DPL}}<ul><li>[[Black Dye|Black Dye]]<br/>{{Item
| image = Black Dye.png
| renewable = Yes
| stackable = Yes (64)
}}

'''Black dye''' is a [[Dye#Primary|primary color dye]] similar to an [[ink sac]].

== Obtaining ==

=== Trading ===
[[Wandering trader]]s have a chance to [[trading|trade]] 3 black dyes for 1 [[emerald]].{{only|java}}

=== Crafting ===
{{Crafting
  |head=1
  |showname=0
  |Ink Sac
  |Output=Black Dye
  |type=Material
}}
{{Crafting
  |Wither Rose
  |Output=Black Dye
  |type=Material
  |foot=1
}}

== Usage  ==

{{dye usage}}

=== Crafting ingredient ===

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

=== Loom ingredient ===
{{Banner loom usage|Black Dye}}

=== Trading ===

Apprentice-level Shepherd villagers have a 20%{{only|bedrock}} or {{frac|2|7}}{{only|java}} chance to buy 12 black dye for an emerald.

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

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|showaliasids=y
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Black Dye
|spritetype=item
|nameid=black_dye
|aliasid=dye / 16
|id=395
|form=item
|translationkey=item.dye.black_new.name
|foot=1}}

== History ==

{{History|java}}
{{History||1.14|snap=18w43a|[[File:Black Dye JE1 BE1.png|32px]] Added black dye.}}
{{History|||snap=18w44a|Black dyes now can changed the text color on the [[sign]]s to black.}}
{{History|||snap=19w05a|Added the [[wandering trader]], which sell black dyes.}}
{{History|||snap=19w11a|Black dyes can now be [[trading|bought]] by shepherd villagers.}}
{{History||1.15|snap=Pre-release 1|Black dye can now be used to craft [[prismarine|dark prismarine]], just like [[Bedrock Edition]].}}
{{History||1.17|snap=20w45a|Black dyes can now used to craft newly added [[black candle]]s.}}
{{History|||snap=21w19a|Black dyes can no longer used to craft black candles.}}
{{History|||snap=Pre-release 1|Black dyes can once again used to craft black candles.}}
{{History||1.20<br>(Experimental)|link=1.19.3|snap=22w42a|Black dyes now can change the text color on [[hanging sign]]s to black.}}

{{History|bedrock}}
{{History||1.8.0|snap=beta 1.8.0.10|[[File:Black Dye JE1 BE1.png|32px]] Added black dye.}}
{{History||1.11.0|snap=beta 1.11.0.4|Black dye can now be [[trading|sold]] to shepherd [[villager]]s.}}
{{history||1.13.0|snap=beta 1.13.0.9|Black dye can now be [[crafting|crafted]] from [[flower|wither roses]].}}
{{History||1.16.100|snap=beta 1.16.100.56|The ID of black dye has been changed from <code>dye/16</code> to <code>black_dye</code>.}}

{{History|ps4}}
{{History||1.83|[[File:Black Dye JE1 BE1.png|32px]] Added black dye.}}
{{History|foot}}

== Issues ==

{{issue list}}

{{Items}}

[[Category:Dyes]]
[[Category:Renewable resources]]

[[de:Schwarzer Farbstoff]]
[[es:Tinte negro]]
[[fr:Teinture noire]]
[[ja:黒色の染料]]
[[ko:검은색 염료]]
[[pl:Czarny barwnik]]
[[pt:Corante preto]]
[[th:สีย้อมสีดำ]]
[[zh:黑色染料]]</li><li>[[Bottle o' Enchanting|Bottle o' Enchanting]]<br/>{{ItemEntity
|image=Bottle o' Enchanting.gif
|imagesize=160px
|invimage=Bottle o' Enchanting
|stackable=Yes (64)
|renewable=Yes
|size=Height: 0.25 Blocks<br>Width: 0.25 Blocks
|rarity=Uncommon
|networkid='''[[JE]]''': 75
}}

A '''bottle o' enchanting''' is a throwable item that releases [[experience]] orbs on impact.

== Obtaining ==

=== Trading ===
Master-level cleric [[villager]]s sell bottles o' enchanting for 3 emeralds as part of their trade.

=== Natural generation ===

{{LootChestItem|bottle-o'-enchanting}}

== Usage ==

A bottle o' enchanting can be thrown by pressing {{control|use}}. On impact, it drops [[experience]] orbs worth {{xp|3|11}} (average 7.0) and sends out blue particles.

== Sounds ==
{{Edition|Java}}:<br>
Bottles o' enchanting use the Friendly Creatures sound category for entity-dependent sound events.
{{Sound table
|sound=Glass dig1.ogg
|sound2=Glass dig2.ogg
|sound3=Glass dig3.ogg
|subtitle=Bottle smashes
|source=neutral
|description=When a bottle o' enchanting impacts something
|id=entity.splash_potion.break
|translationkey=subtitles.entity.potion.splash
|volume=1.0
|pitch=0.9-1.0
|distance=16}}
{{Sound table
|rowspan=2
|sound=Bow shoot.ogg
|subtitle=Bottle thrown
|source=neutral
|description=When a bottle o' enchanting is thrown by a player
|id=entity.experience_bottle.throw
|translationkey=subtitles.entity.potion.throw
|volume=0.5
|pitch={{frac|1|3}}-0.5
|distance=16}}
{{Sound table
|subtitle=Dispensed item
|source=block
|description=When a bottle o' enchanting is dispensed from a [[dispenser]]
|id=block.dispenser.launch
|translationkey=subtitles.block.dispenser.dispense
|volume=1.0
|pitch=1.2
|distance=16
|foot=1}}

{{Edition|Bedrock}}:
{{Sound table
|type=bedrock
|sound=Glass dig1.ogg
|sound2=Glass dig2.ogg
|sound3=Glass dig3.ogg
|source=block
|description=When a splash potion impacts something
|id=random.glass
|volume=1.0
|pitch=1.0}}
{{Sound table
|rowspan=2
|sound=Bow shoot.ogg
|source=player
|description=When a splash potion is thrown by a player
|id=random.bow
|volume=0.5
|pitch=0.33-0.5}}
{{Sound table
|source=player
|description=When a splash potion is dispensed from a dispenser
|id=random.bow
|volume=1.0
|pitch=0.83-1.25
|foot=1}}

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|firstcolumnname=Item
|showforms=y
|generatetranslationkeys=y
|displayname=Bottle o' Enchanting
|spritetype=item
|nameid=experience_bottle
|form=item
|foot=1}}
{{ID table
|edition=java
|firstcolumnname=Entity
|generatetranslationkeys=y
|displayname=Thrown Bottle o' Enchanting
|spritetype=entity
|spritename=Bottle o' Enchanting
|nameid=experience_bottle
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|firstcolumnname=Item
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Bottle o' Enchanting
|spritetype=item
|nameid=experience_bottle
|id=508
|form=item
|foot=1}}
{{ID table
|edition=bedrock
|firstcolumnname=Entity
|shownumericids=y
|generatetranslationkeys=y
|displayname=Bottle o' Enchanting
|spritetype=entity
|nameid=xp_bottle
|id=68
|foot=1}}

=== Entity data ===
{{see also|Chunk format}}

Thrown bottles o' enchanting have entity data that define various properties of the entity.

{{/ED}}

== History ==
<!--When were dispensers made able to fire these? Or was this always a thing?-->
{{History|java}}
{{History||1.2.1|snap=12w04a|[[File:Bottle o' Enchanting JE1 BE1.png|32px]] Added bottles o' enchanting. 
|Bottles o' enchanting can currently be obtained only in [[creative]] mode.}}
{{History||1.3.1|snap=12w21a|With the implementation of the [[trading]] system, the [[player]] can now trade with priest [[villager]]s to obtain 2–4 bottles o' enchanting for 1 [[emerald]].}}
{{History||1.8|snap=14w02a|With the trading revamp, villagers no longer [[trading|sell]] bottles o' enchanting, making them again unobtainable in regular [[survival]].}}
{{History|||snap=14w31a|Cleric [[villager]]s now sell bottles o' enchanting for 3–11 [[emerald]]s each, making them [[renewable resource|renewable]] again.}}
{{History||1.9|snap=15w49a|Bottles o' enchanting, like all projectiles, now take thrower's motion into account.}}
{{History||1.11|snap=16w32a|The entity ID has now been changed from <code>ThrownExpBottle</code> to <code>xp_bottle</code>.}}
{{History||1.13|snap=17w47a|Prior to [[1.13/Flattening|''The Flattening'']], this [[item]]'s numeral ID was 384.}}
{{History|||snap=18w11a|Bottles o' enchanting can now generate in [[shipwreck]] chests.}}
{{History|||snap=pre5|The entity ID has now been changed to <code>experience_bottle</code>.}}
{{History||1.14|snap=18w43a|[[File:Bottle o' Enchanting JE2 BE2.png|32px]] The texture of bottles o' enchanting has now been changed.}}
{{History|||snap=18w47a|Bottles o' enchanting can now generate in [[pillager outpost]] chests.}}
{{History||1.19|snap=22w13a|Bottles o' enchanting may now be found in [[ancient city]] [[chest]]s.}}

{{History|pocket alpha}}
{{History||v0.12.1|snap=build 1|[[File:Bottle o' Enchanting JE1 BE1.png|32px]] Added bottles o' enchanting. 
|Due to the lack of [[trading]], bottles o' enchanting are currently available only in [[creative]] mode, similar to [[Java Edition 12w04a|12w04a]] when it was first released.}}
{{History|pocket}}
{{History||1.0.4|snap=alpha 1.0.4.0|With [[villager]] [[trading]] added, it is now possible to obtain bottles o' enchanting legitimately.}}
{{History||1.1.0|snap=alpha 1.1.0.0|The entity ID has now been changed from <code>potion.experience</code> to <code>xp_bottle</code>.}}
{{History|bedrock}}
{{History||1.4.0|snap=beta 1.2.14.2|Bottles o' enchanting can now be found inside [[shipwreck]] and [[buried treasure]] [[chest]]s.}}
{{History||1.10.0|snap=beta 1.10.0.3|Bottles o' enchanting can now be found in [[pillager outpost]] chests.
|[[File:Bottle o' Enchanting JE2 BE2.png|32px]] The texture of bottles o' enchanting has now been changed.}}
{{History||1.11.0|snap=beta 1.11.0.4|[[Trading]] has now been changed and bottles o' enchanting are now [[trading|sold]] by cleric [[villager]]s for 3 [[emerald]]s.}}

{{History|console}}
{{History||xbox=TU7|xbone=CU1|ps=1.0|wiiu=Patch 1|[[File:Bottle o' Enchanting JE1 BE1.png|32px]] Added bottles o' enchanting.
|Bottle o' enchanting can be found in the Miscellaneous tab in the [[Creative inventory]].}}
{{History||xbox=TU12|Moved bottle o' enchanting to the Brewing tab in the Creative inventory.}}
{{History|PS4}}
{{History||1.90|[[File:Bottle o' Enchanting JE2 BE2.png|32px]] The texture of bottles o' enchanting has now been changed.}}

{{History|3ds}}
{{History||0.1.0|[[File:Bottle o' Enchanting JE1 BE1.png|32px]] Added bottles o' enchanting.
|Bottles o' enchanting are not available within the [[Creative inventory]].}}
{{History||?|Added bottles o' enchanting to the Creative inventory.{{info needed|Which update did this occur?}}}}
{{History|foot}}

== Issues ==
{{issue list|Bottle o' Enchanting|Experience Bottle}}

== Gallery ==

<gallery>
Bottle O' Enchanting Splash.gif|Bottle o' enchanting splash animation on impact.
Bottle O' Enchanting villager.png|Players may trade with villagers to obtain bottles o' enchanting in survival mode.
</gallery>


{{Items}}
{{Entities}}

[[cs:Lektvar očarování]]
[[de:Erfahrungsfläschchen]]
[[es:Frasco con experiencia]]
[[fr:Fiole d'expérience]]
[[ja:エンチャントの瓶]]
[[ko:경험치 병]]
[[pl:Zaklęta butelka]]
[[pt:Frasco de experiência]]
[[ru:Зелье опыта]]
[[th:ขวดแห่งเวทมนตร์]]
[[zh:附魔之瓶]]</li></ul>
pre1Added functions.
pre3Commands are no longer allowed to begin with a / (forward slash)
Comments can now only be preceded with #; using // is no longer allowed
pre4Added new arguments to the /function command: [if|unless] [selector]
pre6Skipped functions (when a conditional fails) are now considered failures when used in commands.
1.13
{{Extension DPL}}<ul><li>[[Bookshelf|Bookshelf]]<br/>{{About|the bookshelf used with an enchanting table|the bookshelf that can hold books|Chiseled Bookshelf}}
{{Block
|image=Bookshelf.png
|transparent=No
|light=No
|tool=Axe
|renewable=Yes
|stackable=Yes (64)
|flammable=Yes (30)
|lavasusceptible=Yes
}}
'''Bookshelves''' are [[blocks]] that improve [[enchanting|enchantments]] applied with an [[enchanting table]] when placed around one, up to a maximum of fifteen bookshelves, at the expense of [[Enchanting/Levels|level]] requirement.

== Obtaining ==
=== Natural generation ===
Bookshelves can generate in village libraries and sometimes village houses.

[[Stronghold]]s may contain up to two libraries, each of which may be single-level or have an upper balcony. These feature some bookshelves arranged in pillars, and more bookshelves arranged in pillars in the walls. Single-level libraries contain 161 bookshelves, while libraries with balconies contain 233.

Bookshelves also naturally generate in certain [[woodland mansion]] rooms.

=== Breaking ===
Bookshelves can be broken fairly easily by hand, but can be broken faster by using an [[axe]]. In either case, they drop 3 books when broken, allowing the reconstruction of the bookshelf with the addition of six wood planks. When broken by an item that is [[enchanted]] with [[Silk Touch]], a bookshelf drops itself.
{{breaking row|horizontal=1|Bookshelf|Axe}}

=== Crafting ===
{{Crafting
|A1=Any Planks
|B1=Any Planks
|C1=Any Planks
|A2=Book
|B2=Book
|C2=Book
|A3=Any Planks
|B3=Any Planks
|C3=Any Planks
|Output=Bookshelf
|type=Building block
}}

=== Trading ===
Novice-level librarian [[Villager|villagers]] have a 50% chance to sell 1 bookshelf for 9 [[Emerald|emeralds]] as part of their trades.{{only|bedrock}}

Novice-level librarian villagers have a {{frac|2|3}} chance to sell 1 bookshelf for 9 emeralds.{{only|java}}

== Usage ==
=== Enchanting ===
{{main|Enchantment mechanics#Bookshelf placement}}

If an [[enchanting table]] is placed near a bookshelf, glyph [[particles]] fly from the bookshelf toward the enchanting table. Having bookshelves in the proper position near the table allows the table to apply higher-level enchantments.

=== Crafting ingredient ===
{{crafting usage}}

=== Fuel ===
Bookshelves can be used as a [[fuel]] in [[furnace]]s, smelting 1.5 items per block.

=== Villager ===
Librarian [[villager]]s can interact with bookshelves.

=== Note Blocks ===
Bookshelf can be placed under [[note block]]s to produce "bass" sounds.

== Sounds ==
{{Sound table/Block/Wood}}

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showforms=y
|generatetranslationkeys=y
|displayname=Bookshelf
|spritetype=block
|nameid=bookshelf
|showblocktags=y|blocktags=mineable/axe
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|generatetranslationkeys=y
|displayname=Bookshelf
|spritetype=block
|nameid=bookshelf
|id=47
|foot=1}}

== Achievements ==
{{load achievements|Librarian}}

== History ==
{{History|java classic}}
{{History||October 24, 2009|link=https://notch.tumblr.com/post/221308991/the-new-block-types-and-new-graphics-for-the-gold|Bookshelves were teased by [[Notch]].}}
{{History||0.26 SURVIVAL TEST|[[File:Bookshelf JE1.png|32px]] Added bookshelves.
|Bookshelves are currently impossible to obtain without loading a pre-edited map.
|Bookshelves are currently destroyed in [[explosion]]s.
|When bookshelves are broken, they currently do not drop anything.}}
{{History||0.28|Bookshelves can now be freely placed.}}
{{History|java alpha}}
{{History||v1.0.11|Bookshelves can now be [[crafting|crafted]] from 3 [[book]]s and 6 [[planks]].}}
{{History|java beta}}
{{History||1.8|snap=Pre-release|Bookshelves can now be found generated in libraries in [[village]]s, and libraries in [[stronghold]]s.}}
{{History|java}}
{{History||1.0.0|snap=Beta 1.9 Prerelease 3|Bookshelves now drop 3 [[book]]s when broken by a non-[[Silk Touch]] [[item]].
|They are now necessary to [[enchanting|enchant]] with higher levels for better enchanted items.
|The number of bookshelves required to reach the maximum enchantment level is 30.}}
{{History|||snap=Beta 1.9 Prerelease 5|[[File:Bookshelf JE2 BE1.png|32px]] The top texture of bookshelves have now been updated as a result of the [[planks]] texture update.}}
{{History||1.2.4|snap=release|[[Spruce planks]], [[birch planks]], and [[jungle planks]] can now be used to craft bookshelves.}}
{{History||1.3.1|snap=12w21a|Librarian [[villager]]s now [[trading|sell]] 1 bookshelf for 3 [[emerald]]s.}}
{{History|||snap=12w22a|The number of bookshelves required to reach the maximum enchantment level has been now decreased to 15.}}
{{History||1.7.2|snap=1.7.1|[[Acacia planks]] and [[dark oak planks]] can now be used to craft bookshelves.}}
{{History||1.8|snap=14w02a|Librarian villagers now sell 1 bookshelf for 3–4 [[emerald]]s.}}
{{History||1.11|snap=16w39a|Bookshelves now generate in [[woodland mansion]]s.}}
{{History||1.13|snap=17w47a|Prior to [[1.13/Flattening|''The Flattening'']], this [[block]]'s numeral ID was 47.}}
{{History||1.14|snap=18w43a|[[File:Bookshelf JE3.png|32px]] The texture of bookshelves has now been changed.}}
{{History|||snap=18w47a|[[File:Bookshelf JE4 BE2.png|32px]] The texture of bookshelves has now been changed, once again.}}
{{History|||snap=19w02a|Bookshelves can now be used to craft [[lectern]]s.}}
{{History||1.16|snap=20w06a|[[Crimson planks]] and [[warped planks]] can now be used to craft bookshelves.}}
{{History||1.19|snap=22w11a|[[Mangrove planks]] can now be used to craft bookshelves.}}

{{History|pocket alpha}}
{{History||v0.2.1|[[File:Bookshelf JE2 BE1.png|32px]] Added bookshelves.|Bookshelves are currently obtainable only in [[Creative]] mode.}}
{{History||v0.3.0|Bookshelves are now obtainable in [[Survival]] mode.}}
{{History||v0.9.0|snap=build 1|Bookshelves now naturally spawn in [[stronghold]]s and [[village]]s.}}
{{History||v0.12.1|snap=build 1|Bookshelves can now be used to increase [[enchantment table]] levels.|Bookshelves can now be obtained by using a [[tool]] with the [[Silk Touch]] enchantment.}}
{{History|pocket}}
{{History||1.0.4|snap=alpha 1.0.4.0|Librarian [[villager]]s now [[trading|sell]] 1 bookshelf for 3-4 [[emerald]]s as their second tier trade.}} 
{{History||1.1.0|snap=alpha 1.1.0.0|Bookshelves now generate in [[woodland mansion]]s.}}
{{History|bedrock}}
{{History||1.10.0|snap=beta 1.10.0.3|Bookshelves can now be used to craft [[lectern]]s.|Bookshelves now get inspected by librarian [[villager]]s.|[[File:Bookshelf JE4 BE2.png|32px]] The texture of bookshelves has been changed.}}
{{History||1.11.0|snap=beta 1.11.0.4|[[Trading]] has now been changed, librarian villagers now have a 50% chance to sell a bookshelf for 6 [[emerald]]s as part of their first trade.}}

{{History|console}}
{{History||xbox=TU1|xbone=CU1|ps=1.00|wiiu=Patch 1|switch=1.0.1|[[File:Bookshelf JE2 BE1.png|32px]] Added bookshelves. Whether they actually used this texture is unknown.}}
{{History||xbox=none|xbone=none|ps=1.90|wiiu=none|switch=none|[[File:Bookshelf JE4 BE2.png|32px]] The texture of bookshelves has been changed.}}

{{History|new 3ds}}
{{History||0.1.0|[[File:Bookshelf JE2 BE1.png|32px]] Added bookshelves.}}
{{History|foot}}

== Issues ==
{{Issue list}}

== Trivia ==
* Bookshelves' top and bottom textures by default use the same texture as [[oak planks]].
* It takes 90 planks, 45 [[leather]] and 135 [[paper]] to make 15 bookshelves in order to get a level 30 [[enchantment]].
* A bookshelf is the icon for [[Education Edition]].

== Gallery ==
<gallery>
File:Library in Village.png|Naturally occurring bookshelves in a [[village]]. (Before Village & Pillage).
File:Large Stronghold Library.png|Naturally occurring bookshelves in a [[stronghold]].
File:Achievement get! Trading emeralds for bookshelves.png|Bookshelves obtained by [[trading]] with a [[villager]].
File:Enchanting-Table.png|Bookshelves powering an [[enchanting table]].
</gallery>

== References ==
{{Reflist}}

== External Links ==
*[https://www.minecraft.net/en-us/article/block-week-bookshelf Block of the Week: Bookshelf] – Minecraft.net on December 16, 2016

{{Blocks|Building}}

[[Category:Manufactured blocks]]
[[Category:Natural blocks]]
[[Category:Generated structure blocks]]
[[Category:Utility blocks]]
[[Category:Bedrock Edition]]
[[Category:Java Edition]]
[[Category:Items]]
[[Category:Flammable blocks]]

[[cs:Knihovna]]
[[de:Bücherregal]]
[[es:Librería]]
[[fr:Bibliothèque]]
[[hu:Könyvespolc]]
[[it:Libreria]]
[[ja:本棚]]
[[ko:책장]]
[[nl:Boekenkast]]
[[pl:Biblioteczka]]
[[pt:Estante de livros]]
[[ru:Книжные полки]]
[[th:ชั้นหนังสือ]]
[[uk:Книжкова полиця]]
[[zh:书架]]</li><li>[[Raw Salmon|Raw Salmon]]<br/>{{about|the item|the mob|Salmon}}
{{Item
| title = Raw Salmon
| image = Raw Salmon.png
| renewable = Yes
| heals = {{hunger|2}}
| stackable = Yes (64)
}}
'''Raw salmon''' is a food item that can be eaten by the [[player]] or cooked to make [[cooked salmon]].

== Obtaining ==

=== Mob loot ===
====Salmon====
[[Salmon]] always drops 1 raw salmon when killed, unaffected by Looting.<ref>{{bug|MC-212795||Salmon & Fish mobs are not affected by Looting}}</ref> If it is killed while on [[fire]], it drops 1 [[Cooked Salmon|cooked salmon]] instead.
====Guardians and elder guardians ====
[[Guardian|Guardians]] and [[Elder Guardian|elder guardians]] have a 2.5% chance to drop a random fish, with 25% of them being raw salmon, which drops as cooked if the guardian was on fire. The chance of getting the fish drop is increased by 1% per level with [[Looting]] (for a maximum of 5.5% with Looting III), but the type of fish is not affected.
====Polar bears====
[[Polar bear]]s have a 25% chance of dropping 0–2 raw salmon when killed. The maximum amount can be increased by 1 per level of Looting, for a maximum of 0-5 with Looting III. If killed while on fire, they drop cooked salmon instead.
=== Fishing ===
{{main|Fishing}}Raw salmon can be obtained from [[fishing]]. The wait time of one being caught is decreased with the [[Lure]] enchantment and the chance of one being caught is slightly decreased with the [[Luck of the Sea]] enchantment (named as such because it increases treasure, not fish).

Catching salmon awards 1-6 experience.

=== Chest loot ===

{{LootChestItem|raw-salmon}}

=== Villager gifts ===
{{in|java}}, Fisherman villagers throw raw salmon at [[player]]s under the [[Hero of the Village]] effect.

== Usage ==

=== Smelting ingredient ===

{{smelting
|Raw Salmon
|Cooked Salmon
|0.35
}}

=== Food ===

Raw salmon restores {{hunger|2}} [[hunger]] and 0.2 [[Hunger#Mechanics|saturation]].

=== Cats ===
Raw salmon can be used to tame [[cat]]s with {{frac|1|3}} chance of success, get cats off of [[chest]]s, and [[bed]]s, [[breed]] cats, and make baby cats grow up faster by 10% of the remaining time. Additionally, raw salmon can be used to heal cats by {{hp|2|mob=1}}.

Raw salmon can be used to gain [[ocelot]] trust, breed ocelots, and make baby ocelots grow up by 10%.
=== Dolphins ===

A [[dolphin]] can be fed raw salmon to increase its trust of the player and cause it to interact with the player more often. However, unlike most other animal mobs, this does not cause them to breed.

Additionally, dolphins swim to the nearest chest in a [[shipwreck]] or [[underwater ruin]] after they are fed raw salmon. If the chest in the nearest structure is broken, they swim to another structure with a chest.

=== Trading ===

Apprentice-level Fisherman [[villager]]s have 50%{{only|bedrock}} or {{frac|2|3}}{{only|java}} chance to buy 6 raw salmon and one [[emerald]] for 6 cooked salmon.

Journeyman-level Fisherman villagers offer to buy 13 raw salmon for an emerald.

=== Wolves ===
{{IN|bedrock}}, raw salmon can be fed only to [[wolves]] not at full health, healing them by {{hp|2|mob=1}}. Unlike other wolf food, raw salmon cannot be used to breed wolves or to accelerate the growth of baby wolves.

==Sounds==
{{Sound table/Entity/Food}}

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showitemtags=y
|showforms=y
|generatetranslationkeys=y
|displayname=Raw Salmon
|spritetype=item
|nameid=salmon
|itemtags=fishes
|form=item
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Raw Salmon
|spritetype=item
|nameid=salmon
|id=265
|form=item
|foot=1}}

== Achievements ==
{{load achievements|Lion Hunter}}

== Advancements ==
{{load advancements|Husbandry;A Balanced Diet;Fishy Business;A Complete Catalogue}}

== Video ==
<span style="display:inline-block">{{yt|s_GcAFeoREk}}</span>

== History ==
{{History|java}}
{{History||1.7.2|snap=13w36a|[[File:Raw Salmon JE1 BE1.png|32px]] Added raw salmon.}}
{{History||1.8|snap=14w25a|Raw salmon is now obtainable rare drops from [[guardian]]s and [[elder guardians]].}}
{{History||1.9|snap=15w44a|Raw salmon can now be found in [[bonus chest]]s.}}
{{History||1.10|snap=16w20a|Raw salmon is now dropped from [[polar bear]]s.}}
{{History||1.13|snap=17w47a|The different data values for the <code>fish</code> and <code>cooked_fish</code> IDs have been split up into their own IDs.
|Prior to [[1.13/Flattening|''The Flattening'']], these [[item]]s' numeral IDs were 349 and 250.}}
{{History|||snap=18w08b|Salmon has been added as a [[mob]], which drops raw salmon when killed (cooked while on [[fire]]).
|[[File:Raw Salmon JE2 BE2.png|32px]] The texture for raw salmon has been changed.}}
{{History||1.14|snap=18w48a|Raw salmon can now be found in chests in [[village]] fisher cottages.}}
{{History|||snap=19w11a|Fisherman [[villager]]s now [[trading|buy]] raw salmon.}}
{{History|||snap=19w13a|Fisherman villagers now give raw salmon to players under the [[Hero of the Village]] effect.}}

{{History|pocket alpha}}
{{History||v0.11.0|snap=build 1|[[File:Raw Salmon JE1 BE1.png|32px]] Added raw salmon.}}
{{History||v0.12.1|snap=build 1|Salmon now restores [[hunger]] instead of [[health]].
|Raw salmon can now be used to tame [[ocelot]]s.}}
{{History||v0.16.0|snap=build 1|Salmon is now [[drops|dropped]] by [[guardian]]s and [[elder guardian]]s.}}
{{History|pocket}}
{{History||1.0.0|snap=alpha 0.17.0.1|Added [[polar bear]]s, which drop raw salmon.}}
{{History|bedrock}}
{{History||1.2.0|snap=beta 1.2.0.2|Raw salmon is now found inside [[bonus chest]]s.}}
{{History||1.4.0|snap=beta 1.2.14.2|Salmon has been added as a [[mob]], which drops raw salmon when killed (cooked while on [[fire]]).
|[[File:Raw Salmon JE2 BE2.png|32px]] The texture for raw salmon has been changed.}}
{{History|||snap=beta 1.2.20.1|Added [[dolphin]]s, which can be [[breeding|bred]] with raw salmon.}}
{{History||1.5.0|snap=beta 1.5.0.0|Raw salmon can no longer be used to breed dolphins. 
|Giving raw salmon to dolphins now leads the [[player]] to nearest [[underwater ruins]] or [[shipwreck]].}}
{{History||1.8.0|snap=beta 1.8.0.8|Raw salmon can no longer be used to tame [[ocelot]]s.
|Raw salmon can now be used to [[breeding|breed]] ocelots.
|Added stray [[cat]]s, which can be tamed by being fed raw salmon.}}
{{History||1.11.0|snap=beta 1.11.0.4|Raw salmon can now be [[trading|sold]] to fisherman [[villager]]s.}}
{{History||1.16.100|snap=beta 1.16.100.52|If [[salmon]] is [[death|killed]] while on [[fire]], then they now drop [[cooked salmon]] instead of a raw salmon.}}

{{History|console}}
{{History||xbox=TU31|xbone=CU19|ps=1.22|wiiu=Patch 3|[[File:Raw Salmon JE1 BE1.png|32px]] Added raw salmon.}}
{{History||xbox=TU69|ps=1.76|wiiu=Patch 38|[[File:Raw Salmon JE2 BE2.png|32px]] The texture for raw salmon have been changed.}}

{{History|new 3ds}}
{{History||0.1.0|[[File:Raw Salmon JE1 BE1.png|32px]] Added raw salmon.}}
{{History|foot}}

== Issues ==
{{issue list}}

== See also ==
* [[Fishing]]

== References ==
{{reflist}}

{{items}}

[[de:Roher Lachs]]
[[es:Salmón crudo]]
[[ja:生鮭]]
[[ko:생연어]]
[[pt:Salmão cru]]
[[ru:Сырой лосось]]
[[tr:Çiğ Somon]]
[[zh:生鲑鱼]]
[[Category:Renewable resources]]
[[Category:Food]]</li></ul>
17w43aCustom functions have been moved into data packs.
17w45aFunctions are now completely parsed and cached on load.
17w49bFunction can now be tagged.
Functions tagged in minecraft:tick now run every tick in the beginning of the tick.

Issues

Issues relating to "Function (Java Edition)" are maintained on the bug tracker. Report issues there.

References

Advertisement