Minecraft Wiki
Advertisement
Information icon
This feature is exclusive to Java Edition. 

An NBT path is a descriptive label used to specify a collection of particular elements from an NBT data tree. A path has the general form node.….node, where each node declares what types of child tags can be chosen from previous tags.

Nodes

These are all seven types of nodes available.

The tags collection start with only one element (i.e. the root tag) and changes along the nodes when resolving path. Tags in the final tag collection are just the targets selected by the NBT path.

Name Format Description Selection Result Example Example Description
Root compound tag {tag}, where tag is the compound NBT content and can be empty. Selects the starting tag, only if it matches the specified content tag (if given).
Only applicable as the first element in an NBT path.
The starting tag, or nothing if matching fails. {Invisible:1b} Selects the root tag if it has a child tag  Invisible with value 1.
{} Selects the root tag.
Named tag name, where name can be a plain string or a quoted string Selects child tags named name in the previous tags. A collection of tags; no more elements than the previous tag collection. May be empty. VillagerData Selects the child tag named VillagerData.
"A cool name[]" Selects the child tag named A cool name[].
Named compound tag name{tag}, where name can be a plain or a quoted string, and tag is the compound NBT content which can be empty. Selects child tags named name in the previous tags, only if they are compound tags, and matching the specified content tag (if given). A collection of compound tags; no more elements than the previous tag collection. May be empty. VillagerData{profession:"minecraft:nitwit"} Select the child tag  VillagerData only if it has a child tag  profession with value minecraft:nitwit.
VillagerData{} Selects the child tag  VillagerData if it is a compound tag.
Element of named list or array tag name[index], where name can be a plain or a quoted string and index is an integer. Selects elements at index (or listLength + index if index is negative) of the child list (or array) tags named name in the previous tags. A collection of tags; no more elements than the previous tag collection. May be empty. Pos[0] Selects the first element in the child tag "Pos" list (or array).
Inventory[-1] Selects the last element in the child tag "Inventory" list (or array).
All elements of named list or array tag name[] Selects all elements of the child list (or array) tags named name in the previous tags. A collection of tags; may have more elements than the previous tag collection. May be empty. ActiveEffects[] Select all the elements in the child tag "ActiveEffects".
Compound Elements of Named List Tag name[{tag}], where name can be a plain or a quoted string and tag is the compound NBT content which can be empty. Selects elements in the child list tags named name in the previous tags, only if the elements are compound tags, and matching the specified content tag (if given). A collection of compound tags; may have more elements than the previous tag collection. May be empty. Inventory[{Count:25b}] Select compound elements of the child  Inventory tag that have a child tag  Count with value 25.
Foo[{}] Selects compound elements of the child  Foo tag.
Elements of the child list (or array) in named list tag name[index or blank][index or blank][index or blank]......[index or tag], where name can be a plain string or a quoted string, index is an integer, and tag is the compound NBT content which can be empty. Selects child elements of the child elements in the lists named name in the previous tags. A collection of tags; may have more elements than the previous tag collection. May be empty. foo[][{}] Select compound elements of the child lists in  foo list.
foo.bar[0][0].baz Select the baz tag in the first compound element of the first list element of the bar list in the  foo tag.

In an NBT path, . (dot/period) characters separate the nodes. Required nodes can be used arbitrarily, except the root compound tag node must be the first in the path when it is present.

Name escaping

