Что такое таг в майнкрафте

Обновлено: 02.07.2024

Формат NBT (от англ. Named Binary Tag — «именованный двоичный тег») используется Minecraft в различных файлах для хранения данных. Формат описан Нотчем в очень краткой спецификации. Формат разработан для хранения данных в структуре-дереве, состоящей из различных тегов. У каждого тега есть идентификатор и название. Оригинальная известная версия NBT, 19132, была введена в Beta 1.3, и с тех пор была обновлена до 19133 вместе с Anvil; в этом обновлении был добавлен тег для массива целочисленных переменных. Формат NBT был ещё в Indev и использовал теги с 0 по 10.

Формат файлов

Файл NBT — это сжатый GZip составной тег, включающий название и тип. Некоторые такие файлы, используемые Minecraft, не являются сжатыми GZip, хотя в большинстве случаев спецификация Нотча, предписывающая сжатие, соблюдается. В Xbox 360 издании чанки сжимаются XMemCompress, разновидностью алгоритма сжатия LZX. Заголовка, указывающего версию или какую-либо иную информацию, в файлах нет, версия указана только в файле Использование в Minecraft

Использование формата NBT в Minecraft местами является странным. В некоторых случаях пустые списки могут быть представлены списками байтов (или тегов End в более новых версиях Minecraft), а не списками правильного типа. К тому же, каждый корневой тег имеет пустое название и включает только один составной тег с самими данными и названием. Например:

Ещё одна заметная странность — это то, что, хотя оригинальная спецификация Нотча допускает пробелы в названиях тегов и приведённый в ней пример использует это, в Minecraft нет файлов с пробелами в тегах. Также использование прописных букв в названиях тегов непостоянно: где-то с прописной буквы пишется каждое слово, где-то — каждое, кроме первого, а где-то используются только строчные буквы.

Область применения

[Гайд] Разбираем NBT теги: Предметы и транспорт

[Гайд] Разбираем NBT теги: Предметы и транспорт

Предметы:
Count: Количество предметов.
Slot: Слот, в который будет помещён предмет.
Damage: Дополнительный параметр предмета. Например: Цвет шерсти.
id: ID предмета.
tag (Массив): NBT параметры вызываемого объекта.

Все типы вагонеток:
CustomDisplayTile: 1 - если отображать посаженные в вагонетку объекты. Если нет - 0.
DisplayTile: ID блока, посаженного в вагонетку.
DisplayData: Дополнительные параметры блока, посаженного в вагонетку.
DisplayOffset: Высота посаженного блока.
CustomName: Имя вагонетки. Используется, например, как имя командного блока.

Обычная вагонетка: Удалено в версии 13w02a.

Вагонетка с сундуком или воронкой:
Items (Массив): Предметы, которые содержатся в контейнерах вагонетки. О том, как работать с предметами было написано выше.

Вагонетка с печкой:
PushX: Сила толчка по оси X.
PushZ: Сила толчка по оси Z.
Fuel: Количество тиков до того момента, после которого в печке закончится топливо.

Вагонетка с воронкой:
TransferCooldown: Количество тиков до того момента, после которого в воронку поступит следующий предмет.

Вагонетка с динамитом:
TNTFuse: 1 - если динамит не активирован. Если активирован - 0.

Вагонетка со спавнером: Параметры спавнера. О том, как с ними работать, будет написано в одной из следующих статей.

Вагонетка с командным блоком:
Command: Команда, прописанная в командном блоке.
SuccessCount: Сила сигнала, получаемая компаратором в результате выполнения команды.
LastOutput: Информация, выводимая при выполнении команды в специальное поле командного блока.
TrackOutput: Неизвестно.

Содержание

[Гайд] Разбираем NBT теги: Все мобы

[Гайд] Разбираем NBT теги: Все мобы

Итак, теги будут описаны в таком-же формате, как и на англоязычной WIKI.

[Гайд] Разбираем NBT теги: Все мобы


