Здесь надо замутить невероятно чёткий и подробный гадй/мануал по использованию NBT-тегов для использования более крутых команд в в командных блоках.

Техническая информация (англ.):

Примеры использования:

Наши наработки:

— в теории, можно использовать эти тэги для автоматизации торговли с сервером или между игроками, сначала проверяя количество, например, изумрудов в инвентаре игрока, а затем забирая их оттуда -> после чего выдавать товар игроку также в инвентарь;
— также можно спаунить монстров с заданными характеристиками, например, для создания своих внутриигровых квестов;

Источник: mc.bbcity.ru

Как сделать крафт с NBT тегами [1.16.1] [1.15.2] [1.14.4]

В данном видео вы узнаете как добавить крафты с зачарованиями, тегами, текстурами и т.д. начиная с версии майнкрафта 1.13.

NBT ТЕГИ ДЛЯ МАЙНКРАФТ 1.7 — 1.13+

Видео

Скачать датапак

#СсылкаРазмерДата
Сайт из видео
https://crafting.thedestruc7i0n.ca
Скачать датапак из видео
https://minecraft-inside.ru/download/157100/
3,90 КБ 9 июля 2020

Источник: minecraft-inside.ru

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

Формат именованного двоичного тега ( NBT ) используется Minecraft для различных файлов, в которых он сохраняет данные. Формат предназначен для хранения данных в древовидной структуре, состоящей из различных тегов . У всех тегов есть идентификатор и имя.

Еще один более удобный формат NBT — это простая строка, используемая в командах . Этот формат называется SNBT , сокращенно от строкового NBT .

  • 1 формат SNBT
  • 1.1 Формат каждого типа
  • 2.1 Создание объекта NBT
  • 2.2 Преобразование в SNBT
  • 2.3 Конвертация из SNBT
  • 2.4 Изменение сущности / блока на основе объекта NBT
  • 2.5 Тестирование тегов NBT
  • 3.1 определение тега
  • 3.2 Использование
  • 3.2.1 Использование

Формат SNBT [ ]

Эта функция является эксклюзивной для Java Edition .

SNBT , также известный как тег данных , часто используется в команде в Java Edition . Его можно описать, начиная с пар атрибут-значение, заключенных в фигурные скобки. Одно из распространенных применений тегов данных в Java Edition — это команды, используемые для указания сложных данных для любого объекта.

Тег данных состоит из нуля или более пар атрибут-значение, разделенных запятыми и заключенных в фигурные скобки. Каждая пара атрибут-значение состоит из имени тега и значения тега, разделенных двоеточием. Однако некоторые значения могут быть составным тегом и сами содержать пары атрибут-значение, позволяя тегу данных описывать иерархическую структуру данных.

При необходимости имя тега можно заключить в двойные кавычки.

Он отличается от формата JSON ; следовательно, любой JSON, используемый в NBT, например необработанный текст JSON , должен быть заключен в строковый тег.

Формат каждого типа [ ]

Определенные структуры данных также ожидают, что значения будут правильного типа.

«Call me «Ishmael»»

‘Call me «Ishmael»‘

‘Call me ‘Ishmael»

«Call me ‘Ishmael'»

Каждый тег может быть любого типа.

NBT объект [ ]

Когда игра запущена, сущности и сущности блоков в загрузочных фрагментах сохраняются в памяти. Они не хранятся в NBT, это просто программные объекты.

При обработке операций NBT игре необходимо сгенерировать программный объект NBT из сущностей / сущностей блоков, преобразовать SNBT в объект NBT, изменить сущности / блоки на основе предоставленного объекта NBT или преобразовать объект NBT в SNBT.

Создание объекта NBT [ ]

При генерации NBT из сущности / блока свойства сущности / блока добавляются в программный объект NBT.

Обратите внимание, что не все свойства добавляются. Например, значение того, открывает ли игрок сундук, не будет добавлено в объект NBT.

Читайте также:  Как запустить Майнкрафт через nvidia

Значение добавляется с определенным типом данных. Например, идентификатор в пространстве имен будет преобразован в строковое значение .

Эти объекты NBT также будут сохранены в файлах сохранения игры как файлы NBT при выходе из игры или при автоматическом сохранении. Таким образом, структуры данных, которые описывают теги NBT, и тип данных для каждого тега в основном те же, что используются в файлах сохранения игры. Эти структуры данных описаны в других статьях, и команды ожидают, что теги данных будут использовать те же имена атрибутов (которые чувствительны к регистру):

Ссылки на спецификацию структуры данных

Объекты Примеры
Блокировать сущности сундуки, печи, командные блоки, создатели мобов, знаки и т. д.
Предметы предметы в инвентаре (включая спецификации чар, знания, пользовательские имена и т. д.)
Сущности предмета предметы на земле
Мобы лианы, коровы, сельские жители и т. д.
Снаряды стрелы, огненные шары, брошенные зелья и т. д.
Транспортные средства лодки, вагонетки и т. д.
Динамические плитки грунтованный TNT, падающий песок / гравий / бетонный порошок / наковальни
Прочие организации фейерверки, картины и рамы для предметов

Преобразование в SNBT [ ]

Эта функция является эксклюзивной для Java Edition .

Программный объект NBT будет преобразован в SNBT при попытке получить его с помощью и т. Д. /data get

После преобразования за числом всегда следует буква (нижний регистр для b, s, f, d и верхний регистр для L), кроме Целое число . Например, 3s для краткости, 3.2f для поплавка и т. Д.

И строка всегда заключена в двойные или одинарные кавычки.

Другие типы данных выражаются как #Format для каждой таблицы типов выше.

Преобразование из SNBT [ ]

Эта функция является эксклюзивной для Java Edition .

SNBT будет преобразован в программный объект NBT при анализе в игре.

Число, за которым следует буква (B, S, L, F, D или их строчные буквы), преобразуется в соответствующий тип данных. Например, 3s для краткости, 3.2f для числа с плавающей запятой и т. Д. Буква может быть в верхнем или нижнем регистре. Если буква не используется, предполагается, что double, если есть десятичная точка, int, если десятичной точки нет и размер соответствует 32 битам, или string, если ни один из них не является истинным.

Предполагается, что литерал в квадратных скобках является списком, если не используется идентификатор: [I;1,2,3] для массива int и [L;1L,2L,3L] для длинного массива.

true и false преобразуются как 1b и 0b соответственно.

Изменение сущности / блока на основе объекта NBT [ ]

Эта функция является эксклюзивной для Java Edition .

Изменение объекта / блока на основе программного объекта NBT — непростой процесс. Перед изменением свойств блока / объекта необходимо разрешить все определенные теги. Обратите внимание, что изменять можно только определенные свойства. Например, при использовании команды для изменения объекта блока его координаты не могут быть изменены. /data

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

Если для свойства требуется значение текста JSON и он получает string , строка будет преобразована в текстовый объект JSON.

Если для свойства требуется числовое значение определенного типа и он получает числовой тег неправильного типа, число получит некоторую операцию округления и преобразуется в требуемый тип.

Читайте также:  Как сделать цветное свечение в Майнкрафт

Если для свойства требуется числовое значение и он получает нечисловой тег, число станет 0.

Если для свойства требуется строковое значение и он получает тег, не являющийся строковым, строка станет пустой строкой.

Если для свойства требуется список или массив определенного типа и он получает тег неправильного типа, будет получен пустой список / массив.

Если для свойства нужен тег compount и он получает тег без compount, будет получен пустой тег compount.

Тестирование тегов NBT [ ]

Эта функция является эксклюзивной для Java Edition .

Когда такие команды, как , используются для сопоставления тегов данных, или аргумент nbt в целевом селекторе пытается нацелить объект, игра преобразует SNBT в программный объект NBT и получает программный объект NBT из блока / объекта / хранилища, а затем сравнивает два объекта NBT. /clear /execute if data

Тем не менее, порядок и количество элементов в байт / длинный / INT массива будет подтверждено.

NBT файл [ ]

Файл NBT представляет собой заархивированный составной тег с именем и идентификатором тега. Файл в zip-архиве должен содержать тег Compound в качестве первых байтов. Некоторые файлы, используемые Minecraft, могут быть несжатыми, но в большинстве случаев файлы соответствуют исходной спецификации Notch и сжимаются с помощью GZip.

Определение TAG [ ]

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