The valid character set (without quote) for a path seems to be all non-whitespace characters, as long as any opening brackets and braces ([ and {) are closed and at the end of each node (that is, followed by nothing but a period or the end of the path). That being said, the "reasonable character set" for defining a tag name includes all ASCII lowercase and uppercase letters, digits, underscore, period, and square and curly brackets (Regular expression: [a-zA-Z0-9_\.[\]{}]*).

Quoted strings, such as "Lorem ipsum" or 'Lorem ipsum', can be used if a tag name needs to be escaped.

Examples

Mixed path

  • {}—Specifies the root tag
  • {foo:4.0f}—Specifies the root tag if its children tag "foo" is 4.0f
  • foo—Specifies the tag named "foo" under the root tag
  • foo.bar or foo{}.bar—Specifies foo's children tag named "bar".
  • foo.bar[0]—Specifies the first element of the list (or array) "bar"
  • foo.bar[-1]—Specifies the last element of the list (or array) "bar"
  • foo.bar[0]."A [crazy name]!"—Specifies the children tag named "A [crazy name]!" under that first element
  • foo.bar[0]."A [crazy name]!".baz—Specifies the children tag named "baz" under that crazily named tag
  • foo.bar[]—Specifies all elements of the list (or array) "bar"
  • foo.bar[].baz—Specifies the children tags named "baz" under all elements of the list "bar"
  • foo.bar[{baz:5b}]—Specifies all elements of the list "bar", in which the "baz" tags are 5b
  • foo{bar:"baz"}—Specifies the "foo" tag if its child tag "bar" has the value "baz"
  • foo{bar:"baz"}.bar—Specifies the "bar" tag under "foo", only if it matches the value "baz"

Example 1

/data get entity @p foo.bar[0]."A [crazy name]!".baz

These names have been arbitrarily picked, for demonstrative purposes.

  • foo—Specifies the subtag named "foo" under the root tag.
  • foo.bar—Specifies foo's child named "bar".
  • foo.bar[0]—Specifies the first element of the list "bar"
  • foo.bar[0]."A [crazy name]!"—Specifies the child named "A [crazy name]!" under that first element
  • foo.bar[0]."A [crazy name]!".baz—Specifies the child named "baz" under that crazily named element

Example 2

/data get block ~ ~ ~ Items[1].tag.pages[3]

A player has written a book and placed it inside a chest at their feet, and are going to work up to the above command in stages. Observe the following imaginary chat log:

History

Dark Oak Sapling
This article is a stub. 
You can help by expanding it.
Java Edition
1.20
{{Extension DPL}}<ul><li>[[Spyglass|Spyglass]]<br/>{{Item
| title = Spyglass
| image = Spyglass.png
| durability = 
| rarity = Common
| renewable = Yes
| stackable = No
}}
 
A '''spyglass''' is a [[tool]] used to zoom in on distant objects.

== Obtaining ==
=== Crafting ===
{{Crafting
  |B1=Amethyst Shard
  |B2=Copper Ingot
  |B3=Copper Ingot
  |Output=Spyglass
  |type=Tool
}}

== Usage ==
[[File:Steve scoping Spyglass.png|right|100px]] [[File:Alex scoping Spyglass.png|right|100px]]

To use a spyglass, the player selects it from the hotbar and clicks {{control|use}} while looking in the desired direction.

Spyglasses are used to zoom in on a specific location in the player's field of view (FOV). The spyglass changes the FOV to {{frac|1|10}} of the FOV set in [[options]]. By default, the FOV is set to 70° in ''Java Edition'' and 60° in Bedrock Edition, resulting in an FOV of 7° in ''Java Edition'' and 6° in Bedrock Edition through the spyglass. The player's FOV can be set from 30° to 110°, so the spyglass FOV can  range from 3° to 11°. Regardless of the situation, or status effects the player has, using the Spyglass always shows a FOV {{frac|1|10}} of the FOV set in [[options]].

A square vignette is applied when in use, similar to the effect when wearing a [[carved pumpkin]]. Pressing {{key|F1}} removes the vignette,{{only|java}}<ref>{{bug|MC-203575||The spyglass overlay goes away when pressing F1|WAI}}</ref><ref>{{bug|MCPE-125869||Spyglass's overlay don't go away even if the player toggles Hide GUI on/ Pressing F1|}}</ref> similar to a carved pumpkin. 

Hazy distant objects remain hazy when viewed in the spyglass. Mobs too distant to render also do not render in the spyglass. The spyglass shows a magnified view of what the player already sees.

The player is slowed down while watching through the spyglass. When the player uses the spyglass continuously for {{convert|1|minute|game tick}}, the interface is automatically closed.

If the player has a certain effect on their screen like [[fire]], the spyglass does not remove that effect on the player's screen.

[[File:Spyglass Zooming.gif|thumb|center|A spyglass being used to zoom in on a [[block of gold]] starting from normal FOV (70°).]]

== Sounds ==
{{edition|java}}:
{{Sound table
|sound=Spyglass use.ogg
|subtitle=Spyglass expands
|source=player
|description=When a player uses a spyglass
|id=item.spyglass.use
|translationkey=subtitles.item.spyglass.use
|volume=0.5
|pitch=''varies'' <ref group=sound>Can be 1.15, 1.33, 1.4, or 1.55</ref>
|distance=16}}
{{Sound table
|sound=Spyglass stop.ogg
|subtitle=Spyglass retracts
|source=player
|description=When a player stops using a spyglass
|id=item.spyglass.stop_using
|translationkey=subtitles.item.spyglass.stop_using
|volume=0.5
|pitch=''varies'' <ref group=sound>Can be 1.0, 0.8, or 0.9</ref>
|distance=16
|foot=1}}

{{edition|bedrock}}:
{{Sound table
|type=bedrock
|sound=Spyglass use.ogg
|source=player
|description=When a player uses a spyglass
|id=item.spyglass.use
|volume=0.5
|pitch=1.15-1.55}}
{{Sound table
|sound=Spyglass stop.ogg
|source=player
|description=When a player stops using a spyglass
|id=item.spyglass.stop_using
|volume=0.5
|pitch=0.8-1.0
|foot=1}}

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

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|notshowbeitemforms=y
|generatetranslationkeys=y
|displayname=Spyglass
|spritetype=item
|nameid=spyglass
|form=item
|foot=1|id=626}}