Все мобы:
HealF: Количество здоровья моба. Измеряется в половинках сердец. Если установлен, то Health игнорируется.
Health: Количество здоровья моба.
AbsorptionAmount: Дополнительное здоровье моба.
AttackTime: Сложный перевод. Описать его словами очень трудно (Number of ticks the mob's "invincibility shield" lasts after the mob was last struck. 0 when not recently hit).
HurtTime: Сложный перевод. Описать его словами очень трудно (Number of ticks the mob turns red for after being hit. 0 when not recently hit.).
DeathTime: Значение "0" показывает, что моб уже мёртв.
Attributes (Массив): Атрибуты моба.
-Name: Имя атрибута.
-Base:: Базовое значение атрибута.
-Modifiers (Массив): Будет описано отдельно.
ActiveEffects (Массив): Эффекты, наложенные на моба
-Id: ID эффекта.
-Amplifier: Уровень эффекта.
-Duration: Длительность эффекта.
-Ambient: 1 - если эффект обеспечивается маяком. Если нет - 0.
-ShowParticles: 1 - если частицы показаны. Если нет - 0.
Equipment (Массив): То, что надето на игрока.
-0: Предмет, который находится в руке.
-1: Ноги
-2: Поножи
-3: Нагрудник
-4: Голова
DropChances (Массив): Выпадающие с моба вещи.
-0: Предмет, который находится в руке.
-1: Ноги
-2: Поножи
-3: Нагрудник
-4: Голова
CanPickUpLoot: 1 - если моб может поднимать вещи. Если нет - 0.
PersistenceRequired: 1 - если моб не может естественно исчезнуть. Если может - 0.
CustomName: Имя моба.
CustomNameVisible: 1 - если пользовательское имя видно. Если нет - 0.
Leashed: 1 - если моб на поводке. Если нет - 0.
Leash (Массив): Значение данного массива и его параметры нужны только для профессионалов. Если они Вам интересны - посмотрите на WIKi.
GoldenAppleOverflow: Удалено.

Определение тега

Тег — отдельный элемент дерева данных. Первый байт в теге — это тип тега (также называемый идентификатором или ID), затем 2 байта хранят длину названия, затем название в виде строки в формате UTF-8 (следует отметить, что TAG_End не имеет названия и не включает дополнительные 2 байта; предполагается, что название пустое). Названия тегов могут содержать пробелы, хотя сам Minecraft не имеет таких тегов. Наконец, следующие байты — содержимое тега, зависящее от типа тега. Таблица ниже описывает 12 известных тегов в версии NBT 19133:

[Гайд] Изучаем структуру NBT с нуля

[Гайд] Изучаем структуру NBT с нуля

Итак, давайте определимся с тем, что-же такое структура NBT. Упрощённое определение находится ниже.

NBT или Named Binary Tags - это формат хранения данных мира, разработанный Нотчем. Использует расширение .mclevel.

NBT параметры могут быть как обязательными, так и опциональными. Все они нужны для того, что-бы управлять теми, или иными объектами. Например, с их помощью можно выдавать мобам различные эффекты, броню, и прочее.

NBT код, с версии 1.7, может быть изменён непосредственно в игре, что значительно упрощает работу создателей карт, так как до этого изменить дополнительные параметры было возможно только используя специальные дополнения.

Итак, теперь давайте разберёмся с символами, которые нам потребуются. Фигурные скобки (< и >) потребуются нам в самом начале. Например: /summon Zombie var:1>. Также фигурные скобки нужны, если какой-либо объект в массиве может иметь дополнительные параметры (Например: Параметры брони моба, /summon Zombie ]>). Квадратные скобки ([ и ]) нужны для открытия и закрытия массивов. Например: /summon Zombie [var:1]>. Присвоение значений производится с помощью знака ":". Например: /summon Zombie :1>. Для разделения различных параметров, нам потребуется запятые. Например: /summon Zombie ,var:1>

Список всех возможных параметров для тех, или иных объектов можно найти здесь. Они не переведены на русский язык. Поэтому их придётся переводить самому.

Программное обеспечение

Mojang предоставила экземпляры классов Java для работы с NBT, предназначенные для использования разработчиками, как часть исходного кода для преобразователя McRegion → Anvil. Помимо этого, сообщество разработало программы для просмотра и изменения сжатых и несжатых файлов NBT, например, NBTExplorer и NBT2YAML (все вышеприведённые программы поддерживают последние версии NBT).

Читайте также: