Nbtedit — редактор нбт тегов [1.16.3] [1.15.2] [1.14.4] [1.12.2] [1.11.2] [1.10.2] [1.8.9]
Содержание:
Использование в Minecraft
Использование формата NBT в Minecraft местами является странным. В некоторых случаях пустые списки могут быть представлены списками байтов (или тегов End в более новых версиях Minecraft), а не списками правильного типа. К тому же, каждый корневой тег имеет пустое название и включает только один составной тег с самими данными и названием. Например:
-
Корневой тег для большинства структур NBT в Minecraft
Название: Единственный тег, содержащийся в корневом теге. Он имеет название и содержит сами данные.
.
Ещё одна заметная странность — это то, что, хотя оригинальная спецификация Нотча допускает пробелы в названиях тегов и приведённый в ней пример использует это, в Minecraft нет файлов с пробелами в тегах. Также использование прописных букв в названиях тегов непостоянно: где-то с прописной буквы пишется каждое слово, где-то — каждое, кроме первого, а где-то используются только строчные буквы.
Область применения
- level.dat хранится в сжатом формате NBT.
- Файлы <player>.dat хранятся в сжатом формате NBT.
- idcounts.dat хранится в несжатом формате NBT.
- villages.dat хранится в сжатом формате NBT.
- Файлы map_<#>.dat хранятся в сжатом формате NBT.
- servers.dat, используется для хранения списка сохранённых серверов как несжатый формат NBT.
- Чанки хранятся в сжатом формате NBT в файлах областей.
- хранится в сжатом формате NBT.
- Натуральные структуры хранятся в сжатом формате NBT.
История
Альфа-версия Java Edition | ||||
---|---|---|---|---|
v1.2.0 | Notch опубликовал пост о работе над «самым надоедливым мобом за всё время», он также добавил: «вы будете ненавидеть гастов». | |||
Первоначально предполагалось, что гасты будут появляться вблизи портала Нижнего мира в верхнем мире. Однако эта функция не была реализована. | ||||
preview-версия Halloween Update была отправлена двум игровым компаниям; в их статьях было подробно описано поведение гастов. | ||||
preview | ||||
Гаст немного расширялся перед тем, как выстрелить , подобно криперу. Однако, этот эффект не работает в сетевой игре. | ||||
Бета-версия Java Edition | ||||
1.7 | Теперь гаст целится в игрока, а не в камеру. До этого нажатие F5 (переход в вид от третьего лица) позволяло легко направлять в сторону, а не на персонажа. | |||
Официальный выпуск Java Edition | ||||
1.0.0 | Beta 1.9 Prerelease | Теперь из гаста выпадает слеза гаста. | ||
Теперь гаст подвержен влиянию света и больше не появляется с одинаковой яркостью текстуры. | ||||
Beta 1.9 Prerelease 5 | Теперь гаст может быть убит своим же огненным шаром, это позволяет получить новое достижение «Вернуть отправителю». | |||
1.1 | ? | Как можно услышать в , у гаста теперь есть неиспользуемый «нежный крик», который на самом деле является высоким тоном звука рога (звучит как гудок буксира в классическом мультфильме). | ||
1.2.1 | 12w05a | Обновлён хитбокс гаста, чтобы урон проходил по всему телу, кроме щупалец. До этого гаст мог быть ранен только ударом по щупальцам и по нижней части тела. | ||
1.3.1 | 12w19a | Теперь гаст использует особый звук при смерти, а не звук при получения урона. | ||
В результате разделения клиента и сервера, гаст больше не расширяется перед выстрелом в одиночной игре. | ||||
1.5 | 13w02a | |||
13w02b | ||||
1.8 | 14w06a | ИИ гаста немного изменён. Он не видит игрока, если не находится с ним почти на уровне глаз. При атаке гаст теперь поворачивает всё своё тело лицом к игроку и несколько раз стреляет влево и вправо от игрока. Теперь он наделён абсолютной точностью , стреляет прямо в голову игрока, по сравнению с ранними версиями, когда огненный шар направлялся немного выше головы игрока. | ||
Код, позволяющий гасту расширяться перед выстрелом, удалён. | ||||
1.11 | 16w32a | Идентификатор гаста изменён с на . | ||
Идентификатор гаста изменён с на . | ||||
16w40a | Теги , , , и удалены из . | |||
Тег гаста больше ни для чего не используется, но всё ещё сохраняется/читается. | ||||
1.14 | 18w43a | |||
1.16 | 20w06a | Звуки гастов теперь слышны на более коротком расстоянии. | ||
Гасты теперь спаунятся в долине песка душ. | ||||
0.11.0 | build 2 | |||
Гаст ещё не доступен в игре без редактирования. | ||||
0.12.1 | build 1 | Теперь гаста можно заспаунить, используя яйцо призывания. | ||
Теперь гаст натурально спаунится в Нижнем мире. | ||||
build 6 | Теперь гаст лучше наносит удар игроку. | |||
build 7 | Теперь из гаста выпадает порох и слеза гаста. | |||
build 8 | Хитбокс гаста теперь больше. | |||
build 13 | Гаст теперь имеет собственные звуки. | |||
0.13.0 | build 1 | Скорость спауна гастов увеличена. | ||
build 4 | Скорость спауна гастов увеличена ещё больше. | |||
0.14.0 | build 1 | Открытые глаза гаста теперь излучают свет. | ||
1.1.0 | alpha 1.1.0.0 | Идентификатор сущности для был изменён с на . | ||
Официальный выпуск Bedrock Edition | ||||
1.10.0 | beta 1.10.0.3 | |||
Legacy Console Edition | ||||
Снижена громкость звуковых эффектов гаста. | ||||
Дальность слышимости выстрела увеличена. | ||||
Громкость звуковых эффектов гаста немного уменьшена. | ||||
PlayStation 4 Edition | ||||
New Nintendo 3DS Edition | ||||
0.1.0 |
SNBT format[]
This feature is exclusive to Java Edition.
SNBT, also known as data tag, is often used in command in Java Edition. It can be described starting with attribute-value pairs enclosed in curly braces. One common usage of data tags in Java Edition is in commands, used to specify complex data for any entity.
A data tag consists of zero or more attribute-value pairs delimited by commas and enclosed in curly braces. Each attribute-value pair consists of an tag name and the tag’s value, separated by a colon. Some values, however, may be a compound tag and themselves contain attribute-value pairs, allowing a data tag to describe a hierarchical data structure.
- Example:
Tag’s name can be enclosed with double quotes if necessary.
It is different from the JSON format; hence, any JSON used in NBT, such as , must be enclosed within a string tag.
Format of each type
The defined data structures also expect the values to be of the correct type.
Type | Description | Format | Example |
---|---|---|---|
Byte | A signed 8-bit integer, ranging from -128 to 127 (inclusive). | or | , |
Short | A signed 16-bit integer, ranging from -32,768 to 32,767 (inclusive). | or | , |
Int | A signed 32-bit integer, ranging from -2,147,483,648 and 2,147,483,647 (inclusive). | ||
Long | A signed 64-bit integer, ranging from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (inclusive). | or | |
Float | A 32-bit, single-precision floating-point number, ranging from -3.4E+38 to +3.4E+38.
See IEEE floating point for details. |
or | |
Double | A 64-bit, double-precision floating-point, ranging from -1.7E+308 to +1.7E+308.
See IEEE floating point for details. |
, or | |
String | A sequence of characters, enclosed in quotes. For strings without commas, brackets, braces or spaces, quote enclosure is optional. Quotes can be either single quote or double . Nested quotes can be included within a string by escaping the character with a escape. | , ( within needs to be escaped to ), or ( within needs to be escaped to ) | |
List | An ordered list of tags, enclosed in square brackets and delimited by commas. The tags must be of the same type, determined by the first tag in the list. | ||
Compound | An ordered list of attribute-value pairs, enclosed in curly braces and delimited by commas.
Each tag can be of any type. |
||
Byte Array | followed by an ordered list of 8-bit integers, delimited by commas. Tag is enclosed in square brackets. | ||
Int Array | followed by an ordered list of 32-bit integers, delimited by commas. Tag is enclosed in square brackets. | ||
Long Array | followed by an ordered list of 64-bit integers, delimited by commas. Tag is enclosed in square brackets. | ||
Boolean | A value, expressed as , . It is resolved by the game into a Byte tag as 0b (for false) and 1b (for true). | , or , |
Blocks[]
Tags used in and :
Tagname | Description | Value Type | Syntax |
---|---|---|---|
Command | Used with command blocks. Places command block with command. | A string | {Command:»desired command»} |
Note: This is also used for Command Block Minecarts
Generic
These tags can be used on most tile entitied blocks
Tagname | Description | Value Type | Syntax |
---|---|---|---|
CustomName | Displayed in the top left corner of the inventory, instead of the regular name. Works only where such a regular name exists. | A JSON text component | {CustomName:»\»Custom Name\»»} |
Lock | Says a name needed on a held item to open the inventory. | A string | {Lock:»Key’s Name»} |
Beacon
Tagname | Description | Value Type | Syntax |
---|---|---|---|
Primary | This determines the first status effect that the beacon creates. It defaults to level 1 of the effect. | An ID of a status effect. | {Primary:#} |
Secondary | This determines the second status effect. If its the same as Primary, then it increases the status effect to level 2. Otherwise it is level 1. | Also an ID of a status effect. | {Secondary:#} |
Levels | This number determines how many layers of valid blocks are below the beacon. This value updates automatically, and overrides /data inputs immediately. | Integer | {Levels:#} |
Spawner
These tags are used when using or (spawner minecarts) to create spawners. Add only those data tags you want to avoid a potential error.
Tagname | Description | Value Type | Syntax |
---|---|---|---|
EntityId | Specifies what entity the spawner spawns. | A ID of a Mob | {SpawnData:{id:}} |
SpawnData | Used for spawners that spawn entities with data tags. | An entity NBT tag | {SpawnData:{NBT tag}} |
SpawnCount | How many entities the spawner can spawn at one time. | Integer | {SpawnCount:#} |
SpawnRange | The range of which the entities can spawn. | Integer | {SpawnRange:#} |
RequiredPlayerRange | The range of which a player must be in for the spawner to start spawning entities. | Integer | {RequiredPlayerRange:#} |
Delay | The number of ticks before entities spawn when a player is first detected. | Integer | {Delay:#} |
MinSpawnDelay | After the first spawn, this is the minimum amount of ticks before more entities can spawn. | Integer | {MinSpawnDelay:#} |
MaxSpawnDelay | Similar to MinSpawnDelay. After the first spawn, this is the maximum amount of ticks before more entities can spawn. | Integer | {MaxSpawnDelay:#} |
MaxNearbyEntities | Checks the number of entities within the spawn range (‘SpawnRange’ tag). If the number of entities it detects is over the set MaxNearbyEntities number, it does not spawn more entities unless the amount of entities within the spawn range is decreased. | Integer | {MaxNearbyEntities:#} |
SpawnPotentials | Used when creating spawners that spawn multiple types of entities. A weighted list of entities to be spawned, including NBT tags. | A List | {SpawnPotentials:} |
Weight | Used if spawning multiple entities using SpawnPotentials. If the same as another SpawnPotentials entity, both have an even chance of spawning. | A number | {Weight:#} |
Sub-tags used in the SpawnPotentials data tag.
Tagname | Description | Value Type | Syntax |
---|---|---|---|
Type | Determines the other entity that spawns with the entity specified in the EntityId data tag. MUST be used with SpawnPotentials. | A string | {SpawnPotentials:} |
Weight | Determines the chance of spawning the entity specified in the ‘Type’ sub-tag. If set to the same as another other entity’s weight, they have the same chance of spawning. | A number | {SpawnPotentials:} |
Properties | Determines the entity data tag(s) that the entity (specified in the ‘Type’ sub-tag) is spawned with. | An entity NBT tag | {SpawnPotentials:} |
Light Block
After 1.17 Light block has this tags:
Tagname | Description | Value Type | Syntax |
---|---|---|---|
Level | Indicates the number of units of light that the block emits. | A number | |
Waterlogged | Shows is block waterlogged or not. | A boolean (True or False) |
Lightning Rod
After 1.17 Lightning rod has this tags:
Tagname | Description | Value Type | Syntax |
---|---|---|---|
Powered | Shows is block powered by lightning or not. | A boolean (True or False) | |
Waterlogged | Shows is block waterlogged or not. | A boolean (True or False) | |
Facing | This tag is used for blocks, and stores the block state when they are placed down. | A compound where each key is a block state key, and the value is the block state value to force place for this block. Differs based on the block, see Block states for details. |
Output[]
Command | Edition | Situation | Success Count | ||
---|---|---|---|---|---|
any | Java Edition | On fail | |||
On success | 1 | 1 | 1 | ||
a numeric tag is got | 1 | 1 | the obtained value after rounding down | ||
a list or array tag is got | 1 | 1 | The number of elements in this list or array | ||
a string tag is got | 1 | 1 | The length of the string | ||
a compound tag is got | 1 | 1 | The number of tags that are direct children of that compound | ||
On success | 1 | 1 | the obtained value multiplied by , then rounded down | ||
On success | 1 | 1 | 1 | ||
On success | 1 | 1 | 1 | ||
On success | 1 | 1 | the number of lists or arrays to which new elements are added | ||
On success | 1 | 1 | the number of target tags that was successfully modified | ||
On success | 1 | 1 | the number of target compound tags that was successfully modified |
List of NBT Tags
Here is a list of the NBT tags that you can use for in Minecraft Java Edition (PC/Mac) 1.16 and 1.17:
NBT Tag | Value (Description) | Works With |
---|---|---|
LeftHanded |
0 (The vindicator is right-handed) Example |
/summon/data |
CustomName |
name (The name to assign to the vindicator) Example |
/summon/data |
Health |
number (The number of health points the vindicator has) Example |
/summon/data |
AbsorptionAmount |
number (The number of absorption health points the vindicator has) Example |
/summon/data |
Invulnerable |
0 (The vindicator will take damage like normal) Example |
/summon/data |
PersistenceRequired |
0 (The vindicator will despawn naturally) Example |
/summon/data |
NoAI |
0 (The vindicator will have artificial intelligence and will move/behave like normal) Example |
/summon/data |
Silent |
0 (The vindicator will make its usual noises in the game) Example |
/summon/data |
Fire |
ticks (The number of game ticks until the vindicator is no longer on fire — there are 20 ticks in a second) Example |
/summon/data |
PortalCooldown |
ticks (The number of game ticks until the vindicator can go through a portal again — there are 20 ticks in a second) Example |
/summon/data |
Air |
ticks (The number of game ticks the vindicator has air left for) Example |
/summon/data |
HandItems |
Items that the vindicator is holding in its hands, listed in this order: right hand, left hand Syntax Example |
/summon/data |
HandDropChances |
The drop chances for each of the 2 items listed in HandItems. A value of 1.0f means 100% chance of the item being dropped when the vindicator is killed, 0.5f means 50%, 0.2f means 20%, and so on. Example |
/summon/data |
id |
vindicator (The entity value used to represent a vindicator in the EntityTag or Passengers tag) Example |
/summon/give |
Passengers |
The mob that is riding on the vindicator. Use the entity value for the passenger mob Example of skeleton as passenger |
/summon/data |
NBT Tag Examples
To summon a vindicator with a custom name of Alfred:
/summon vindicator ~ ~ ~ {CustomName:"\"Alfred\""}
To summon a vindicator with a custom name of Alfred and has no artificial intelligence:
/summon vindicator ~ ~ ~ {CustomName:"\"Alfred\"", NoAI:1}
Интересные факты
- Размер гаста может ввести в заблуждение — у них меньше здоровья, чем у большинства враждебных мобов.
- Гаста можно посадить в вагонетку, но это довольно трудно, и он продолжает атаковать, «сидя» в вагонетке.
- Если гаст уже выпустил один шар, и его убили, а его шар ещё остался, то менее, чем через секунду снаряд исчезнет.
- Гасты — единственные мобы, траектория движения которых никак не зависит от местоположения игрока: они могут летать как к игроку, так и от него (могут иногда просто улететь от игрока в разгаре боя).
- Гасты, зомби, странники Края и дракон Края могут заметить игрока с гораздо большей дистанции, чем остальные мобы — с расстояния 64 блока.
- Гаст — второй по величине моб.
- У гаста есть две текстуры — одна с закрытым ртом и глазами, которую он использует в спокойном состоянии, и другая с раскрытым ртом и глазами, которую он использует, когда запускает огненный шар.
- C418 объяснил в AMA на Reddit, что бо́льшая часть звуковых эффектов гаста была записана с участием домашней кошки музыканта, пока та спала.
- Если отбить огненный шар мечом, зачарованным на «Добычу», и тем самым убить гаста, то может выпасть более 1 слезы.
- Гаста можно убить одним выстрелом из лука, при условии, что он зачарован хотя бы на «Силу» I и его тетива полностью натянута.
- В наборе LEGO «Minecraft Micro World — The Nether» было представлено два гаста, наряду с зомби-свиночеловеком.
- Железный голем не атакует гаста, даже если они будут находиться очень близко друг к другу.
- Убитый собственным огненным шаром, гаст становится оранжевым, а не красным. Это происходит потому, что гаст поджигается.[только для Bedrock Edition]
- Взрывающиеся зелья действуют на гаста только при попадании в его нижнюю половину.
- Несмотря на отсутствие видимых ног, гаст всё ещё способен издавать звуки шагов.
- В предварительных сборках 13w02a (для 1.5), и 13w24a (для 1.6.1) текстура огненного шара гаста была изменена на алмазный шлем и на рамку портала Края соответственно.
- Гаст — единственный моб, не являющийся нежитью, и к которому иссушитель не враждебен.
- Гаст может летать сквозь лаву, не получая урона.
Beispiel[]
Hier wird kurz anhand eines Beispiels gezeigt, wie man die NBT-Daten aus den Wiki-Artikeln, die alle Informationen zu den Daten besitzen, ausliest und überträgt:
Das Ziel ist es, einen gezähmten und gesattelten Esel, der eine Truhe trägt, mit dem Befehl zu erschaffen. In der Truhe soll sich ein Stein befinden. Zuerst muss unter Kreaturdaten der Esel gefunden werden, dann sucht man sich alle NBT-Daten, die man für die Ziel-Vorgaben benötigt:
-
Esel hat die Objekt-ID «donkey»
- ChestedHorse: true oder false — true wenn die Kreatur Truhen trägt.
-
Items: Nur für Esel, Maultiere und Lamas und nur wenn ChestedHorse true ist: Liste der Gegenstandsdaten, die die Kreatur trägt mit Slot
Ein Gegenstand in der Satteltasche der Kreatur.
. Die Slots haben die Nummern 2 bis 16.
- SaddleItem: Optional und nur für Pferde, Esel und Maultiere. Die Gegenstandsdaten des Sattels, den die Kreatur trägt, ohne Slot.
- Tame: true oder false — true wenn die Kreatur gezähmt ist.
Die Objekt-ID des Esels lautet «donkey», diese wird für den Befehl verwendet. Jetzt werden die NBT-Daten in Form von SNBT eingetragen: Alle Daten, die auf gleicher Ebene liegen, können jetzt direkt als Angaben eingebunden werden. Stehen Angaben in zweiter Ebene, wie bei «Items:», muss herausgefunden werden, welche Klammer hier verwendet wird. Bei «compound» sind das geschwungene Klammern , bei «list» eckige . Dort trägt man dann alle Werte ein.
/summon minecraft:donkey ~ ~ ~ { ChestedHorse:true, Items: , SaddleItem:{ id:"minecraft:saddle", Count:1b }, Tame:true }
Eine ausführliche Anleitung zur Verwendung von NBT-Daten in Befehlen steht im Artikel .Weitere Beispiele mit NBT-Daten siehe: Anleitungen/Befehle mit NBT |
Other NBT Tags
Here are some of the other NBT tags (formerly called data tags) in Minecraft:
NBT Tags
NBT Tags for Player
NBT Tags for Armor Stand
NBT Tags for Bat
NBT Tags for Bee
NBT Tags for Blaze
NBT Tags for Boat
NBT Tags for Cat
NBT Tags for Cave Spider
NBT Tags for Chicken
NBT Tags for Cod
NBT Tags for Cow
NBT Tags for Creeper
NBT Tags for Dolphin
NBT Tags for Donkey
NBT Tags for Drowned
NBT Tags for Elder Guardian
NBT Tags for Ender Crystal
NBT Tags for Ender Dragon
NBT Tags for Enderman
NBT Tags for Endermite
NBT Tags for Evoker
NBT Tags for Fireball
NBT Tags for Firework Rocket
NBT Tags for Fox
NBT Tags for Ghast
NBT Tags for Giant
NBT Tags for Guardian
NBT Tags for Hoglin
NBT Tags for Horse
NBT Tags for Husk
NBT Tags for Illusioner
NBT Tags for Iron Golem
NBT Tags for Llama
NBT Tags for Magma Cube
NBT Tags for Mooshroom
NBT Tags for Mule
NBT Tags for Ocelot
NBT Tags for Panda
NBT Tags for Parrot
NBT Tags for Phantom
NBT Tags for Pig
NBT Tags for Piglin
NBT Tags for Pillager
NBT Tags for Polar Bear
NBT Tags for Pufferfish
NBT Tags for Rabbit
NBT Tags for Ravager
NBT Tags for Salmon
NBT Tags for Sheep
NBT Tags for Shulker
NBT Tags for Shulker Bullet
NBT Tags for Silverfish
NBT Tags for Skeleton
NBT Tags for Skeleton Horse
NBT Tags for Slime
NBT Tags for Snow Man
NBT Tags for Spider
NBT Tags for Squid
NBT Tags for Stray
NBT Tags for Strider
NBT Tags for Trader Llama
NBT Tags for Tropical Fish
NBT Tags for Turtle
NBT Tags for Vex
NBT Tags for Villager
NBT Tags for Vindicator
NBT Tags for Wandering Trader
NBT Tags for Witch
NBT Tags for Wither Boss
NBT Tags for Wither Skeleton
NBT Tags for Zoglin
NBT Tags for Zombie
NBT Tags for Zombie Horse
NBT Tags for Zombie Villager
NBT Tags for Zombified Piglin
Определение тега[]
Тег — отдельный элемент дерева данных. Первый байт в теге — это тип тега (также называемый идентификатором или ID), затем 2 байта хранят длину названия, затем название в виде строки в формате UTF-8 (следует отметить, что TAG_End не имеет названия и не включает дополнительные 2 байта; предполагается, что название пустое). Названия тегов могут содержать пробелы, хотя сам Minecraft не имеет таких тегов. Наконец, следующие байты — содержимое тега, зависящее от типа тега. Таблица ниже описывает 12 известных тегов в версии NBT 19133:
ID | Иконка | Тип тега | Содержимое | Описание | Ёмкость |
---|---|---|---|---|---|
TAG_End | Нет. | Используется для обозначения конца составных тегов. У этого тега нет названия, поэтому он всегда представлен одним байтом, равным 0. Также этот тип используется в пустых тегах списков. | — | ||
1 | TAG_Byte | 1 байт / 8 битов, со знаком | Целочисленный тип со знаком. Иногда используется для логических переменных. | Весь промежуток от -(27) до (27 — 1)(от -128 до 127) | |
2 | TAG_Short | 2 байта / 16 битов, со знаком, обратный порядок байтов | Целочисленный тип со знаком. | Весь промежуток от -(215) до (215 — 1)(от -32 768 до 32 767) | |
3 | TAG_Int | 4 байта / 32 бита, со знаком, обратный порядок байтов | Целочисленный тип со знаком. | Весь промежуток от -(231) до (231 — 1)(от -2 147 483 648 до 2 147 483 647) | |
4 | TAG_Long | 8 байт / 64 бита, со знаком, обратный порядок байтов. | Целочисленный тип со знаком. | Весь промежуток от -(263) до (263 — 1)(от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807) | |
5 | TAG_Float | 4 байта / 32 бита, со знаком, обратный порядок байтов, IEEE 754-2008, binary32 | Тип чисел с плавающей точкой со знаком. | Точность меняется на протяжении числовой прямой;см. . | |
6 | TAG_Double | 8 байт / 64 бита, со знаком, обратный порядок байтов, IEEE 754-2008, binary64 | Тип чисел с плавающей точкой со знаком. | Точность меняется на протяжении числовой прямой;см. . | |
7 | TAG_Byte_Array | Один TAG_Int, обозначающий размер, затем размер тегов TAG_Byte. | Массив байтовых переменных. | Максимальное число элементов изменяется от (231 — 9) до (231 — 1) (от 2 147 483 639 до 2 147 483 647) и зависит от текущей JVM. | |
8 | TAG_String | Один TAG_Short, обозначающий длину, затем строка в формате UTF-8 с размером длина. | Строка в формате UTF-8. Она имеет размер, а не завершается нулём. | 32 767 точек кода UTF-8 (см. ; наиболее распространённые символы состоят из одной точки кода. | |
9 | TAG_List | Один TAG_Byte, обозначающий тип, затем TAG_Int, обозначающий размер, затем размер тегов типа тип. | Последовательный список тегов без ID и без названий. | В связи с ограничениями JVM и реализацией ArrayList, максимальный размер списка — (231 — 9) или 2 147 483 639. Также следует отметить, что максимальная глубина размещения списков и составных тегов равна 512. | |
10 | TAG_Compound | Полные теги, затем один тег TAG_End. | Список полных тегов, включающий их типы, названия и содержимые. Все теги должны иметь различные имена. | В отличие от списков, ограничения на количество тегов в составном теге нет (хотя имеется неявное ограничение в виде размера виртуальной памяти). Также следует отметить, что максимальная глубина размещения списков и составных тегов равна 512. | |
11 | TAG_Int_Array | Один TAG_Int, обозначающий размер, затем размер тегов TAG_Int. | Массив тегов TAG_Int. | Максимальное число элементов изменяется от (231 — 9) до (231 — 1) (от 2 147 483 639 до 2 147 483 647) и зависит от текущей JVM. | |
12 | TAG_Long_Array | Одно значение TAG_Int (без заголовка), обозначающий размер, затем набор тегов TAG_Long. | Массив тегов TAG_Long. | Максимальное число элементов изменяется от (231 — 9) до (231 — 1) (от 2 147 483 639 до 2 147 483 647) и зависит от текущей JVM. |
Списки и составные теги могут быть вложены. Следует отметить, что в списке списков подсписки могут иметь разные типы элементов.
Multiline names
Now you see the subtag called ? This is why we put a name for our item earlier, we could make this ourselves but this is a lot easier. Open it, and inside that, open the subtag.
Double click the value (right side where it says ), and then change it to what you want the name to be. Press SHIFT + ENTER to insert a linebreak:
You can also use the section sign with formatting codes to further format your item name, like so:
Click ENTER to submit, and be sure to save your changes! (CTRL + S) Go in game and you have a multi-line name on the item!
Lore
Click on the subtag to select it. (it turns blue)
On the top bar you should see an icon labelled «List Tag». Click that. See my image above for help.
It will default to , name it , then press ENTER to submit. With that selected, click «String Tag» on the top bar and name it whatever you want your lore to say. You can either use SHIFT + ENTER for new lines or add more string tags into the list.
Don’t forget, always save!
Unobtainable Items
In addition to the tag you see in the display properties, there is another tag outside the display properties. This tag contains the item ID, so that Minecraft knows which item it is. It should look something like this: (or whatever the ID of your item is).
There are many unobtainable or removed items, which are accessible here by typing their IDs. Here are a few you can use:
Custom Enchantments
I have now navigated to the second item in the chest’s list, which is my enchanted sword. You can see it has an list in its . The first package inside this list contains a numerical ID for the enchant, and the level of the enchant. Select the list and copy it. (CTRL + C). Then paste it in the first item’s compound. (Click the first item’s and press CTRL + V.) You should see this:
Now you can change the level or the enchantment number to whatever you want.
Never forget to save!
Node[]
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 on the path. NBT path consumers operate on the final collection of the tags.
Name | Format | Description | Selection Result | Example | Example Description |
---|---|---|---|---|---|
Root Compound Tag | , where tag is the compound NBT content and can be empty. | Selects the starting tag only if it matches the compound tag given (if given).Only applicable as the first element in the path. | The starting tag, or nothing if matching fails. | Selects the root tag if it has a subtag Invisible with value . | |
Selects the root tag. | |||||
Named Tag | , where name can be a plain or an escaped string | Selects the subtags named name in the previous tags. | A collection of tags; no more elements than the previous tag collection. May be nothing. | Selects the VillagerData subtag. | |
Selects the A cool name[] subtag. | |||||
Named Compound Tag | , where name can be a plain or an escaped string, and tag is the compound NBT content which can be empty. | Selects the sub compound tags matching the compound tag given (if given) and named name in the previous tags. | A collection of compound tags; no more elements than the previous tag collection. May be nothing. | Select the VillagerData tag only if it has a subtag profession with value . | |
Selects the VillagerData tag if it is a compound tag. | |||||
Element of Named List or Array Tag | , where name can be a plain or an escaped string and index is an integer. | Selects elements at index (or if index is negative) of the lists (or array) named name in the previous tags. | A collection of tags; no more elements than the previous tag collection. May be nothing. | Selects the first child tag in the «Pos» sublist (or array). | |
Selects the last child tag in the «Inventory» sublist (or array). | |||||
All Elements of Named List or Array Tag | Selects all elements of the sub-lists (or array) named name in the previous tags. | A collection of tags; may have more elements than the previous tag collection. May be nothing. | Select all the elements in the «ActiveEffects» subtag of the last tag. | ||
Compound Elements of Named List Tag | , where name can be a plain or an escaped string and tag is the compound NBT content which can be empty. | Selects the compound elements matching the compound tag given (if given) and in the lists named name in the previous tags. | A collection of compound tags; may have more elements than the previous tag collection. May be nothing. | Select the elements of Inventory tag that has a subtag Count with value . | |
Selects the elements of Foo tag. | |||||
Elements of Sub-List (or Array) of Named List Tag | , where name can be a plain or an escaped string, index is an integer, and tag is the compound NBT content which can be empty. | Selects the 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 nothing. | Select the elements of the sub-lists in foo tag. | |
Select the baz tag in the first element of the first element of the bar list in the foo tag. |
In the path, (dot/period) characters separate the nodes. The nodes can be mixed and matched, except the root node with object must be the first in the path when it is present.
Other NBT Tags
Here are some of the other NBT tags (formerly called data tags) in Minecraft:
NBT Tags
NBT Tags for Player
NBT Tags for Armor Stand
NBT Tags for Bat
NBT Tags for Bee
NBT Tags for Blaze
NBT Tags for Boat
NBT Tags for Cat
NBT Tags for Cave Spider
NBT Tags for Chicken
NBT Tags for Cod
NBT Tags for Cow
NBT Tags for Creeper
NBT Tags for Dolphin
NBT Tags for Donkey
NBT Tags for Drowned
NBT Tags for Elder Guardian
NBT Tags for Ender Crystal
NBT Tags for Ender Dragon
NBT Tags for Enderman
NBT Tags for Endermite
NBT Tags for Evoker
NBT Tags for Fireball
NBT Tags for Firework Rocket
NBT Tags for Fox
NBT Tags for Ghast
NBT Tags for Giant
NBT Tags for Guardian
NBT Tags for Hoglin
NBT Tags for Horse
NBT Tags for Husk
NBT Tags for Illusioner
NBT Tags for Iron Golem
NBT Tags for Llama
NBT Tags for Magma Cube
NBT Tags for Mooshroom
NBT Tags for Mule
NBT Tags for Ocelot
NBT Tags for Panda
NBT Tags for Parrot
NBT Tags for Phantom
NBT Tags for Pig
NBT Tags for Piglin
NBT Tags for Pillager
NBT Tags for Polar Bear
NBT Tags for Pufferfish
NBT Tags for Rabbit
NBT Tags for Ravager
NBT Tags for Salmon
NBT Tags for Sheep
NBT Tags for Shulker
NBT Tags for Shulker Bullet
NBT Tags for Silverfish
NBT Tags for Skeleton
NBT Tags for Skeleton Horse
NBT Tags for Slime
NBT Tags for Snow Man
NBT Tags for Spider
NBT Tags for Squid
NBT Tags for Stray
NBT Tags for Strider
NBT Tags for Trader Llama
NBT Tags for Tropical Fish
NBT Tags for Turtle
NBT Tags for Vex
NBT Tags for Villager
NBT Tags for Wandering Trader
NBT Tags for Witch
NBT Tags for Wither Boss
NBT Tags for Wither Skeleton
NBT Tags for Wolf
NBT Tags for Zoglin
NBT Tags for Zombie
NBT Tags for Zombie Horse
NBT Tags for Zombie Villager
NBT Tags for Zombified Piglin
History[]
The NBT file format was described by Notch in a brief specification.
The original known version was 19132 as introduced in Beta 1.3, and since then has been updated to 19133 with the Anvil file format, which adds the tag. The NBT format dates all the way back to Indev with tags 0 to 10 in use.
Java Edition | ||
---|---|---|
1.0.0 | Notch works on «saving arbitrary data with item instances.» | |
1.8 | 14w03a | NBT data now supports using string IDs rather than numerical IDs. |
1.12 | ? | Added long array tags. |
1.13 | 18w01a | Added a data generator to both the Minecraft client and the default multiplayer software. |
1.14 | 19w08a | String tags in SNBT can now be within single quotes in addition to double quotes . |
Unbreakable items
- Click on the compound to select it. (it turns blue)
- Click on the Byte Tag button on the top bar to add a new tag.
- Enter in the first field and in the second. Then press Enter to submit, and save.
- In game, your item will be unbreakable! Just note that it won’t display anything, but the tag still takes effect.
Here is an example of a finished product:
(I did forget to include a multi-line name but you can guess what that looks like)
What Else?
When it comes to modifying things you can easily just change the value! This can be done with most of the properties, try changing the count or damage value.
How to replicate items
- You can have a command block the chest, so that way you have infinite amounts. You can use a clever trick to be able to give them to players.
- If you are more experienced with NBT editors, you can have villagers trade them!
Result[]
Command | Trigger | Java Edition |
---|---|---|
any | the arguments are not specified correctly | Unparseable |
is unloaded or out of the world | Failed | |
the block at is not a block entity | ||
(in mode) fails to resolve to an entity (named player must be online) | ||
more than one tag is got | ||
does not exist | ||
the obtained tag is not a numeric tag | ||
nothing is changed | ||
try to edit player’s data | ||
is the root compound tag | ||
is unloaded or out of the world | ||
the block at is not a block entity | ||
fails to resolve to an entity (named player must be online) | ||
does not exist | ||
the target tag isn’t a list or array | ||
source data isn’t of an item type appropriate for the list | ||
the index is invalid | ||
the target path does not specify a compound tag | ||
the source data is not a compound tag | ||
any | On success | Get, merge, modify, and remove NBT data. |