== Advancements ==
{{load advancements|Is it a Bird?;Is it a Balloon?;Is it a Plane?}}

== History ==
{{History||October 3, 2020|link={{ytl|DBvZ2Iqmm3M|t=25m21s}}|[[File:Spyglass JE1.png|32px]]<!-- [[File:Spyglass scope (pre-release).png|32px]]--> Spyglasses are revealed at [[Minecraft Live 2020]]. They were originally named "telescopes" and had an oval vignette.}}
{{History|java}}
{{History||1.17|snap=20w45a|[[File:Spyglass JE1.png|32px]] Added spyglasses.
|[[File:Spyglass scope JE1.png|32px]] The scope texture is currently a circle with glare spots.}}
{{History|||snap=20w46a|[[File:Spyglass scope JE2.png|32px]] The scope texture is now a [[glass]] square with a [[copper]] border.}}
{{History|||snap=20w48a|[[File:Spyglass JE2 BE1.png|32px]] The spyglass is now a 3D model instead of a flat sprite.
|[[File:Spyglass (texture) JE2.png|32px]] The texture of the spyglass has changed.
|A spyglass in use is anchored better to the player's "eye" when viewed in 3rd person.}}
{{History|||snap=21w05a|Copper ingots are now renewable via [[drowned]], making spyglasses renewable.}}
{{History|||snap=21w10a|[[File:Spyglass (item) JE3 BE1.png|32px]] Spyglasses have a new texture in the inventory. The 3D model is still used in the hand, similar to [[tridents]].}}
{{History||1.17.1|snap=Pre-release 1|[[File:Spyglass (texture) JE3.png|32px]] The texture of the spyglass model has changed.}}
{{History|bedrock}}
{{History||1.17.0|snap=beta 1.17.0.50|[[File:Spyglass JE2 BE1.png|32px]] [[File:Spyglass (item) JE3 BE1.png|32px]] Added spyglasses.}}
{{History|||snap=beta 1.17.0.52|Spyglasses are now available without enabling [[experimental gameplay]].}}
{{History|foot}}

== Issues ==
{{Issue list}}

== Trivia ==
*If {{command|item replace}} is used to place a spyglass on a player's head, the item appears stuck to the center of the player's face.

== Gallery ==
<gallery>
Villager Spyglass.png|Spying on [[villager]]s through a spyglass.
After using the spyglass at FOV 30 F1.png|Hiding the HUD removes the spyglass overlay.
Panda eating a spyglass.png|When eaten by a [[panda]], spyglasses cause [[missing texture]] particles to be produced.<ref>{{bug|MC-206684}}</ref>
JE 1.17 Development Telescope.jpg|The spyglass was originally called the telescope.
JE 1.17 Development Telescope 2.jpg|The telescope's overlay was originally round instead of square.
File:Ari Spyglass.jpg|How the spyglass looks in the third person.
Steve scoping Spyglass JE1.png|Steve using a spyglass before its 3D model was added.
Alex scoping Spyglass JE1.png|Alex using a spyglass before its 3D model was added.
File:Mangrove Portal.jpg|An [[allay]] peeking into view of [[Noor]]’s spyglass.
</gallery>

== References ==
{{Reflist}}

== External Links ==
*[https://www.minecraft.net/en-us/article/taking-inventory--spyglass Taking Inventory: Spyglass] – Minecraft.net on February 17, 2022

{{Items}}

[[Category:Renewable resources]]

[[de:Fernrohr]]
[[es:Catalejo]]
[[fr:Longue-vue]]
[[it:Cannocchiale]]
[[ja:望遠鏡]]
[[pl:Luneta]]
[[pt:Luneta]]
[[ru:Подзорная труба]]
[[zh:望远镜]]</li><li>[[Torchflower Seeds|Torchflower Seeds]]<br/>{{wip}}
{{Block
| image = <gallery>
Torchflower Age 0.png| Age 0
Torchflower Age 1.png| Age 1
Torchflower Age 2.png| Age 2
</gallery>
| image2 = Torchflower Seeds JE1.png
| transparent = Yes
| light = No
| tool = N/A
| renewable = Yes
| stackable = Yes (64)
| rarity = Common
|flammable=No
|lavasusceptible=No
}}

'''Torchflower seeds''' are seeds that have a chance to be dropped by [[Sniffer|sniffers]] when they finish digging.

== Obtaining ==
[[Sniffer]]s will occasionally bury their nose in the ground and start digging. Once the sniffer has finished digging, one torchflower seed will have a chance to be dropped on the floor as an item.

Sniffers can only dig for torchflower seeds in the following blocks:
*{{BlockLink|Dirt}}
*{{BlockLink|Grass Block}}
*{{BlockLink|Podzol}}
*{{BlockLink|Coarse Dirt}}
*{{BlockLink|Rooted Dirt}}
*{{BlockLink|Moss Block}}
*{{BlockLink|Mud}}
*{{BlockLink|Muddy Mangrove Roots}}
They cannot dig for torchflower seeds on [[mycelium]], which is intended.<ref>{{bug|MC-260259||Sniffers cannot dig nor find seeds on mycelium|WAI}}</ref>

== Usage ==
=== Crop ===
{{main|Tutorials/Crop farming|title1=Crop farming}}

Torchflower seeds can be {{control|placed}} on [[farmland]], where they grow through three stages. Breaking the torchflower crop before it matures drops the seed, while breaking the final stage produces one [[torchflower]] and does not yield the seed.

Crops break if pushed by a [[piston]] or if their supporting farmland breaks or turns to dirt (i.e. by being trampled), dropping their usual drops.

Farmer [[villager]]s can plant torchflower seeds, but cannot harvest them after they have fully grown.<ref>{{bug|MC-263382|||WAI}}</ref>

=== Feeding ===
Torchflower seeds can be used to breed [[sniffer]]s and [[chicken]]s and reduce the remaining growth duration of snifflets and chicks by 10%. Also, if some torchflower seeds were fed to an injured sniffer, it will heal it by {{hp|2}} health points.

=== Taming ===
Torchflower seeds can be used to tame [[parrot]]s.

=== Composting ===
Placing torchflower seeds into a [[composter]] has a 30% chance of raising the compost level by 1.

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

== Data values ==
=== ID ===
{{edition|java}}:
{{ID table
|edition=java
|showblocktags=y
|showitemtags=y
|showforms=y
|generatetranslationkeys=y
|displayname=Torchflower Crop
|spritetype=block
|nameid=torchflower_crop
|form=block
|blocktags=bee_growables, crops}}
{{ID table
|displayname=Torchflower Seeds
|spritetype=item
|nameid=torchflower_seeds
|form=item
|itemtags=villager_plantable_seeds
|foot=1}}

{{edition|bedrock}}:
{{ID table
|edition=bedrock
|shownumericids=y
|showforms=y
|generatetranslationkeys=y
|displayname=Torchflower Crop
|spritetype=block
|nameid=torchflower_crop
|id=-567
|form=block
|translationkey=-}}
{{ID table
|displayname=Torchflower Seeds
|spritetype=item
|nameid=torchflower_seeds
|id=296
|form=item
|foot=1}}

=== Block states ===
{{see also|Block states}}

{{/BS}}

== Achievements ==
{{Load achievements|Planting The Past}}

== Advancements ==
{{load advancements|A Seedy Place;Planting The Past;Little Sniffs}}

== History ==
{{History|java}}
{{History||1.20<br>(Experimental)|link=1.19.4|snap=23w07a|[[File:Torchflower Seeds JE1.png|32px]] Added torchflower seeds behind the [[Java Edition 1.20|Update 1.20 experimental datapack]].}}
{{History|||snap=1.19.4 Pre-release 1|Torchflower seeds can now be used to breed [[chicken]]s and tame [[parrot]]s.<ref>{{bug|MC-260035|||Fixed}}</ref>|Torchflower seeds are now next to other seeds in the [[Creative inventory]].|Placing torchflower seeds in farmland now gives the player the "A Seedy Place" [[advancement]].}}
{{History||1.20|snap=23w12a|[[Sniffer]]s can now be obtained in Survival, making torchflower seeds [[renewable]].|Torchflower seeds are now available without using the "Update 1.20" experimental datapack.}}
{{History|||snap=23w14a|Torchflower seeds can now be picked up by farmer [[villager]]s.|[[Sniffer]]s can now be tempted with torchflower seeds.}}
{{History|||snap=23w16a|[[Villager]]s can now plant torchflower seeds.}}
{{History|||snap=23w17a|The player now get the [[advancement]] "Little sniffs" when they feed a [[snifflet]] using torchflower seeds, "Planting the past" when they plant torchflower seeds on [[farmland]].}}

{{History|bedrock}}
{{History||Sniffer<br>(Experimental)|link=Bedrock Edition 1.19.70|snap=beta 1.19.70.23|[[File:Torchflower Seeds JE1.png|32px]] Added torchflower seeds behind the "[[Bedrock Edition 1.20.0|Sniffer]]" [[experimental]] toggle.}}
{{History||1.20.0|snap=beta 1.20.0.20|Torchflower seeds are now available without using the "Sniffer" experimental toggle.}}
{{History|foot}}

== Issues ==
{{issue list}}

== Trivia ==
* The final growth stage of the torchflower crop uses the same ID as the actual torchflower. This causes some side effects, such as the plant becoming offset and randomly jumping to the side.<ref>{{bug|MC-260472|resolution=wai}}</ref>
 
== Gallery ==
<gallery>
Torchflower Seeds stages.png|All the growth stages of torchflower seeds.
</gallery>

== Notes ==
{{notelist}}

== References ==
{{reflist}}

{{Blocks|upcoming}}
{{Items}}
[[Category:Plants]]
[[Category:Non-solid blocks]]

[[de:Fackelliliensamen]]
[[es:Semillas de plantorcha]]
[[ja:トーチフラワーの種]]
[[pt:Sementes de plantocha]]
[[zh:火把莲种子]]</li></ul>
Pre-release 2Single quotation marks are now supported in NBT paths.[1]

References

  1. MC-175504 — "Single quotation marks are not supported in NBT paths." — resolved as "Fixed".
Advertisement