Я БЫ Значок Тип тега Полезная нагрузка Описание Вместительность
0 TAG_ Конец Используется для обозначения конца составных тегов. У этого тега нет имени , поэтому он представляет собой только один байт 0. Он также может быть типом пустых тегов списка. N / A
1 TAG_ Byte 1 байт / 8 бит, со знаком Целочисленный тип со знаком. Иногда используется для логических значений. Полный диапазон от — (2 7 ) до (2 7 — 1)
(от -128 до 127)
2 TAG_ Short 2 байта / 16 бит, со знаком, с прямым порядком байтов Целочисленный тип со знаком. Полный диапазон от — (2 15 ) до (2 15 — 1)
(от -32 768 до 32 767)
3 TAG_ Int 4 байта / 32 бита, со знаком, с прямым порядком байтов Целочисленный тип со знаком. Полный диапазон от — (2 31 ) до (2 31 — 1)
(от -2 147 483 648 до 2 147 483 647)
4 TAG_ Длинный 8 байт / 64 бита, со знаком, с прямым порядком байтов Целочисленный тип со знаком. Полный диапазон от — (2 63 ) до (2 63 — 1)
(от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807)
5 TAG_ Float 4 байта / 32 бита, со знаком, с прямым порядком байтов, IEEE 754-2008, binary32 Тип с плавающей запятой со знаком. Точность варьируется по числовой строке;
См. Раздел Формат одинарной точности с плавающей запятой . Максимальное значение около 3,4 * 10 38
6 TAG_ Double 8 байт / 64 бита, со знаком, с прямым порядком байтов, IEEE 754-2008, binary64 Тип с плавающей запятой со знаком. Точность варьируется по числовой строке;
См. Раздел Формат с плавающей запятой двойной точности . Максимальное значение около 1,8 * 10 308
7 TAG_ Байт _ Массив Полезная нагрузка TAG_Int в размер , то размер полезной нагрузки TAG_Byte в. Массив байтов. Максимальное количество элементов находится в диапазоне от (2 31 — 9) до (2 31 — 1) (2 147 483 639 и 2 147 483 647), в зависимости от конкретной JVM.
8 TAG_ String Типа TAG_Short, но вместо него длина полезной нагрузки без знака [1] , тогда строка UTF-8 похожа по длине в байтах. Строка UTF-8. Он имеет размер, а не завершается нулем. 65 535 байт интерпретируются как UTF-8 (см. Измененный формат UTF-8 ; наиболее часто используемые символы — однобайтовые).
9 TAG_ Список TAG_Byte в полезной нагрузке TagID , то полезная нагрузка TAG_Int в размере , то размера в полезной нагрузке TAGS’, весь типа TagID . Список полезных данных тегов без повторяющихся идентификаторов тегов или каких-либо имен тегов. Из-за ограничений JVM и реализации ArrayList максимальное количество элементов списка составляет (2 31–9 ) или 2 147 483 639. Также обратите внимание, что теги List и Compound не могут быть вложены глубже 512.
10 TAG_ Соединение Полностью сформированные теги, за которыми следует TAG_End. Список полностью сформированных тегов, включая их идентификаторы, имена и полезные данные. У двух тегов не может быть одного и того же имени. В отличие от списков, здесь нет жесткого ограничения на количество тегов в Compound (конечно, всегда есть неявное ограничение виртуальной памяти). Однако обратите внимание, что теги Compound и List не могут быть вложены глубже 512.
11 TAG_ Int _ Массив Полезная нагрузка TAG_Int в размер , то размер полезной нагрузки TAG_Int в. Массив полезных данных TAG_Int. Максимальное количество элементов находится в диапазоне от (2 31 — 9) до (2 31 — 1) (2 147 483 639 и 2 147 483 647), в зависимости от конкретной JVM.
12 TAG_ Long _ Массив Полезная нагрузка TAG_Int в размер , то размер полезной нагрузки TAG_Long в. Массив полезных данных TAG_Long. Максимальное количество элементов находится в диапазоне от (2 31 — 9) до (2 31 — 1) (2 147 483 639 и 2 147 483 647), в зависимости от конкретной JVM.
Читайте также:  Как построить пирамиду для маяка в Майнкрафт

Теги List и Compound могут быть и часто рекурсивно вложены. Следует также отметить, что в списке списков каждый из подсписок может содержать различные типы тегов.

Использование [ ]

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

  • Корневой тег для большинства структур Minecraft NBT.
  • SomeName : единственный тег, содержащийся в корневом теге — он имеет имя и содержит все фактические данные.

Кроме того, также непоследовательно используется регистр букв, в основном это CamelCase или PascalCase, но иногда даже в нижнем регистре.

Источник: minecraftpages.wiki