← Все статьи

Компоненты вместо NBT: всё, что нужно знать о создании предметов в новых версиях Minecraft

Поймите разницу между старыми NBT-тегами и новой системой компонентов данных в Minecraft 1.20.5+.

Хочешь перейти от статьи к рабочему предмету?

Собери визуальную часть в генераторе ресурспаков, а командную и логическую — в конструкторе кастомных предметов. Так легче проверить и внешний вид, и серверную логику без ручной каши.

Почему этот переход ощущается не как мелкая правка синтаксиса

Много лет у предметов в Minecraft был один понятный позвоночник: NBT. Админы серверов, авторы датапаков, создатели карт и RP-проектов привыкли складывать туда имя, чары, лор, модельки и любые странные крайние случаи. Это было не особенно красиво, но это было знакомо. А потом в 1.20.5 Mojang заменили предметный NBT на компоненты данных, и даже простая команда /give стала выглядеть чужой.

Именно поэтому миграция воспринимается как нечто большее, чем замена фигурных скобок на квадратные. Изменилась сама структура. Раньше данные предмета были похожи на один мешок тегов. Теперь каждая часть живёт в своём именованном компоненте. Для игры это чище, но для человека ломает привычки, старые заметки, старые туториалы и целые архивы рабочих команд.

Что Mojang поменяли на самом деле

В старой системе данные предмета жили внутри одного NBT-блока. Можно было добавлять в него всё новые поля, и если синтаксис не разваливался, команда обычно работала. В новой системе имя предмета - это отдельный компонент. Лор - отдельный компонент. Данные зелья - отдельный компонент. Custom Model Data - тоже отдельный компонент. Именно это делает систему более прозрачной для движка и более предсказуемой в долгую, но в начале она пугает своей строгостью.

Зона До 1.20.5 1.20.5+ Почему это важно
Общий синтаксис {...} [...] Большая часть старых команд перестаёт работать сразу, если оставить старую обёртку.
Видимое имя display.Name minecraft:custom_name Имя больше не лежит внутри старого display-блока.
Лор display.Lore minecraft:lore Теперь это отдельная зона, а не кусок общей NBT-структуры.
Хук на модель CustomModelData minecraft:custom_model_data Смысл остался, но синтаксис и будущее связаны уже с компонентами.
Данные зелий Смешаны в NBT minecraft:potion_contents Логика стала яснее, но старые сниппеты перестали совпадать с реальностью.

Старая команда и современная команда

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

/give @p minecraft:paper{CustomModelData:2047,display:{Name:'{"text":"Guild Pass","italic":false}'}}
/give @p minecraft:paper[minecraft:custom_model_data=2047,minecraft:custom_name='{"text":"Guild Pass","italic":false}']

Новая строка сперва кажется более жёсткой, но по смыслу она даже понятнее:

Что обычно ломается первым на живом сервере

Когда сервер обновляется, а привычки остаются прежними, ошибки почти всегда скучные, но дорогие по времени:

Именно поэтому переход больнее всего бьёт по живым серверам. Это не одна большая драматическая поломка. Это двадцать маленьких мест, где старые привычки перестают быть надёжными.

Где наши инструменты снимают самое неприятное трение

Если писать всё руками, тебе приходится думать о синтаксисе и о дизайне предмета одновременно. Мы как раз стараемся развести эти задачи. Custom Item Builder помогает, когда нужен предмет с видимым именем, скрытым идентификатором и привязкой к модели. Генератор зелий берёт на себя potion_contents. Торги жителей показывают разницу между версиями так, чтобы ты не тащил старую запись в современный командный блок.

Смысл не в том, чтобы никогда ничего не понимать. Смысл в том, чтобы не тратить часы на скобки и кавычки в тот момент, когда ты ещё только придумываешь сам предмет.

Практичный порядок миграции, который тратит меньше нервов

  1. Начни с одного реального предмета, а не со всего архива. Лучше всего с токена, пропуска или книги.
  2. Сначала добей базовый предмет, имя и лор в новом синтаксисе.
  3. Потом верни визуальный хук, через minecraft:custom_model_data или уже через более современный item model workflow.
  4. Только после этого переходи к зельям, торгам и более сложной логике.
  5. Держи старую и новую версию рядом во время тестов. Когда сравниваешь один предмет, сразу видно, что именно переехало.

Типичные ошибки при переходе от NBT к компонентам

Практический вывод

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

Для no-mod RP-проекта это особенно полезно. Так предметы проще документировать, проще переиспользовать в наградах, торговцах и паке, и проще поддерживать спустя месяцы, когда уже никто не помнит, почему в старом блоке была именно такая мешанина тегов.

Часто задаваемые вопросы (FAQ)

Поддерживаются ли старые версии Minecraft?

Да. Версии до 1.20.4 продолжают жить на классическом NBT. Поэтому наши инструменты и разделяют режимы по версиям, а не делают вид, что одна команда подходит всем.

Нужно ли переписывать вообще все старые команды вручную?

Не каждую до последней. Простые предметы игра иногда конвертирует автоматически, но сложные командные блоки и рабочие админские цепочки обычно всё равно требуют ручной проверки.

CustomModelData исчез?

Нет. Сам принцип остался. Он просто переехал в компонентную форму и теперь живёт рядом с более современными штуками вроде item_model и расширенных слотов custom model data.

Почему старые туториалы всё ещё так сильно путают?

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

С какого инструмента безопаснее всего начинать миграцию?

Обычно с Custom Item Builder. Он позволяет сравнить старую и новую эпоху команд без того, чтобы сразу смешивать в одном тесте зелья, торги, пак и скрытую серверную логику.