что такое nbt в майнкрафт
[Гайд] Разбираем NBT теги: Блоковые сущности
Все блоковые сущности:
id: ID блоковой сущности
x: Расположение сущности по оси x
y: Расположение сущности по оси y
z: Расположение сущности по оси z
Сундук:
CustomName: Название сундука
Items (Массив): Предметы, помещённые в сундук
Печь:
CustomName: Название печи
BurnTime: Количество тиков до того момента, после которого в печке закончится топливо (Уголь, дерево)
CookTime: Количество тиков до того момента, после которого в печке приготовится предмет
Items (Массив): Предметы, помещённые в печь
Варочная стойка:
CustomName: Название стойки
BrewTime: Количество тиков, которые понадобились для текущей варки
Items (Массив): Предметы, помещённые в стойку
Воронка:
CustomName: Название воронки
TransferCooldown: Количество тиков до того момента, после которого будет передан следующий предмет
Items (Массив): Предметы, помещённые в воронку
Раздатчик и выбрасыватель:
CustomName: Название раздатчика или выбрасывателя
Items (Массив): Предметы, помещённые в раздатчик или выбрасыватель
Цветочный горшок:
Item: ID предмета, который находится в горшке
Data: Дополнительный параметр блока, который находится в горшке
Маяк:
Levels: Количество уровней блоков под маяком
Primary: Базовый эффект
Secondary: Дополнительный эффект
Проигрыватель:
Record: Выбранная запись (Пластинка)
RecordItem: Предмет в проигрывателе
Компаратор:
OutputSignal: Сила сигнала, выдаваемого компаратором
Командный блок:
CustomName: Название командного блока
Command: Команда, прописанная в командном блоке
LastOutput: Строка состояния в командном блоке
SuccessCount: Мощность выводимого сигнала
TrackOutput: Не используется
Табличка:
Text1: Текст, написанный на первой строчке
Text2: Текст, написанный на второй строчке
Text3: Текст, написанный на третьей строчке
Text4: Текст, написанный на четвёртой строчке
Голова:
SkullType: Тип головы
Rot: Угол поворота
ExtraType: Ник игрока, чья голова надета на голов
Спаунер:
EntiyId: ID выбранной сущности
SpawnCount: Количество мобов, создающихся за раз
SpawnRange: Радиус, в котором создаются сущности
Delay: Количество тиков до того момента, после которого спавнер сработает вновь
MinSpawnDelay: Минимальное количество задержки
MaxSpawnDelay: Максимальное количество задержки
MaxNearbyEntities: Максимальное количество сущностей, которые могут находиться рядом со спавнером
RequiredPlayerRange: Радиус, в котором игрок активирует спавнер
SpawnData: Данные, копируемые в следующую сущность
SpawnPotentials (Массив): Список возможных сущностей для создания
—Type: Замена EntiyId
—Weight: Весовой шанс рождения
—Properties: Потенциально создаваемый объект
[Гайд] Изучаем структуру NBT с нуля
Итак, давайте определимся с тем, что-же такое структура NBT. Упрощённое определение находится ниже.
NBT параметры могут быть как обязательными, так и опциональными. Все они нужны для того, что-бы управлять теми, или иными объектами. Например, с их помощью можно выдавать мобам различные эффекты, броню, и прочее.
NBT код, с версии 1.7, может быть изменён непосредственно в игре, что значительно упрощает работу создателей карт, так как до этого изменить дополнительные параметры было возможно только используя специальные дополнения.
Итак, теперь давайте разберёмся с символами, которые нам потребуются. Фигурные скобки (< и >) потребуются нам в самом начале. Например: /summon Zombie <var:1>. Также фигурные скобки нужны, если какой-либо объект в массиве может иметь дополнительные параметры (Например: Параметры брони моба, /summon Zombie
Список всех возможных параметров для тех, или иных объектов можно найти здесь. Они не переведены на русский язык. Поэтому их придётся переводить самому.
[Гайд] Разбираем NBT теги: Предметы и транспорт
Предметы:
Count: Количество предметов.
Slot: Слот, в который будет помещён предмет.
Damage: Дополнительный параметр предмета. Например: Цвет шерсти.
id: ID предмета.
tag (Массив): NBT параметры вызываемого объекта.
Обычная вагонетка: Удалено в версии 13w02a.
Вагонетка с сундуком или воронкой:
Items (Массив): Предметы, которые содержатся в контейнерах вагонетки. О том, как работать с предметами было написано выше.
Вагонетка с печкой:
PushX: Сила толчка по оси X.
PushZ: Сила толчка по оси Z.
Fuel: Количество тиков до того момента, после которого в печке закончится топливо.
Вагонетка с воронкой:
TransferCooldown: Количество тиков до того момента, после которого в воронку поступит следующий предмет.
Вагонетка со спавнером: Параметры спавнера. О том, как с ними работать, будет написано в одной из следующих статей.
Вагонетка с командным блоком:
Command: Команда, прописанная в командном блоке.
SuccessCount: Сила сигнала, получаемая компаратором в результате выполнения команды.
LastOutput: Информация, выводимая при выполнении команды в специальное поле командного блока.
TrackOutput: Неизвестно.
Формат NBT
Формат NBT (от англ. Named Binary Tag — «именованный двоичный тег») используется Minecraft в различных файлах для хранения данных. Формат описан Нотчем в очень краткой спецификации. Формат разработан для хранения данных в структуре-дереве, состоящей из различных тегов. У каждого тега есть идентификатор и название. Оригинальная известная версия NBT, 19132, была введена в Beta 1.3, и с тех пор была обновлена до 19133 вместе с Anvil; в этом обновлении был добавлен тег для массива целочисленных переменных. Формат NBT был ещё в Indev и использовал теги с 0 по 10.
Содержание
Определение тега
Тег — отдельный элемент дерева данных. Первый байт в теге — это тип тега (также называемый идентификатором или ID), затем 2 байта хранят длину названия, затем название в виде строки в формате UTF-8 (следует отметить, что TAG_End не имеет названия и не включает дополнительные 2 байта; предполагается, что название пустое). Названия тегов могут содержать пробелы, хотя сам Minecraft не имеет таких тегов. Наконец, следующие байты — содержимое тега, зависящее от типа тега. Таблица ниже описывает 12 известных тегов в версии NBT 19133:
Формат файлов
Использование в Minecraft
Использование формата NBT в Minecraft местами является странным. В некоторых случаях пустые списки могут быть представлены списками байтов (или тегов End в более новых версиях Minecraft), а не списками правильного типа. К тому же, каждый корневой тег имеет пустое название и включает только один составной тег с самими данными и названием. Например:
Ещё одна заметная странность — это то, что, хотя оригинальная спецификация Нотча допускает пробелы в названиях тегов и приведённый в ней пример использует это, в Minecraft нет файлов с пробелами в тегах. Также использование прописных букв в названиях тегов непостоянно: где-то с прописной буквы пишется каждое слово, где-то — каждое, кроме первого, а где-то используются только строчные буквы.
Область применения
Программное обеспечение
Mojang предоставила экземпляры классов Java для работы с NBT, предназначенные для использования разработчиками, как часть исходного кода для преобразователя McRegion → Anvil. Помимо этого, сообщество разработало программы для просмотра и изменения сжатых и несжатых файлов NBT, например, NBTExplorer и NBT2YAML (все вышеприведённые программы поддерживают последние версии NBT).
Java Edition
Minecraft Wiki
Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.
Формат NBT
Формат NBT (от англ. Named Binary Tag — «именованный двоичный тег») используется Minecraft в различных файлах для хранения данных. Формат описан Нотчем в очень краткой спецификации. Формат разработан для хранения данных в структуре-дереве, состоящей из различных тегов. У каждого тега есть идентификатор и название. Оригинальная известная версия NBT, 19132, была введена в Beta 1.3, и с тех пор была обновлена до 19133 вместе с Anvil; в этом обновлении был добавлен тег для массива целочисленных переменных. Формат NBT был ещё в Indev и использовал теги с 0 по 10.
Содержание
Определение тега [ ]
Тег — отдельный элемент дерева данных. Первый байт в теге — это тип тега (также называемый идентификатором или ID), затем 2 байта хранят длину названия, затем название в виде строки в формате UTF-8 (следует отметить, что TAG_End не имеет названия и не включает дополнительные 2 байта; предполагается, что название пустое). Названия тегов могут содержать пробелы, хотя сам Minecraft не имеет таких тегов. Наконец, следующие байты — содержимое тега, зависящее от типа тега. Таблица ниже описывает 12 известных тегов в версии NBT 19133:
Списки и составные теги могут быть вложены. Следует отметить, что в списке списков подсписки могут иметь разные типы элементов.
Формат файлов [ ]
Использование в Minecraft [ ]
Использование формата NBT в Minecraft местами является странным. В некоторых случаях пустые списки могут быть представлены списками байтов (или тегов End в более новых версиях Minecraft), а не списками правильного типа. К тому же, каждый корневой тег имеет пустое название и включает только один составной тег с самими данными и названием. Например:
Ещё одна заметная странность — это то, что, хотя оригинальная спецификация Нотча допускает пробелы в названиях тегов и приведённый в ней пример использует это, в Minecraft нет файлов с пробелами в тегах. Также использование прописных букв в названиях тегов непостоянно: где-то с прописной буквы пишется каждое слово, где-то — каждое, кроме первого, а где-то используются только строчные буквы.
Область применения [ ]
Программное обеспечение [ ]
Mojang предоставила экземпляры классов Java для работы с NBT, предназначенные для использования разработчиками, как часть исходного кода для преобразователя McRegion → Anvil. Помимо этого, сообщество разработало программы для просмотра и изменения сжатых и несжатых файлов NBT, например, NBTExplorer и NBT2YAML (все вышеприведённые программы поддерживают последние версии NBT).
Java Edition