1.21.5 (Java Edition)[править введение]

Материал из Minecraft Wiki
Перейти к навигации Перейти к поиску
Minecraft 1.21.5
Издание

Java Edition

Официальное
название

Spring Drop 2025

Запланированная
дата выпуска

?

Предварительные
сборки

1.21.5, полный выпуск Spring Drop 2025, — это игровой дроп для Java Edition с неизвестной датой выпуска. В этом обновлении будут добавлены новые окрасы для свиней, коров и кур, новые блоки для придания биомам большей атмосферности, а также будут обновлены иконки яиц призывания, изменён контент из прошлого дропа и исправлен ряд ошибок.

Нововведения[править | править код]

Блоки и предметы из 1.21.5
Голубое яйцоКоричневое яйцоСухие листьяПолевые цветыКустКуст со светлячкамиЦветок кактусаНизкая сухая траваВысокая сухая трава
Блок-тестерБлок-тестерБлок-тестерБлок-тестерБлок-тестер экземпляра

Блоки[править | править код]

Блок-тестер

  • Новый технический блок для проведения игровых тестов, основанных на блоках. Имеет четыре режима:
    • start: посылает редстоун-сигнал во время начала теста.
    • log: пересылает сообщение в файл журнала, если получает редстоун-сигнал.
    • fail: проваливает тест, если получает редстоун-сигнал.
    • accept: завершает тест, если получает редстоун-сигнал.
  • Для теста, основанного на блоках, требуется один блок-инициатор и один блок-акцептор.

Блок-тестер экземпляра

  • Новый технический блок для проведения игровых тестов в мире. Данный блок размещает тест в мире и используется для взаимодействия с тестом, его сброса или запуска, а также для сохранения тестовой структуры.
  • Использование команды /test для запуска или создания теста также разместит блок-тестер экземпляра для управления этим тестом.

Куст

Куст со светлячками

  • Генерируется на обычных, мангровых болотах и у рек. В редких случаях он также может появиться в пустоши.
  • При наступлении темноты испускает частицы в виде светлячков в пределах 5 блоков от себя.
  • Ночью издаёт фоновые звуки, если над ним нет твёрдого блока (кроме листвы).
  • Можно компостировать, что повысит уровень перегноя с шансом 30 %.
  • Если использовать костную муку на кусте со светлячками, то появится ещё один.
  • Излучает уровень света, равный 2.
  • Может быть мгновенно разрушен даже без использования инструментов.

Низкая сухая трава

  • Имеет высоту в один блок.
  • Генерируется в пустыне и пустоши.
  • Можно разместить на песке, терракоте и земле, подобно сухому кусту.
  • Можно удобрить костной мукой.
  • Удобренная низкая сухая трава становится высокой.
  • Можно компостировать.
  • Овцы едят сухую траву, чтобы отрастить шерсть.
  • Может быть использована как топливо в печи.

Высокая сухая трава

  • Имеет высоту в один блок.
  • Генерируется в пустыне и пустоши.
  • Можно разместить на песке, терракоте и земле, подобно сухому кусту.
  • Можно удобрить костной мукой.
  • Вокруг удобренной высокой сухой травы появляется низкая сухая трава.
  • Можно компостировать.
  • Овцы едят сухую траву, чтобы отрастить шерсть.
  • Может быть использована как топливо в печи.

Сухие листья

  • Новый декоративный блок, натурально генерируемый в обычных и тёмных лесах, а также в лесистой пустоши.
  • Количество листьев в пределах одного блока может варьироваться.
    • Сухие листья могут быть размещены в одном блоке до четырёх раз.
    • С каждым размещением количество листьев увеличивается.
  • Могут быть размещены в четырёх разных направлениях.
  • Могут быть получены путём обжига любого блока листвы.

УгольУгольный блокПалка
Сухие листья
  • Могут быть использованы как топливо в печи.
  • Могут быть компостированы.
  • Окрашиваются в зависимости от биома.
  • Имеют собственные звуки.

Полевые цветы

  • Новый вид цветов, растущий в обычном и реликтовом березняке, а также на лугах.
  • Количество цветов в пределах одного блока может варьироваться.
    • Полевые цветы могут быть размещены в одном блоке до четырёх раз.
    • С каждым размещением количество цветов увеличивается.
    • Использование костной муки на цветах приведёт к появлению новых полевых цветов.
  • Могут быть размещены в четырёх разных направлениях.
  • Являются ингредиентом для жёлтого красителя.
Полевые цветы→Жёлтый краситель

Цветок кактуса

  • Новый цветок, встречающийся на верхушках кактусов в пустынях и пустошах.
  • Может быть размещён на кактусе или любом другом блоке, верхняя сторона которого соответствует грани полного блока.
  • Может с некоторым шансом вырасти на кактусе.
    • Если высота кактуса составляет один или два блока, то на нём с шансом 10 % вырастет цветок, а не ещё один блок кактуса.
    • Если высота кактуса составляет три блока или выше, то цветок вырастет с шансом 25 %.
    • Цветок кактуса вырастет, только если со всех четырёх сторон имеется свободное пространство.
  • Можно компостировать.
  • Является ингредиентом для крафта розового красителя.

Предметы[править | править код]

Голубое яйцо

  • Вариант яйца, откладываемый снежной курицей.
  • При броске из него может вылупиться снежный цыплёнок.

Коричневое яйцо

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

Мобы[править | править код]

Волк

  • Добавлено шесть новых вариантов звучания.
    • Существуют следующие варианты: классический, большой, милый, мопсовый, злой, сварливый и грустный.
    • Варианты звучания выбираются случайным образом при спауне волков.
    • Варианты звучания не зависят от окраса волка.

Корова

Курица

Свинья

Генерация мира[править | править код]

Упавшее дерево

  • Новый декоративный вариант деревьев.
  • Бывает четырёх разных видов:
  • Упавшая берёза может быть длинной или короткой.
  • Некоторые упавшие деревья покрыты грибами или лианами.
  • Упавшие деревья встречаются во всех биомах, где растут их неупавшие версии, кроме следующих биомов:

Игровой процесс[править | править код]

Звуки

  • Мёртвый куст теперь имеет шанс воспроизвести фоновые звуки, если размещён на двух блоках терракоты любого цвета, песка или красного песка вне зависимости от биома.
  • Песок, красный песок и терракота любого цвета теперь имеют шанс воспроизвести фоновые звуки, если они окружены этими же блоками как минимум с трёх сторон на расстоянии 8 блоков.
    • block.sand.idle может проигрываться в любом биоме.
    • block.sand.wind проигрывается только в пустыне или пустоши.

Общее[править | править код]

Язык

Изменения[править | править код]

Блоки[править | править код]

Общее

  • Любой блок теперь получает случайные такты, находясь в пределах симуляции игрока или в загруженном сторонними методами чанке (например, с помощью жемчуга Края, а не в радиусе 8 чанков от игрока.
    • Например, находясь в загруженном с помощью жемчуга Края чанке или в спаун-чанке, урожай теперь будет расти, лёд — таять, снег — выпадать, а котёл — заполняться под дождём.
    • Спаун мобов, распространение огня от лавы и удары молний по-прежнему будут происходить в пределах 8 чанков от игрока.

Глазоцвет

  • Переход от одного состояния к другому теперь зависит от заданного дневного времени.

Железные прутья, железный люк, железная дверь и утяжелённая нажимная пластина

  • Добавлены новые звуки добывания, разрушения и размещения блоков, а также ходьбы по ним и падения на них.

Листва

Листва и саженец бледного дуба

  • Изменён цвет, отображаемый на карте.

Магнетит

Железный слиток→

Маяк

  • Маяки и их лучи теперь визуализируются за пределами 16 блоков до клиентской дальности прорисовки.
    • Чем дальше луч находится от игрока, тем он становится толще, чтобы быть более заметным на большом расстоянии.
    • Теперь луч достигает высоты 2048 блоков, а не 1024.

Огонь

  • Больше не будет гореть и распространяться, если находится за пределами 8 чанков от игрока.

Рыхлый снег

  • Сущность в кожаных ботинках, упавшая на рыхлый снег с высоты более 2,5 блоков, теперь провалится в него.
    • Прыжок или падение с высоты менее 2,5 блоков не приведёт к проваливанию, как и раньше.

Скрипцевина

  • Скрипцевина, правильно размещённая между древесиной, теперь имеет новую текстуру спящего состояния в дневной время.
    • Спящая скрипцевина не спаунит скрипунов и не генерирует смолу.
  • Переход от активного состояния к спящему теперь зависит от заданного дневного времени.

Столб пузырей

  • Теперь испускает меньше частиц и звуков, если сущность находится внутри него, но не подвержена его действию.

Сухой куст

  • Теперь может быть размещён на грядке.

Мобы[править | править код]

Общее

  • Домашние животные теперь могут появиться в пустоши.

Верблюд

  • Теперь спаунится повсеместно в пустыне.

Грибная корова

  • Модель и текстура красного и коричневого вариантов были изменены.

Деревенский житель

  • Картограф теперь продаёт 7 новых карт в зависимости от своего родного биома. Эти карты указывают на разные деревни или другие структуры в соответствующих биомах.
    • Карты деревень указывают на деревню в определённом биоме; карта исследователя джунглей указывает на джунглевый храм; карта исследователя болот указывает на хижину ведьмы.
    • Картографы из разных типов деревень будут продавать разный ассортимент карт и цветных флагов.
  • Некоторые цены и количество товаров также были скорректированы.
Рисунок, показывающий, куда могут привести разные виды купленных карт исследователя
Файл:25w07a cartographer trades.jpg
Новые сделки картографа
Новые карты, доступные для покупки
Пустыня Джунгли Равнины Саванна Заснеженные биомы Болото Тайга
Группа 1 Карта саванной деревни Карта саванной деревни Карта саванной деревни Карта пустынной деревни Карта равнинной деревни Карта заснеженной деревни Карта равнинной деревни
Группа 2 Карта равнинной деревни Карта пустынной деревни Карта таёжной деревни Карта равнинной деревни Карта таёжной деревни Карта таёжной деревни Карта заснеженной деревни
Группа 3 Исследовательская карта джунглей Исследовательская карта болота Исследовательская карта джунглей Исследовательская карта болота Исследовательская карта джунглей Исследовательская карта болота
Текущая версия сделок для картографа
Уровень Покупает Количество Множитель Продаёт Количество Сделок за раз Опыт у жителя
Новичок Бумага 24 0.05 Изумруд 1 16 2
Изумруд 7 0.05 Пустая карта 1 12 1
Ремесленник Стеклянная панель 11 0.05 Изумруд 1 16 10
Изумруд
Компас
8
1
0.2 Карта исследователя[note 1] 1 12 5
Подмастерье Компас 1 0.05 Изумруд 1 12 10
Изумруд
Изумруд
13
1
0.2 Карта к подводной крепости[note 2] 1 12 10
Изумруд
Изумруд
12
1
0.2 Карта к камерам испытаний[note 2] 1 12 10
Эксперт Изумруд 7 0.05 Рамка 1 12 15
Изумруд 3 0.05

Пустой флаг любого цвета[note 3]
1 12 15
Мастер Изумруд 8 0.05 Узор флага «Глобус» 1 12 30
Изумруд
Компас
14
1
0.2 Карта к лесному особняку 1 1 30

Зомбифицированный пиглин

Овца

Скрипун

  • Теперь может быть назван с помощью бирки.
    • Именованный скрипун не будет исчезать днём.
      • Однако он всё равно погибнет, если застрянет рядом с игроком или окажется слишком далеко от своей скрипцевины.
    • Именованный скрипун по-прежнему устойчив ко всем видам урона и по-прежнему связан со скрипцевиной.

Странствующий торговец

Новые сделки странствующего торговца
Категория Покупает Количество Продаёт Количество Сделок за раз
Покупка Печёный картофель 4 Изумруд 1 2
Покупка Приготовленный паучий глаз 1 Изумруд 3 2
Покупка Сноп сена 1 Изумруд 1 2
Покупка Ведро с молоком 1 Изумруд 2 2
Покупка Колба воды 1 Изумруд 1 2
Покупка Ведро воды 1 Изумруд 2 2
Особая продажа Изумруд 1 Акациевая древесина 8 4
Особая продажа Изумруд 1 Берёзовая древесина 8 4
Особая продажа Изумруд 1 Вишнёвая древесина 8 4
Особая продажа Изумруд 1 Древесина бледного дуба 8 4
Особая продажа Изумруд 1 Древесина тёмного дуба 8 4
Особая продажа Изумруд 6-20 Железная кирка (зачарованная) 1 1
Особая продажа Изумруд 1 Джунглевая древесина 8 4
Особая продажа Изумруд 1 Дубовая древесина 8 4
Особая продажа Изумруд 5 Зелье невидимости (8 мин) 1 1
Особая продажа Изумруд 1 Еловая древесина 8 4
Изменённые сделки для странствующего торговца
Категория Покупает Количество Продаёт Количество Сделок за раз
Обычная продажа Изумруд 1 Коричневый гриб 1 → 3 12 → 4
Особая продажа → Обычная продажа Изумруд 5 → 3 Ведро с иглобрюхом 1 4
Особая продажа → Обычная продажа Изумруд 5 → 3 Ведро с тропической рыбой 1 4
Обычная продажа Изумруд 1 Порох 1 → 4 8 → 2
Обычная продажа Изумруд 1 Кувшинка 2 → 5 5 → 2
Обычная продажа Изумруд 3 → 1 Плотный лёд 1 6
Обычная продажа Изумруд 1 Красный гриб 1 → 3 12 → 4
Обычная продажа Изумруд 1 Лианы 1 → 3 12 → 4
Файл:25w07a wandering trader trades.jpg
Новые сделки странствующего торговца

Предметы[править | править код]

Арбалет

  • Теперь показывает все заряженные снаряды во всплывающей подсказке, а не только первый.

Мешок

  • Теперь может быть найден в некоторых сундуках деревень.

Седло

  • Теперь сохраняет свои свойства, такие как пользовательское название, если выпало из осёдланных свиньи или страйдера.
  • Теперь отображается, если надето на верблюда, лошадь, мула или осла с эффектом «Невидимость».
  • Теперь краснеет, когда осёдланные верблюд, лошадь, мул или осёл получают урон.
  • Зачарованное седло, надетое на моба, теперь переливается.
  • Чары «Шипы» и «Проклятие утраты», наложенные на седло, теперь работают на осёдланных мобах.
Набор яиц призывания с новыми текстурами

Яйца призывания

  • Изменены иконки всех яиц призывания, чтобы облегчить их распознавание. Теперь они уникальны и не являются перекрашенными версиями одной и той же иконки пятнистого яйца.
    • Каждое яйцо может отличаться по форме для отражения свойств призываемого моба: например, небольшие мобы имеют маленькое яйцо призывания.
  • Старые иконки были добавлены в пакет ресурсов «Классический».

Генерация мира[править | править код]

Бледный сад

  • Теперь занимает более обширную площадь, которую в более старых версиях занимал бы тёмный лес.
  • Лесные особняки теперь генерируются и здесь.

Низкая трава

  • Теперь генерируется немного реже на лугах.

Игровой процесс[править | править код]

Диктор

  • Громкость диктора теперь регулируется параметром «Голос» в настройках звука.

Звуки

  • Фоновые звуки, издаваемые блоками в пустынях, пустошах и бледных садах, в настройках теперь регулируются ползунком «Окружение», а не «Блоки».
  • Звук разрушения для grass стал менее громким, что отразилось на всех блоках с этим звуком.
  • Звуки размещения, разрушения сухих листьев и ходьбы по ним стали тише.
  • Блоки, сломанные поршнем, теперь издают собственные звуки разрушения.

Портал в Верхний мир и портал Края

  • Если внутри портала были размещены лишние блоки, то при его активации они разрушатся в сопровождении соответствующих звуков и частиц, а также выпадут как предметы, а не удалятся.[1]

Творчество

  • Яйцо призывания свиньи, обозначающее вкладку яиц призывания в инвентаре режима «Творчество», было заменено на яйцо призывания крипера.

Общее[править | править код]

Общее

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

Realms

  • Миры в Realms теперь по умолчанию поддерживают командные блоки.
  • С обновлением можно загружать хардкорные однопользовательские миры.

Экран главного меню

Техническое[править | править код]

Нововведения[править | править код]

Формат команд[править | править код]

/test

  • Новая команда, используемая для создания и проведения тестов.
    • Синтаксис:
      • /test clearall [<radius>]
      • /test clearthat
      • /test clearthese
      • /test create <test> [<width>] [<height> <depth>]
      • /test locate <selector>
      • /test resetclosest
      • /test reseetthese
      • /test resetthat
      • /test pos [<variable>]
      • /test run <selector> [<numberOfTimes>] [<untilFailed>] [<rotationSteps>] [<testsPerRow>]
      • /test runclosest [<numberOfTimes>] [<untilFailed>]
      • /test runfailed [<numberOfTimes>] [<untilFailed>] [<rotationSteps>] [<testsPerRow>]
      • /test runmultiple <selector> [<amount>]
      • /test runthat [<numberOfTimes>] [<untilFailed>]
      • /test runthese [<numberOfTimes>] [<untilFailed>]
      • /test stop
      • /test verify <tests>
    • Параметры:
      • radius:
        • Радиус, в пределах которого удаляются все тесты.
      • test:
        • Идентификатор игрового теста из пространства имён.
      • selector:
        • Селектор с поддержкой подстановочных знаков для идентификатора теста.
        • Поддерживает знаки * и ? для сопоставления идентификаторов.
        • Если пространство имён не указано, по умолчанию используется minecraft:.
        • Примеры:
          • *:*
            • Сопоставляет все идентификаторы.
          • *
            • Сопоставляет все идентификаторы в пространстве minecraft:.
          • custom:folder/*_test_?
            • Сопоставляет идентификаторы из папки пользовательского пространства имён, имеющего префикс, за которым следуют _test_ и один допустимый символ.
      • width:
        • Ширина тестовой структуры.
          • Если не указана, используется 5.
      • height:
        • Высота тестовой структуры .
          • Если не указана, используется width.
      • depth:
        • Глубина тестовой структуры.
          • Если не указана, используется width.
      • variable:
        • Имя переменной, которое следует включить в скопированный фрагмент кода.
      • numberOfTimes:
        • Количество раз для повторения каждого теста.
          • Если не указано, используется 1.
      • untilFailed:
        • Логическое значение (по умолчанию false), указывающее, что тест следует остановить, как только одна итерация завершится неудачей.
      • rotationSteps:
        • Количество дополнительных шагов по 90 градусов, которые следует применить к тесту.
          • Если не указано, используется 0.
      • testsPerRow:
        • Количество тестов, размещаемых в каждой строке сетки.
          • Если не указано, используется 8.
  • /test clear*
    • Эта подкоманда очищает структуры и блоки, связанные с выбранными тестами.
  • /test create
    • Эта подкоманда создаёт тестовую настройку в местоположении для указанного теста, подготавливая структуру указанного размера.
    • Инициирует создание тестовой структуры.
  • /test locate
    • Пытается найти указанный тест.
      • Поиск производится только в загруженных чанках.
  • /test reset*
    • Эта подкоманда сбрасывает структуры для выбранных тестов, удаляя все окружающие барьеры и размещая структуру с нуля.
  • /test pos
    • Показывает локальные координаты блока, указанного в тесте.
    • Если указано необязательное имя переменной, то оно используется во фрагменте кода, полученном при нажатии по координатам в выходном сообщении.
  • /test run*
    • Запускает один или несколько тестов.
      • Если одновременно запускаются несколько тестов, они помещаются в сетку и запускаются параллельно, но только до определённого предела. За пределами этого ограничения тесты запускаются этапами, где каждый этап завершается до начала любых тестов из следующего этапа.
      • Для каждого теста загружается заданная структура и запускается связанный тест. Из каждого теста будет выходить луч маяка, цвет которого отображает состояние этого теста:
        • Серый = в процессе
        • Красный = провал (обязательный тест)
        • Оранжевый = провал (необязательный тест)
        • Зелёный = успех
      • Если тест не пройден, ошибка указывается на экране игрока и в книге на кафедре.
  • /test stop
    • Останавливает все запущенные тесты.
      • Игровые события, вызванные тестами, могут по-прежнему сохраняться.
  • /test verify*
    • Проверяет один или несколько тестов, запуская несколько экземпляров одного и того же теста.

Общее[править | править код]

Игровые правила

  • Добавлено игровое правило allowFireTicksAwayFromPlayer.
    • Значение по умолчанию равно false. Если установлено true, огонь и лава могут обрабатываться вне диапазона 8 чанков от игрока.
  • Добавлено игровое правило tntExplodes.
    • Если установлено на false, ТНТ не может быть подожжён и не сможет взорваться.
    • Значение по умолчанию равно true.

Игровые тесты

  • Система игровых тестов — это новая интегрированная система для тестирования аспектов игры.
  • Каждый тест — это ресурс, определяющий некоторые параметры выполнения теста и объединённый с сохранённым файлом структуры, содержащим базовую настройку.

Определение моделей предметов

  • Свойство выбора
    • minecraft:component
      • Добавлен новый источник данных component для выбора модели предмета.
      • Возвращает значение компонента предмета, если таковой имеется.
      • Поля:
        • component — идентификатор типа компонента в пространстве имён.
      • Возможные значения зависят от типа компонента.

Теги

  • Теги для блоков
    • Добавлен тег #plays_ambient_desert_block_sounds, содержащий блоки, которые будут воспроизводить звуки засушливых биомов.
    • Добавлен тег #edible_for_sheep, содержащий блоки, которые могут быть съедены овцой для отращивания шерсти.
    • Добавлен тег #replaceable_by_mushrooms, определяющий, какие блоки могут быть заменены при вырастании огромного гриба.
    • Добавлен тег #sword_instantly_mines, определяющий, какие блоки добываются мечом без задержки.
    • Добавлен тег #camels_spawnable_on
      • Содержит блоки, на которых могут появляться верблюды.
  • Теги для предметов
    • Добавлен тег #eggs, содержащий все варианты яиц.
    • Добавлен тег #book_cloning_target, определяющий предметы, которые могут быть совмещены с написанной книгой в крафте для её дублирования.
  • Добавлен тег #flowers, соответствующий тегу для блоков #flowers.
  • Теги для сущностей
    • Добавлен тег #can_equip_saddle, содержащий сущности, на которых можно надеть седло.
    • Добавлен тег #can_wear_horse_armor, содержащий сущности, имеющие слот для конской брони.
  • Теги для биомов
    • Добавлен тег #spawns_cold_variant_farm_animals, определяющий, в каких биомах могут появляться снежные варианты домашних животных.
    • Добавлен тег #spawns_warm_variant_farm_animals, определяющий, в каких биомах могут появляться тропические варианты домашних животных.
  • Теги для структур
    • Добавлен тег #on_savanna_village_maps.
      • Содержит структуры, которые могут появиться на картах саванной деревни.
    • Добавлен тег #on_desert_village_maps.
      • Содержит структуры, которые могут появиться на картах пустынной деревни.
    • Добавлен тег #on_plains_village_maps.
      • Содержит структуры, которые могут появиться на картах равнинной деревни.
    • Добавлен тег #on_taiga_village_maps.
      • Содержит структуры, которые могут появиться на картах таёжной деревни.
    • Добавлен тег #on_snowy_village_maps.
      • Содержит структуры, которые могут появиться на картах заснеженной деревни.
    • Добавлен тег #on_swamp_explorer_maps.
      • Содержит структуры, которые могут появиться на картах исследователя болот.
    • Добавлен тег #on_jungle_explorer_maps.
      • Содержит структуры, которые могут появиться на картах исследователя джунглей.

Тестовые среды

  • Тестовые среды — это способ группировки тестов и предоставления им правильных предварительных условий для запуска.
  • Тестовая среда — это актив в реестре test_environment.
  • Каждое определение тестовой среды имеет поле type, которое определяет его настройку:
    • Определения all_of
      • Применяют настройку из нескольких подопределений в поле definitions.
    • Определения function
      • Используют файлы mcfunction для настройки и разбирания.
      • setup:
        • Необязательный идентификатор пространства имён mcfunction для использования при настройке, если таковой имеется.
      • teardown:
        • Необязательный идентификатор пространства имён mcfunction для использования при разбирании, если таковой имеется.
    • Определения game_rules
      • Устанавливают любое количество правил игры.
      • bool_rules:
        • Список логических игровых правил и их значений для установки.
      • int_rules:
        • Список целочисленных игровых правил и их значений для установки.
      • Каждое правило является объектом с двумя полями:
        • rule:
          • Точное название правила, которое необходимо установить.
        • value:
          • Значение для установки
      • Игровые правила сбрасываются до значений по умолчанию после завершения тестовой среды.
    • Определения weather
      • Устанавливают погодные условия
      • weather:
        • Погодные условия.
        • Могут быть clear, rain или thunder.
    • Определения time_of_day
      • Устанавливают время суток.
      • time:
        • Время суток, задаваемое количеством тактов в виде неотрицательного целого числа.
  • Игра предоставляет одну пустую тестовую среду по умолчанию: minecraft:default.

Тестовые экземпляры

  • Тестовые экземпляры определяются в реестре test_instance.
    • Это небольшие активы, определяющие тест для запуска.
    • Поля:
      • batch:
        • Идентификатор пространства имён тестовой среды, в которой будет запущен этот тест.
      • structure:
        • Идентификатор пространства имён структуры, используемой для теста.
      • max_ticks:
        • Положительное целое число, представляющее максимальное количество тактов, по истечении которых тест будет считаться просроченным.
      • setup_ticks:
        • Необязательное неотрицательное целое число.
        • По умолчанию равно 0
        • Представляет количество тактов, которые нужно подождать после размещения структуры перед началом теста.
      • required:
        • Необязательное логическое значение.
        • По умолчанию true
        • Считается ли тест обязательным для прохождения всего набора тестов.
      • rotation:
        • Необязательный угол поворота для применения к тестовой структуре.
        • Может быть none (по умолчанию), clock_90, 180 или counterclock_90.
      • manual_only:
        • Необязательное логическое значение.
        • По умолчанию false
        • Установлено на true для тестов, которые не включены в автоматизированные тестовые запуски.
      • sky_access:
        • Должен ли ты тест находиться под чистым небом.
        • По умолчанию false
        • Тесты заключены в блоки барьеров.
        • Если установлено на true, верх остаётся открытым.
      • max_attempts:
        • Количество попыток запустить тест.
        • По умолчанию равно 1
      • required_successes:
        • Количество попыток, которые должны быть успешными, чтобы тест считался успешным.
        • По умолчанию 1
      • type:
        • Тип теста.
        • Может быть block_based или function.

Тесты блоков

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

Тесты функций

  • Используются встроенные функции для запуска теста и определения его успеха или неудачи.
    • У них есть одно дополнительное поле function:
      • Идентификатор пространства имён тестовой функции для запуска.

Формат компонентов данных

  • Компонент blocks_attacks
    • Если есть, то предмет может использоваться для блокирования атак, подобно щиту.
    • Формат: объект с полями
      • block_delay_seconds
        • Неотрицательное число с плавающей запятой (по умолчанию равно 0).
        • Количество секунд, в течение которых необходимо удерживать ПКМ, прежде чем успешно защититься от атаки.
      • disable_cooldown_scale
        • Неотрицательное число с плавающей запятой (по умолчанию равно 1).
        • Множитель, применяемый к количеству секунд, в течение которых предметом нельзя будет защищаться из-за отражённой атаки (disable_blocking_for_seconds в компоненте weapon).
        • Если равен 0, то предмет будет блокировать атаки всё время.
      • damage_reductions
        • Список объектов с полями (необязателен)
        • Контролирует, сколько урона должно быть заблокировано при данной атаке.
        • Если не указано, блокируется весь урон.
        • Каждая запись в списке вносит вклад в количество урона, которое должно быть заблокировано, и опционально фильтруется по типу урона.
        • Каждая запись увеличивает заблокированный урон, определяемый формулой clamp(base + factor * dealt_damage, 0, dealt_damage).
        • Конечный урон, нанесённый по сущности, определяется формулой dealt_damage - clamp(blocked_damage, 0, dealt_damage)
        • Формат записей:
          • type — идентификатор типа урона, список идентификаторов типов урона или тег типа урона с хэш-префиксом (необязателен).
            • Эта запись будет относиться к заблокированному урону только в том случае, если тип нанесённого урона соответствует этому полю.
            • Если не указано, будет учитываться любой тип нанесённого урона.
          • base — значение с плавающей запятой
            • Постоянное количество блокируемого урона.
          • factor — значение с плавающей запятой
            • Доля нанесённого урона, которая должна быть заблокирована.
          • horizontal_blocking_angle — угол в градусах как положительное число с плавающей запятой.
            • По умолчанию равен 90
            • Максимальный угол между лицом пользователя и входящей атакой, при котором блокирование будет эффективным.
    • Если заблокированный урон не имеет положения, то сравниваемый угол будет принят за максимальный 180.
      • item_damage
        • Объект с полями (необязателен)
        • Контролирует, сколько урона должно быть нанесено предмету от данной атаки.
        • Если не указано, единица прочности снимается за каждую единицу нанесённого урона.
        • Конечный урон, нанесённый предмету, определяется по формуле: floor(base+factor*dealtdamage).
        • Окончательное значение может быть отрицательным, в результате чего предмет будет ремонтироваться.
        • Формат:
          • threshold — неотрицательное число с плавающей запятой
            • Минимальное количество урона, наносимого атакой перед тем, как урон повлияет на прочность предмета.
          • base — число с плавающей запятой
            • Постоянное количество урона, наносимого предмету, если порог превышен.
          • factor — число с плавающей запятой
            • Доля нанесённого урона, которая должна быть применена к предмету, если порог превышен.
      • block_sound
        • Звуковое событие (необязательно).
        • Если есть, то будет воспроизводиться при успешном блокировании атаки.
      • disable_sound
        • Звуковое событие (необязательно).
        • Если есть, то будет воспроизводиться, когда предметом временно нельзя будет защищаться из-за атаки.
      • bypassed_by
        • Хэштег типа урона (необязательно)
        • Если есть, блокирование не защищает от этих типов урона.
  • Компонент break_sound
    • Если есть, то предмет будет воспроизводить звук при потере прочности и поломке.
    • Если отсутствует, звук воспроизводиться не будет.
    • Этот компонент по умолчанию есть у каждого предмета.
    • Формат: звуковое событие.
      • например, break_sound='item.wolf_armor.break'
  • Компонент provides_banner_patterns
    • Есть есть, предмет можно поместить в слот для узоров на ткацком станке.
    • Формат: тег узора флага с хеш-префиксом.
      • например, provides_banner_patterns='#minecraft:pattern_item/globe'
  • Компонент provides_trim_material
    • Если есть, предмет можно использовать как один из материалов для отделки.
      • Обратите внимание: для использования во встроенных рецептах кузнечного дела предмет также должен находиться в теге #trim_material.
      • Таким образом, определение реестра материалов для отделки больше не указывает предмет.
    • Формат: идентификатор материала для отделки.
      • например, provides_trim_material='minecraft:iron'
  • Компонент tooltip_display
    • Этот компонент позволяет скрывать всплывающие подсказки, вызываемые конкретным компонентом предмета.
    • Заменяет предыдущие поля show_in_tooltip, компоненты hide_additional_tooltip и hide_tooltip.
    • Формат: объект с полями:
      • hide_tooltip — логическое значение (по умолчанию false).
        • Если установлено true, предмет не будет иметь всплывающей подсказки при наведении.
      • hidden_components — список идентификаторов компонентов у предметов (по умолчанию []).
        • Подсказки, вызываемые любым компонентом в этом списке, будут скрыты.
        • Если этот компонент не вызывает подсказку, он ни на что не повлияет.
  • Компонент weapon
    • Статистика «Использованный предмет» будет увеличиваться при каждой атаке предметом.
    • Указанное количество урона может быть нанесено предмету при каждой атаке.
    • Формат: объект с полями:
      • damage_per_attack — неотрицательное целое число (по умолчанию: 1)
        • Количество урона, которое наносится оружием за каждую выполненную атаку.
      • can_disable_blocking — логическое значение (по умолчанию: false)
        • Если true, игнорирует блокирование щитом при успешной атаке.
    • например, weapon={damage_per_attack:2}
  • Компонент potion_duration_scale
    • При наличии, для предметов, которые имеют коэффициент potion_contents, длительность применяемых эффектов будет масштабироваться с использованием этого коэффициента.
    • Это также применимо к custom_effects в компоненте potion_contents, в отличие от предыдущего жёстко закодированного коэффициента масштабирования.
    • Если не указано, по умолчанию 1.0.
    • Формат: неотрицательное число с плавающей запятой
    • например, potion_duration_scale=0.25
  • Компонент wolf/sound_variant
    • Идентификатор пространства имён из реестра wolf_sound_variant.

Изменения[править | править код]

Формат команд[править | править код]

Общее

  • Текстовые компоненты в таких командах, как /tellraw или /title, теперь указываются с помощью SNBT вместо JSON.
  • Текстовый стиль в команде /scoreboard при указании формата стилизованного числа теперь также указывается с помощью SNBT вместо JSON.
  • У команд /setblock и /fill изменена обработка данных блока-сущности:
    • Если данные блока-сущности не указаны, а существующий блок имеет данные, данные блока-сущности будут сохранены.
    • Если данные блока-сущности указаны, данные сущности блока будут установлены на указанное значение.
    • Чтобы полностью очистить данные блока-сущности, теперь необходимо указать его данные как {}.
    • Операция теперь считается успешной, если изменилось состояние блока или изменились данные блока-сущности.
  • Аргументы в командах, которые принимают встроенные значения, такие как таблицы добычи, предикаты, модификаторы, компоненты данных, форматированный текст (/loot, /give, /tellraw, /execute if predicate, компоненты данных в /execute if items и т. д.), теперь снова принимают числа вместо логических значений.

/bossbar, /scoreboard и /team

  • Аргументы текстового компонента теперь разрешаются перед использованием в контексте сущности, содержащейся в @s.

/data

  • Теперь может незаметно создавать и изменять разнородные списки.

/fill

  • Опция замены в команде больше не является конечной и может сопровождаться дополнительными опциями.

Слоты

  • Слот для предметов horse.saddle был переименован в saddle и теперь поддерживает любую сущность, которую можно экипировать седлом.
    • Управляется компонентом equippable.
    • Верховая езда и отображение седла будут поддерживаться только теми мобами, которые корректно поддерживают ношение седла.
    • Предметы в слоте saddle могут применять модификаторы атрибутов, как и другое снаряжение.

Формат NBT

  • Любой интерфейс с NBT-данными в игре (представление SNBT, /data) теперь поддерживает неоднородные списки, то есть те, в которых элементы не одного типа
    • Вставка или замена в список другого типа с помощью /data больше не будет приводить к ошибке.
    • Вставка в массив (например, [I;1,2,3]) по-прежнему ограничена типом.
    • Это означает, что объекты-«обёртки», ранее использовавшиеся для представления неоднородных списков, больше не будут наблюдаться внутриигровыми средствами.
  • Формат файла NBT не изменился.
    • Неоднородные списки преобразуются перед сохранением для обхода ограничений NBT.
      • Пример преобразования: ['a', {'b':3}] сохраняется как [{:'a'},{'b':3}].
    • Существующие внешние инструменты по-прежнему смогут читать файлы NBT, как и раньше, но неоднородные списки будут отображаться в преобразованной форме.
  • Данные, создаваемые игрой, не изменились: такие объекты, как текстовые компоненты, уже создавали неоднородные списки в этой форме.
  • Примечание: эти объекты-«обёртки» могут не наблюдаться в игре. Они актуальны только для разработчиков, работающих с файлом NBT или сетевым форматом напрямую.

Формат SNBT

  • SNBT (текстовое представление данных, подобных NBT) было расширено для принятия разнородных списков, то есть списков, в которых элементы не одного типа.
  • Формат NBT не изменён.
    • Если аргумент команды SNBT преобразует значение в NBT (как аргументы команд /data или /summon), списки могут быть преобразованы для обхода ограничений NBT.
      • Пример преобразования: ['a', {'b':3}] сохраняется как [{'':'a'},{'b':3}].
    • Это преобразование не отменяется командой /data.
  • Расширен текстовый формат для описания в командах данных, напоминающих объекты (таких как NBT, текстовые компоненты, предикаты и так далее).
  • Формат числа
    • Целая или дробная часть числа с плавающей точкой может быть не учтена.
      • Примеры: .1 и 1. теперь допустимы.
    • Числа с плавающей точкой теперь используют обозначение E.
      • Пример: и 1.2e3 и 1.2E3, 1.2E+3, 12000e-1 теперь являются допустимым способом представления 1200.0.
    • Целые числа теперь могут иметь префикс 0x для представления шестнадцатеричных чисел и 0b для представления двоичных чисел.
      • Пример: 0xbad (равно 2989), 0xCAFE (равно 51966), 0b101 (равно 5).
    • Целые числа теперь не могут начинаться с 0.
      • Обычно это означает, что число находится в восьмеричной системе счисления, но это ограничено во избежание случайного использования.
    • Числа теперь могут содержать символ _ между последовательностями цифр (но не в начале или конце последовательности).
      • Пример: 0b10_01, 0xAB_CD, 1_2.3_4__5f, 1_2e3_4.
    • NaN, Inf или шестнадцатеричное представление с плавающей точкой не поддерживаются.
    • Суффиксы типов были расширены:
      • Суффиксы целых типов (b или B — байт; s или S — короткое представление; i или I — целое число; l или L) теперь можно использовать с префиксом s (со знаком) или u без знака.
      • Новые суффиксы влияют только на допустимый диапазон при разборе — значения по-прежнему сохраняются со знаком.
        • Пример: 240ub равно -16sb, в то время как 240sb не разбирается
      • Когда суффикс используется без u или s, он по умолчанию имеет знак для десятичных чисел и не имеет знаки для двоичных и шестнадцатеричных чисел
      • Примечание: поскольку допустимая шестнадцатеричная цифра также является b, шестнадцатеричные значения размером в байт могут быть записаны только со знаковым суффиксом, например 0x11ub или 0x11sb.
  • SNBT теперь также поддерживает следующие операции:
    • bool(arg) — преобразует аргумент в логическое значение.
      • Если аргумент — логическое значение, возвращает значение напрямую.
      • Если аргумент — числовое значение, возвращает значение true, если оно не равно нулю.
    • uuid(str) — преобразует строковое представление UUID в целочисленный массив.
  • Неявные бесконечные значения с плавающей запятой (например, 1e1000) теперь отклоняются.
  • Строки
    • Строки в кавычках теперь могут использовать escape-последовательности за пределами ', " и \:
      • Управляющие последовательности Unicode:
        • \x — двухзначный escape-символ, например \x42;
        • \u — четырёхзначный escape-символ, например \u2603;
        • \U — восьмизначный escape-символ, например \U00002603;
        • \N{<name>} — именованный символ Unicode, например \N{Snowman}.
      • Встроенные escape-последовательности:
        • \b — возврат на одну позицию, Unicode \x08;
        • \s — пробел, Unicode \x20;
        • \t — горизонтальная табуляция, Unicode \x09;
        • \n — перевод строки, Unicode \u0a;
        • \f — перевод страницы, Unicode \u0c;
        • \r — возврат каретки, Unicode \u0d.
    • Строки без кавычек теперь не могут начинаться с 0-9, ., +, -, чтобы избежать случайного столкновения с числами.
  • Числовые массивы
    • Значения в массивах ([B;], [I;], [L;]) без суффикса теперь предполагаются как имеющие суффикс, соответствующий типу массива.
      • Пример: [B;1,2] эквивалентно [B; 1b, 2b].
    • Массивы теперь также могут принимать типы, меньшие, чем тип массива.
      • Пример: [I;1b,2s,3] допустимо и эквивалентно [I;1i,2i,3i].
  • Списки
    • Списки теперь принимают запятые.
      • Пример: [1,2,] допустимо и эквивалентно [1,2].
      • Разрешена только одна запятая, и она должна идти после допустимого элемента — [,] и [1,,] недопустимы.
  • Соединения
    • Соединения (карты) теперь принимают запятые.
      • Пример: {a:b,}.
      • Разрешена только одна запятая, и она должна идти после допустимой пары ключ-значение — {,} и {a:b,,} недопустимы.

Шаблоны команд /fill, /clone, /setblock и /place

  • Добавлена опция strict.
    • Если указана, команда будет размещать блоки как есть, не вызывая обновления блоков и обновлений формы.
  • Добавлен синтаксис команд для использования новой опции strict и более гибкого использования replace:
    • /fill <from> <to> <block> keep
    • /fill fill <from> <to> <block> [replace <filter>]? [strict destroy hollow outline]?
    • clone [from <sourceDimension>]? <begin> <end> [to <targetDimension>]? <destination> [strict]? [[replace|masked|filtered <filter>] [force|move|normal]?]?
    • /setblock setblock <pos> <block> [destroy keep replace strict]?
    • /place template <template> [<pos> [<rotation> [<mirror> [<integrity> [<seed> [strict]?]?]?]?]?]?

Общее[править | править код]

server.jar

  • Добавлена точка входа net.minecraft.gametest.Main.
    • Автоматически запускает сервер, выполняет все доступные игровые тесты и затем завершает работу.
    • Опции:
      • --help — показывает информацию об использовании.
      • --packs <path> — устанавливает папку с наборами данных для включения в мир.
        • Любой zip-файл или папка с файлом pack.mcmeta включена.
      • --report <path> — экспортирует результаты в XML-отчёт в формате Junit по указанному пути.
      • --tests <selection> — указывает, какие тесты следует запустить, выбрав подстановочное выражение, соответствующее идентификаторам тестовых экземпляров.
        • Если пропущено или используется с пустым идентификатором, запускает все тесты.
      • --universe <path> — путь, по которому будет создан тестовый серверный мир.
        • Любая существующая папка будет заменена
        • По умолчанию: gametestserver
      • --verify <boolean> — включает проверку теста
        • Запускает тесты, указанные с помощью test или testNamespace 100 раз для каждого поворота на 90 градусов
        • По умолчанию: false
    • Пример использования: java -DbundlerMainClass="net.minecraft.gametest.Main" -jar server.jar --packs mytestpacks.

Атлас

  • Источник спрайтов minecraft:paletted_permutations
    • Новое поле:
      • separator
        • Необязательная строка (по умолчанию _).
        • Значение, которое будет использоваться при объединении названий текстур и перестановок для получения названия спрайта.

Всплывающая подсказка

  • Всплывающие подсказки для фейерверков и арбалетов теперь в компактной форме отображают идентичные звёзды и снаряды соответственно.

Данные сущности

  • Броня и дополнительное снаряжение игроков теперь также хранятся в поле equipment.
    • Несмотря на это, предметы, записанные в инвентарь с использованием номеров слотов брони и второй руки, по-прежнему работают.
  • Пользовательские данные, ранее присутствовавшие только у метки, теперь доступны для всех сущностей.
    • Они представлены как компонент minecraft:custom_data, поэтому их можно задать предметами для призыва мобов и соответствующими предикатами.
    • Компонент в настоящее время хранится в поле с именем data.
    • Он хранится, только если непустой.

Единый выбор окраса

  • Окрасы, зависящие от правил спауна, теперь используют единый подход для выбора.
    • Процесс выбора:
      • Каждое поле окраса имеет spawn_conditions со списком записей.
      • Каждая запись имеет условие и целочисленный приоритет.
      • Условия для всех окрасов данного типа сущности оцениваются для позиции, в которой спаунится сущность.
      • Удаляются записи с приоритетом ниже максимального приоритета оставшихся записей.
      • Игра случайным образом выбирает одну запись из оставшихся.
      • Если не осталось никаких условий, окрас остаётся неизменным по умолчанию.
    • Формат записи:
      • priority — целое число
      • condition — необязательная структура
        • Поля:
          • type
          • Дополнительные поля, зависящие от type.
        • Если поле отсутствует, условие всегда равно true.
  • Условия спауна
    • minecraft:biome
      • Проверяет, появляется ли сущность в определённых биомах.
      • Поля:
        • biomes — одиночная запись, список или тег, описывающий биомы.
    • minecraft:moon_brightness
      • Проверяет, находится ли текущая яркость луны в определённом диапазоне.
      • Поля:
        • range — диапазон с плавающей запятой (одно число или объект типа {«min»: 1, «max»: 2}).
    • minecraft:structure
      • Проверяет, появляется ли сущность в определённых структурах.
      • Поля:
        • structures — одиночная запись, список или тег, описывающий структуры.
  • Окрасы волков
    • Поля angry_texture, tame_texture и wild_texture были сгруппированы в поле assets и переименованы в angry, tame и wild соответственно.
    • Добавлено поле spawn_conditions.
  • Окрасы свиней
    • Поля texture и biome заменены на asset_id и spawn_conditions соответственно.
    • Поля в файле:
      • asset_id — идентификатор пространства имён для ресурса этого окраса. Преобразуется в assets/<namespace>/textures/<path>.png.
      • spawn_conditions — поле, описанное в едином выборе окраса выше.
  • Окрасы кошек
    • Окрасы кошек могут управляться данными путём добавления записей в data/<namespace>/cat_variant/<id>.json.
    • Эта функция экспериментальна.
    • Поля в файле:
      • asset_id — идентификатор пространства имён для ресурса этого окраса. Преобразуется в assets/<namespace>/textures/<path>.png.
      • spawn_conditions — поле, описанное в едином выборе окрасов выше.
  • Окрасы лягушек
    • Окрасы лягушек могут управляться данными путём добавления записей в data/<namespace>/frog_variant/<id>.json.
    • Эта функция экспериментальна.
    • Поля в файле:
      • asset_id — идентификатор пространства имён для ресурса этого окраса. Преобразуется в assets/<namespace>/textures/<path>.png.
      • spawn_conditions — поле, описанное в едином выборе варианта выше.
  • Окрасы коров могут управляться данными путём добавления записей в data/<namespace>/cow_variant/<id>.json.
    • Эта функция экспериментальна.
    • Поля в файле:
      • model — выбирается из normal, cold или warm.
      • asset_id — идентификатор пространства имён для ресурса этого окраса. Преобразуется в assets/<namespace>/textures/<path>.png.
      • spawn_conditions — поле, описанное в едином выборе варианта выше.
  • Окрасы кур могут управляться данными путём добавления записей в data/<namespace>/chicken_variant/<id>.json.
    • Эта функция экспериментальна.
    • Поля в файле:
      • model — выбирается из normal или cold.
      • asset_id — идентификатор пространства имён для ресурса этого окраса. Преобразуется в assets/<namespace>/textures/<path>.png.
      • spawn_conditions — поле, описанное в едином выборе варианта выше.

Компоненты вариантов сущностей

  • Сущности теперь имеют набор компонентов для настройки вариантов и других аспектов внешнего вида.
  • Если эти компоненты есть в предмете для спауна (яйцо призывания, ведро с мобом, minecraft:painting, minecraft:item_frame), то они будут применены для призванной сущности.
  • На данный момент компоненты не передаются предмету, если он был получен при выборе сущности.
  • Добавлены следующие компоненты:
    • villager/variant — могут быть desert, jungle, plains, savanna, snow, swamp или taiga
    • wolf/variant — идентификатор пространства имён из реестра wolf_variant
    • wolf/collar — один из 16 цветов
    • fox/variant — могут быть red или snow
    • salmon/size — могут быть small, medium или large
    • parrot/variant — могут быть red_blue, blue, green, yellow_blue или gray
    • tropical_fish/pattern — могут быть kob, sunstreak, snooper, dasher, brinely, spotty, flopper, stripey, glitter, blockfish, betty или clayfish
    • tropical_fish/base_color — один из 16 цветов
    • tropical_fish/pattern_color — один из 16 цветов
    • mooshroom/variant — могут быть red или brown
    • rabbit/variant — могут быть white, black, white_splotched, gold, salt или evil
    • pig/variant — идентификатор пространства имён из реестра pig_variant
    • frog/variant — идентификатор пространства имён из реестра frog_variant
    • horse/variant — могут быть white, creamy, chestnut, brown, black, gray или dark_brown
    • painting/variant — идентификатор пространства имён из реестра painting_variant
    • llama/variant — могут быть creamy, white, brown или gray
    • axolotl/variant — могут быть lucy, wild, gold, cyan или blue
    • cat/variant — идентификатор пространства имён из реестра cat_variant
    • cat/collar — один из 16 цветов
    • sheep/color — один из 16 цветов
    • shulker/color — один из 16 цветов
  • Вёдра с мобами и картины из инвентаря режима Творчество", теперь будут использовать новые варианты вместо компонента minecraft:entity_data.
  • Пользовательские всплывающие подсказки вёдер с мобами и картин теперь используют новые компоненты вместо minecraft:bucket_entity_data и minecraft:entity_data.
  • Окрасы кошек и лягушек теперь управляются данными.
  • Добавлен единый способ определения правил выбора окрасов.

Набор данных

  • Был обновлён до версии 71.
  • Кузнечные шаблоны и материалы для отелки больше не указываются в реестрах отделки, а вместо этого указываются в рецептах и ​​предметах соответственно.
  • Тип сущности potion был разделён на splash_potion и lingering_potion.
  • Заполненные карты без компонента map_id больше не показывают подсказку «Неизвестная карта» (недействительные идентификаторы всё равно будут выдавать эту подсказку).
  • Добавлена возможность подкрашивать блоки на основе цветовой карты сухих листьев.
  • Добавлена текстура цветовой карты для окрашивания тонированных сухих листьев.
  • Удалены spawn_egg.png и spawn_egg_overlay.png.
  • Текстура sheep_fur была переименована в sheep_wool.

Пакет ресурсов

  • Был обновлён до версии 55.
  • Добавлены новые текстуры для частиц падающих листьев.
  • Добавлены текстуры для полевых цветов.
  • Добавлены звуки разрушения, размещения, добывания, ходьбы и падения для железных блока, прутьев, люка, двери и нажимной пластины.
  • Добавлены новые текстуры для окрасов свиней:
    • cold_pig
    • warm_pig
  • Изменён размер текстуры pig.
    • Была переименована в temperate_pig.
  • Варианты свиньи могут управляться данными путём добавления записей в data/<namespace>/pig_variant/<id>.json
    • Эта возможность экспериментальная.
  • Поля в файле:
    • model — один из: normal, cold .
    • texture — идентификатор текстуры для этого варианта, преобразуется в assets/<namespace>/textures/<path>.png.
    • biome — отдельная запись, список или тег, описывающий биомы, в которых этот вариант естественным образом появляется.
      • Если не указано, этот вариант будет выбран только в том случае, если ни один другой вариант не соответствует текущему биому.
  • Изменён размер текстуры pig_saddle.
  • Добавлены новые текстуры для окрасов коров:
    • cold_cow
    • warm_cow
  • Изменён размер текстуры temperate_cow.
  • Изменены размеры текстур red_mooshroom и brown_mooshroom.
  • У умеренной коровы были обновлены модель и текстура.
    • У модели коровы теперь есть объёмная морда.
    • У моделей коров теперь расположены зеркально.
  • Текстура cow была переименована в temperate_cow.
  • Был обновлён до версии 51.
  • Добавлены новые текстуры для окрасов кур:
    • cold_chicken
    • warm_chicken
  • Текстура chicken была переименована в temperate_chicken.
  • Текстура temperate_chicken перемещена в новую папку:
    • entity/chicken.png -> entity/chicken/temperate_chicken.png
  • «Глобальные» uniform-переменные теперь можно определить в любом шейдере, и игра попытается заполнить их.
    • В настоящее время это ModelViewMat, ProjMat, TextureMat, ScreenSize, ColorModulator, Light0_Direction, Light1_Direction, GlintAlpha, FogStart, FogEnd, FogColor, FogShape, LineWidth, GameTime и ModelOffset.
    • Тип ubiform-переменной должен соответствовать обычному, иначе поведение будет неопределённым.

Предикаты

  • Предикаты блоков
    • В предикаты блоков добавлены новые необязательные поля components и predicates.
    • Их функциональность и формат идентичны полям components и predicates в предикатах предметов, но они работают с компонентами блоков-сущностей (при их наличии).
      • Если есть, components будет соответствовать точному содержимому компонентов блока-сущности.
      • Если есть, predicates будет соответствовать частичному содержимому компонентов блока-сущности.
  • Предикаты сущностей
    • Новое необязательное поле было добавлено в предикат сущности components.
      • При наличии этого поля предикат будет соответствовать содержимому компонентов сущности.
      • Формат:
        • Сопоставление ключа типа компонента с соответствующими значениями компонента.
    • Следующие подпредикаты сущности были удалены и заменены комбинацией предиката components и компонентов вариантов сущностей:
      • minecraft:axolotl
      • minecraft:fox
      • minecraft:mooshroom
      • minecraft:rabbit
      • minecraft:horse
      • minecraft:llama
      • minecraft:villager
      • minecraft:parrot
      • minecraft:salmon
      • minecraft:tropical_fish
      • minecraft:painting
      • minecraft:cat
      • minecraft:frog
      • minecraft:wolf
      • minecraft:pig
    • Поле color было удалено из подпредиката minecraft:sheep.
  • Предикат сущности stepping_on может иметь значение true только в том случае, если сущность находится на земле.
    • В предикаты сущностей добавлено новое необязательное поле predicates.
      • Его функциональность и формат идентичны полю predicates в предикатах предметов, но они работают с компонентами сущности.
        • Если есть, predicates будет соответствовать частичному содержимому компонентов сущности.

Ресурсы экипировки

  • Ресурсы снаряжения теперь могут определять новые типы слоёв:
    • pig_saddle — слой экипировки для седла свиньи.
    • strider_saddle — слой экипировки для седла страйдера.
    • camel_saddle — слой экипировки для седла верблюда.
    • horse_saddle — слой экипировки для седла лошади.
    • donkey_saddle — слой экипировки для седла осла.
    • mule_saddle — слой экипировки для седла мула.
    • skeleton_horse_saddle — слой экипировки для седла лошади-скелета.
    • zombie_horse_saddle — слой экипировки для седла лошади-зомби.
  • Следующие текстуры были перемещены для поддержки использования, чтобы поддержать использование ресурсов экипировки для сёдел:
    • entity/pig/pig_saddle.png -> entity/equipment/pig_saddle/saddle.png
    • entity/strider/strider_saddle.png -> entity/equipment/strider_saddle/saddle.png
  • Следующие текстуры были отделены от базовой текстуры сущности для поддержки соответствующих ресурсов снаряжения:
    • entity/camel/camel.png -> entity/equipment/camel_saddle/saddle.png
    • entity/horse/horse_<variant>.png -> entity/equipment/horse_saddle/saddle.png
    • entity/horse/donkey.png -> entity/equipment/donkey_saddle/saddle.png
    • entity/horse/mule.png -> entity/equipment/mule_saddle/saddle.png
    • entity/horse/horse_skeleton.png -> entity/equipment/skeleton_horse_saddle/saddle.png
    • entity/horse/horse_zombie.png -> entity/equipment/zombie_horse_saddle/saddle.png
  • Слои снаряжения, настроенные на возможность dyeable, теперь будут отображать наличие компонента dyed_color в предмете, даже если сам предмет не содержит тега #dyeable.

Рецепты

  • Тип рецепта crafting_transmute
    • Поле результата теперь поддерживает указание количества и исправления компонентов для применения к результату.
    • Исправление компонентов применяется к конечному преобразованному предмету.
    • Новый формат — объект с полями:
      • id — идентификатор предмета;
      • count — положительное целое число (по умолчанию 1);
      • components — объект исправления компонента (по умолчанию пустой);
      • e.g. "result": {"id": "minecraft:stick", "count": 3, "components": {"!minecraft:damage": {}, "minecraft:enchantment_glint_override": {}}}.
    • Поле по-прежнему можно определить как встроенный идентификатор предмета, например ("result": "minecraft:stick").
  • Тип рецепта smithing_transform
    • Поле base ingredient теперь обязательно.
      • Раньше, если базовый ингредиент не был указан, рецепт анализировался, но никогда не мог быть использован.
  • Тип рецепта smihing_trim
    • Поля base, template и addition ingredient теперь обязательны.
      • Раньше, если эти ингредиенты не были указаны, рецепт анализировался, но никогда не был пригоден для использования.
    • Добавлено новое поле pattern, контролирующее, какая отделка будет применена в рецепте.
      • Таким образом, определение реестра отделок больше не определяет предмет.
      • Формат: идентификатор отделки
        • например, "pattern": "minecraft:bolt"

Сетевой протокол

  • Пакет player_chat, связанный с клиентом, теперь содержит индекс, увеличивающийся с каждым сообщением, отправленным клиенту.
    • Индекс начинается с 0 при входе в систему (или сбрасывается фазой конфигурации и пакетом login).
    • Для каждого сообщения сервер должен увеличивать это значение на 1.
    • Если это значение обновляется неожиданным образом, клиент отключится.
    • Поскольку протокол требует, чтобы каждый пакет чата достигал клиента в созданном порядке, цель состоит в том, чтобы обеспечить более быстрое обнаружение пропущенных/переупорядоченных сообщений чата для разработчиков пользовательских серверов.
  • Пакеты chat и chat_command_signed, связанные с сервером, теперь содержат байт контрольной суммы вместе с последним обновлением чата.
    • Это простой хэш последних просмотренных подписей, который должен быть восстановлен сервером, что позволяет быстрее обнаруживать десинхронизированное состояние.
    • Это можно передать как 0, чтобы отключить проверку для совместимости с трансляцией протокола.

Теги

  • Теги блоков
  • Тег для блоков #dead_bush_may_place_on был переименован в #dry_vegetation_may_place_on.
  • Блок fern добавлен в тег #edible_for_sheep.
  • Блок farmland добавлен в тег #dry_vegetation_may_place_on.
  • Блок leaf_litter добавлен в тег #replaceable.
  • Блок cactus_flower добавлен в тег #wall_post_override.
  • Теги сущностей
    • Удалены теги окрасов кошек #default_spawns и #full_moon_spawns.
  • Теги биомов
    • Исправлены теги #is_overworld и #has_structure/trial_chambers, содержащие все необходимые биомы.
  • Теги типа урона
    • Тег типа урона #bypasses_shield переименован в #bypasses_blocking.
    • Источники урона cactus, campfire, dry_out, hot_floor, in_fire, lava, lightning_bolt и sweet_berry_bush добавлены в тег #bypasses_blocking.

Формат блока-сущности

  • Поле CustomName больше не будет сохраняться при удалении.
  • Поле LootTable больше не будет сохраняться при удалении.
  • end_gateway
    • Поле exit_portal больше не будет сохраняться при удалении.
  • furnace, smoker, blast_furnace
    • Поле RecipesUsed больше не будет сохраняться при удалении.
  • skull
    • Поле note_block_sound больше не будет сохраняться при удалении.
  • campfire
    • Поля CookingTimes и CookingTotalTimes больше не будут сохраняться при удалении.
  • chiseled_bookshelf
    • Поле last_interacted_slot теперь по умолчанию равно -1, если не указано.
  • hopper
    • Поле TransferCooldown теперь по умолчанию равно -1, если не указано.
  • jigsaw
    • Поля name, target и pool теперь по умолчанию равны minecraft:empty, если не указаны.
    • Поле final_state теперь по умолчанию равно minecraft:air, если не указано.
  • sculk_shrieker
    • Поле warning_level теперь по умолчанию равно 0, если не указано.
  • structure_block
    • Поля ignoreEntities и showboundingbox теперь по умолчанию равны true, если не указаны.
    • Поле posY теперь по умолчанию равно 1, если не указано.

Формат компонентов данных

  • minecraft:tool
  • Добавлено новое необязательное поле can_destroy_blocks_in_creative (логическое значение).
    • Если установлено на false, игроки не могут разбивать блоки в режиме креатива.
    • Если не указано, по умолчанию true.
  • Компонент weapon
    • Поле damage_per_attack было переименовано в item_damage_per_attack.
  • Компонент equippable
    • Теперь можно применить к слоту седла.
    • Теперь любой моб может добавить снаряжение в слот body, если компонент это позволяет (allowed_entities).
    • Добавлено новое необязательное поле: equip_on_interaction (логическое значение).
      • Если установлено true, игроки могут экипировать этот предмет на целевого моба, нажав по нему ПКМ (при условии, что этот предмет вообще может быть экипирован на цель).
      • Предмет не будет экипирован, если у цели уже имеется предмет в соответствующем слоте.
      • Если не указано, по умолчанию установлено false.
  • Компонент hide_additional_tooltip
    • Был удалён и заменён компонентом tooltip_display и полем hidden_components.
      • Возможно, потребуется скрыть следующие компоненты, ранее охватываемые компонентом hide_additional_tooltip:
        • minecraft:banner_patterns
        • minecraft:bees
        • minecraft:block_entity_data
          • В частности, данные блока-сущности у спаунера монстров и спаунера испытаний будут отображать настраиваемых мобов.
        • minecraft:block_state
          • В частности, свойство honey_level будет отображаться во всплывающей подсказке для любого предмета с ним.
        • minecraft:bundle_contents
        • minecraft:charged_projectiles
        • minecraft:container
        • minecraft:container_loot
        • minecraft:firework_explosion
        • minecraft:fireworks
        • minecraft:instrument
        • minecraft:map_id
        • minecraft:painting/variant
        • minecraft:pot_decorations
        • minecraft:potion_contents
        • minecraft:tropical_fish/pattern
        • minecraft:written_book_content
      • Это также означает, что подсказки из перечисленных выше компонентов больше не ограничиваются определёнными типами предметов.
        • Примечание: компоненты, записанные в hide_additional_tooltip у любого предмета, существующего в мире, будут перенесены в tooltip_display.
  • Компонент hide_tooltip
    • Был удалён и заменён компонентом tooltip_display и полем hide_tooltip.
  • Компонент attribute_modifiers
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
    • Этот компонент теперь всегда использует упрощённую форму, а поле modifier встроено в верхний уровень.
      • например, attribute_modifiers={modifiers:[...]}] -> attributes_modifiers=[...]
  • Компонент dyed_color
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
    • Этот компонент теперь всегда использует упрощенную форму, а поле rgb встроено в верхний уровень.
      • например, dyed_color={rgb:12345}] -> dyed_color=12345]
    • Указанный цвет теперь поддерживает формат массива RGB.
      • например, dyed_color=[0.5, 1.0, 0.2]
  • Компоненты can_place_on и can_break
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
    • Поле predicates встроено в верхний уровень и поддерживает как один предмет, так и их список.
      • например, can_place_on={predicates:[{blocks:'stone'},{blocks:'dirt'}]}] -> can_place_on=[{blocks:'stone'},{blocks:'dirt'}]]
      • или: can_place_on={predicates:[{blocks:'stone'}]}] -> can_place_on={blocks:'stone'}]
  • Компоненты enchantments и stored_enchantments
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
    • Эти компоненты теперь всегда используют упрощённую форму, при этом поле levels встроено в верхний уровень.
      • например, enchantments={levels:{sharpness:2}}] -> enchantments={sharpness:2}]
  • Компонент jukebox_playable
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
  • Компонент trim
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
  • Компонент unbreakable
    • Поле show_in_tooltip было удалено и заменено компонентом tooltip_display.
  • Компонент weapon
    • Поле can_disable_blocking было заменено на disable_blocking_for_seconds.
    • disable_blocking_for_seconds
      • Неотрицательное число с плавающей запятой (по умолчанию 0)
      • Если не равно нулю, то при успешной атаке отменит возможность защищаться щитом на указанное количество секунд.
  • Предметы, призывающие сущность, теперь могут передать ей следующие компоненты:
    • minecraft:custom_name — любая сущность.
    • minecraft:potion_contents — от туманного зелья к облаку эффекта.
    • minecraft:potion_duration_scale — от туманного зелья к облаку эффекта.

Формат компонентов текста

  • Текстовые компоненты больше не хранятся как JSON, обёрнутый строкой.
  • Сам формат тот же, что и раньше, но встроен непосредственно во внешнюю структуру.
  • Например, компонент предмета minecraft:custom_name="{"text":"Переименованный предмет"}" станет minecraft:custom_name={text:'Переименованный предмет'}.
  • Это включает текстовые компоненты, переданные в качестве аргументов таким командам, как /tellraw или /title.
    • Например, /tellraw @s ""text":"Hello world"" может стать tellraw @s {text:'Hello world'}}.
  • Примечание: в случае, когда текстовые компоненты встроены в NBT, не существует различия между логическими и целочисленными типами.
    • Чтобы передать логические аргументы в переводы, необходимо использовать строковую форму.
  • Для текстовых компонентов с типом NBT и интерпретатором, установленным на истинное значение, текстовые компоненты будут анализироваться из заданного NBT напрямую, а не преобразовываться в строку и анализироваться как JSON.
  • События наведения
    • Поле hoverEvent переименовано в hover_event.
    • Устаревшее поле value (которое анализировалось из визуализированного текстового компонента) больше не поддерживается.
    • Для действия show_text:
      • Поле contents переименовано в value.
      • Например, {action:'show_text',contents:'Hello world'} становится {action:'show_text',text:'Hello world'}
    • Для действия show_item:
      • Поле contents было встроено.
      • например, {action:'show_item',contents:{id:'minecraft:stick',count:2}} становится {action:'show_item',id:'minecraft:stick',count:2}
      • Если содержимое было указано только как идентификатор элемента, оно заменяется на полный формат и встраивается.
      • например, {action:'show_item',contents:'minecraft:stick'} становится {action:'show_item',id:'minecraft:stick'}
    • Для действия show_entity:
      • Поле contents было встроено.
      • Поле id было переименовано в uuid.
      • Поле type было переименовано в id.
      • Поле type было переименовано в id.
      • например, {action:'show_entity',contents:{id:[I;0,0,0,0],type:'minecraft:pig'}} становится {action:'show_entity',uuid:[I;0,0,0,0],id:'minecraft:pig'}
  • События щелчка
    • Поле clickEvent переименовано в click_event
    • Для действия open_url:
      • Поле value переименовано в url
      • Событие щелчка больше не будет анализироваться, если не будет допустимого URI со схемами https:// или http://, вместо того, чтобы просто не работать.
      • например, {action:'open_url',value:'https://minecraft.net'} становится {action:'open_url',url:'https://minecraft.net'}
    • Для действия run_command:
      • Поле value переименовано в command.
      • Событие click больше не будет анализировать, если команда содержит недопустимые символы, а просто не будет работать.
      • Больше не требуется, чтобы указанное поле команды имело префикс /.
      • Например, {action:'run_command',value:'/say Hi'} становится {action:'run_command',command:'/say Hi'}.
    • Для действия suggest_command:
      • Поле value переименовано в command.
      • Событие click больше не будет анализироваться, если команда содержит недопустимые символы, а просто не будет работать.
      • например, {action:'suggest_command',value:'/help'} становится {action:'suggest_command',command:'/help'}
    • Для действия change_page:
      • Поле значения было переименовано в page.
      • Значение страницы теперь требует положительного целого числа вместо строки.
      • например, {action:'change_page',value:'1'} становится {action:'change_page',page:1}
    • Формат copy_to_clipboard не изменился.

Формат сущности

  • Поля ArmorDropChances, HandDropChances и body_armor_drop_chance были объединены в поле drop_chances.
    • Формат: сопоставление типа слота для снаряжения и значения вероятности.
      • Допустимые слоты для снаряжения: head, chest, legs, feet, mainhand, offhand, body.
    • Если не указано или не удалено, шансы будут приняты по умолчанию (0.085f).
    • например, drop_chances:{chest:0.1,feet:1.0}
  • Шансы выпадения со значением по умолчанию больше не будут сохраняться, а поле drop_chances полностью удаляется, если все значения установлены по умолчанию.
  • Облако эффекта теперь имеет новое поле potion_duration_scale.
    • Если не указано, по умолчанию 1.0.
    • Длительность эффекта применяемого зелья масштабируется этим коэффициентом.
    • Облака, создаваемые туманными зельями, будут иметь масштаб 0.25.
  • Поля ArmorItems, HandItems и body_armor_item объединены в поле equipment.
    • Формат:
      • Сопоставление стопки предметов и типа слота для экипировки.
        • Допустимые слоты для экипировки: head, chest, legs, feet, mainhand, offhand, body, saddle.
      • Если отсутствуют или удалены, у сущности не будет экипировки.
      • Например, equipment:{chest:{id:'minecraft:diamond_chestplate'}}.
      • Поля влияют на всех мобов и стойки для брони, но не на игроков.
    • Формат данных седла был унифицирован для таких мобов, как лошадь и свинья, став новым типом слота для экипировки и сохраняясь в поле equipment.saddle.
      • Это также заменяет логический флаг Saddle у свиней и страйдеров.
      • На выпадение седла при смерти теперь влияет поле drop_chances, как и на другие слоты экипировки.
    • Поле FallDistance было переименовано в fall_distance и теперь хранит числа двойной точности, а не с плавающей запятой.
  • Значения Pos, Motion и Rotation без правильного количества компонентов (3, 3 и 2 соответственно) теперь будут полностью отменяться, а не будут выбирать только указанные компоненты.
  • Поля SleepingX, SleepingY и SleepingZ были объединены в одно поле sleeping_pos.
    • Например, sleeping_pos: [I;1,2,3]
  • Состояния блоков в данных сущности стрел, вагонеток, визуализаторов блоков, странников Края, падающих блоков, активированного ТНТ или движущихся поршней больше не могут быть указаны как пустой объект.
  • Поле Tags больше не будет сохраняться при удалении.
  • allay
    • Удалено поле CanDuplicate (управляется DuplicationCooldown).
  • cat
    • Поле CollarColor теперь по умолчанию равно 14 (красный), если не указано иное.
  • dolphin
    • Удалены поля TreasurePosX, TreasurePosY, TreasurePosZ.
  • falling_block
    • Поле BlockState теперь может быть air (исчезнет немедленно).
      • Если иное не указано или недействительно, по умолчанию sand.
  • fox
    • Поле Trusted теперь по умолчанию пустое, если не указано (и больше не будет объединено с предыдущим состоянием, если изменено командой /data).
  • item
    • Поля Owner и Thrower больше не будут сохраняться при удалении.
  • phantom
    • Поле Size было переименовано в size.
    • Поля AX, AY и AZ были объединены в одно поле anchor_pos.
  • player
    • Поля SpawnX, SpawnY, SpawnZ, SpawnAngle, SpawnDimension и SpawnForced были объединены в одно поле respawn.
      • Формат: объект с полями
        • pos — позиция блока для появления.
        • angle — число с плавающей запятой, угол для появления (по умолчанию равен 0.0).
        • dimension — идентификатор измерения для появления (по умолчанию равен minecraft:overworld).
        • forced — логическое значение; true, если это появление было установлено с помощью команд (по умолчанию равно false).
    • Поле enteredNetherPosition было переименовано в entered_nether_pos и теперь отформатировано как список двойных чисел.
      • Например, entered_nether_pos: [1.0, 2.0, 3.0]
  • primed_tnt
    • Поле block_state теперь по умолчанию равно tnt, если не указано иное.
  • shulker_bullet
    • Поля Dir и Target больше не будут сохраняться при удалении.
  • turtle
    • Поля HomePosX, HomePosY и HomePosZ были объединены в одно поле home_pos.
    • Удалены поля TravelPosX, TravelPosY и TravelPosZ.
    • Поле HasEgg переименовано в has_egg.
  • vex
    • Поле LifeTicks переименовано в life_ticks.
    • Поля BoundX, BoundY и BoundZ были объединены в одно поле bound_pos.
  • villager
    • Поле Gossips больше не будет сохраняться при удалении.
  • wandering_trader
    • Поле wander_target больше не будет сохраняться при удалении.
  • wolf
    • Поле CollarColor теперь по умолчанию равно 14 (красный), если не указано иное.
  • zombie_villager
    • Поле Gossips больше не будет сохраняться при удалении.
  • evoker_fangs, area_effect_cloud и все снаряды
    • Поле Owner больше не будет сохраняться при удалении.
  • item_frame, glow_item_frame, painting и leash_knot
    • Поля TileX, ​​TileY и TileZ были объединены в одно поле block_pos.
  • arrow, spectral_arrow, trident
    • Поля inBlockState и SoundEvent больше не будут сохраняться при удалении.
  • minecart, *_minecart
    • Поле CustomDisplayTile было удалено.
    • DisplayState теперь всегда будет переопределять отображаемое по умолчанию состояние блока, если указано.
    • DisplayOffset теперь можно указать для переопределения смещения по умолчанию даже без установленного настраиваемого состояния визуализатора блока.
  • block_display, item_display и text_display
    • Поле glow_color_override больше не будет сохраняться при удалении.
  • witch, ravager, pillager, illusioner, evoker и vindicator
    • Поле patrol_target больше не будет сохраняться при удалении.
  • Поле FallFlying больше не будет сохраняться, если удалено.
    • Поля Health и Air теперь по умолчанию равны их максимальным значениям, если не указаны.
  • area_effect_cloud
    • Поле Duration теперь по умолчанию равно -1, если не указано.
    • Если поле Duration равно -1, облако эффекта от зелья никогда не исчезнет.
  • creeper
    • Поле Fuse теперь по умолчанию равно 30, если не указано.
    • Поле ExplosionRadius теперь по умолчанию равно 3, если не указано.
  • dolphin
    • Поле Moistness теперь по умолчанию равно 2400, если не указано.
  • ender_dragon
    • Поле DragonDeathTime теперь по умолчанию равно 0, если не указано.
  • falling_block
    • Поле BlockState теперь может быть равно air (блок исчезнет немедленно). Если иное не указано или недопустимо, по умолчанию равно sand.
    • Поле HurtEntities теперь по умолчанию имеет значение false, если не указано иное (или true, если BlockState равно anvil).
    • Поле FallHurtAmount теперь по умолчанию равно 0, если не указано.
    • Поле FallHurtMax теперь по умолчанию равно 40, если не указано.
    • Поле DropItem теперь по умолчанию равно true, если не указано.
    • Поле TileEntityData больше не будет сохраняться при удалении.
  • firework_rocket
    • Поле ShotAtAngle теперь по умолчанию равно false, если не указано.
  • fox
    • Поле Trusted теперь по умолчанию равно пустому, если не указано (и больше не будет объединяться с предыдущим состоянием, если изменено командой /data).
  • ghast
    • Поле ExplosionPower теперь по умолчанию равно 1, если не указано.
  • goat
    • Поля HasLeftHorn и HasRightHorn теперь по умолчанию равны true, если не указаны.
  • interaction
    • Поля width и height теперь по умолчанию равны 1, если не указаны.
  • item
    • Поле Health теперь по умолчанию равно 5, если не указано.
    • Поле PickupDelay теперь по умолчанию равно 0, если не указано.
    • Поле Age теперь по умолчанию равно 0, если не указано иное.
    • Поля Owner и Thrower больше не будут сохраняться при удалении.
  • item_frame and glow_item_frame
    • Поле ItemDropChance теперь по умолчанию равно 1.0, если не указано
  • primed_tnt
    • Поле fuse теперь по умолчанию равно 80, если не указано.
    • Поле explosion_power теперь по умолчанию равно 4, если не указано.
  • shulker
    • Поле Color теперь по умолчанию равно 16 (без цвета), если не указано.
  • skeleton
    • Поле StrayConversionTime больше не будет сохраняться при удалении.
  • spectral_arrow
    • Поле Duration теперь по умолчанию равно 200, если не указано.
  • snow_golem
    • Поле Pumpkin теперь по умолчанию равно true, если не указано.
  • tnt_minecart
    • Поле fuse теперь по умолчанию равно 80, если не указано.
    • Поле explosion_power теперь по умолчанию равно 4, если не указано.
    • Поле explosion_speed_factor теперь по умолчанию равно 1, если не указано.
  • trader_llama
    • Поле DespawnDelay теперь по умолчанию равно 47999.
  • villager
    • Поля FoodLevel и Xp теперь по умолчанию равны 0, если не указаны.
    • Поле ConversionTime больше не будет сохраняться при удалении.
  • wandering_trader
    • Поле DespawnDelay теперь по умолчанию равны 0, если не указано.
  • zombie
    • Поле DrownedConversionTime больше не будет сохраняться при удалении.
  • zombie_villager
    • Поле Xp теперь по умолчанию равно 0, если не указано.
    • Поле ConversionTime больше не будет сохраняться при удалении.
  • zombie_villager
    • Поле Xp теперь по умолчанию равно 0, если не указано.
    • Поле ConversionTime больше не будет сохраняться при удалении.
  • arrow, spectral_arrow, trident
    • Поле damage теперь по умолчанию равно 2, если не указано иное.
  • dragon_fireball, wind_charge, breeze_wind_charge, wither_skull, small_fireball и large_fireball
    • Поле acceleration_power теперь по умолчанию равно 0.1, если не указано.
  • small_fireball и large_fireball
    • Поле ExplosionPower теперь по умолчанию равно 1, если не указано.
  • block_display, item_display и text_display
    • Поля interpolation_duration, teleport_duration и start_interpolation теперь по умолчанию равны 0, если не указано иное.
    • Поле view_range теперь по умолчанию равно 1, если не указано иное.
    • Поле shadow_radius теперь по умолчанию равно 0, если не указано иное.
    • Поле shadow_strength теперь по умолчанию равно 1, если не указано иное.
    • Поля width и height теперь по умолчанию равны 0, если не указаны иные.

Формат частиц

  • Тип частиц tinted_leaves теперь имеет параметр color.
      • Представляет собой оттенка, указанный либо как упакованное целое число, либо как список из 4 чисел с плавающей запятой.

Функции добычи

  • toggle_tooltips
    • Теперь поддерживает любой идентификатор компонента в карте переключателей.
    • Любой указанный компонент будет переключён в компоненте tooltip_display.

Шейдеры

  • Определения шейдерных программ для основных шейдеров и эффектов постобработки в виде файлов JSON были удалены.
  • Сами шейдерные программы по-прежнему доступны и могут быть переопределены.
  • Эффекты постобработки по-прежнему настраиваются как JSON.
  • Определения эффектов постобработки
    • Поле program было заменено на vertexShader и fragmentShader.
      • <namespace>:<path> будет разрешено в assets/<namespace>/shaders/<path>.<vsh|fsh>.
    • type теперь является обязательным полем для каждого uniform.
      • Возможные значения в настоящее время: int, ivec3, float, vec2, vec3, vec4, matrix4.
    • values в каждом uniform теперь необязательно.
      • Не рекомендуется оставлять его неустановленным, он используется для конфигурации эффекта размытия во время выполнения.
    • Если не указать uniform, это приведёт к неопределённому поведению, поэтому необходимо указать каждый из них, который будет использоваться шейдерами.

Эффекты биома

  • Поле dry_foliage_color
    • Определяет цвет, используемый для окрашивания сухих листьев.

Исправления[править | править код]

72 ошибки исправлены
Из версий, выпущенных до 1.21.5
  • MC-7697 – Tridents or arrows shot through lava sometimes don't catch fire.
  • MC-55800 – Successful "/fill air destroy" commands give error message and return 0 for result/success.
  • MC-56653 – Zombified Piglins drop XP and rare drops if killed by anything while in angered state.
  • MC-90212 – You cannot hang on to climbable blocks while gliding with elytra.
  • MC-93185 – The exit portal in the end generates at highest block at 0 0 which can make it generate incomplete.
  • MC-97244 – The "minecraft:enchant.thorns.hit" sound event doesn't play when non-player entities are damaged by the thorns enchantment.
  • MC-113878 – Attribute modifiers description for chest is misleading / "When on body" instead of "When on chest".
  • MC-118053 – Wolves with the Owner of a non-player are spawned sitting.
  • MC-118092 – Crafting recipe unlock toast says "New Recipes Unlocked!" even when only one recipe was unlocked.
  • MC-118470 – Narrator plays at full volume when volume is off.
  • MC-128079 – Statistic for using shears doesn't increase when mining certain blocks.
  • MC-135192 – Boats are immediately sunken if there is a string on the surface of the water.
  • MC-141297 – You cannot set lit state of redstone torches using /setblock, debug stick and BlockStateTag, to be to opposite of the situation it would be in.
  • MC-165421 – Bubble columns have the opposite effect on tridents and wind charges.
  • MC-167125 – Rounding error on fall damage.
  • MC-183329 – Nether portal teleport overlay does not show up if the player has the nausea effect.
  • MC-183623 – Hardcore worlds in the world menu have a comma after the red exclamation mark.
  • MC-184681 – Customized worlds still say "Buffet world customization" since 20w21a.
  • MC-202226/recipe give or take for one recipe says "recipes".
  • MC-220672 – Inconsistent pluralization in customize world preset heading source string.
  • MC-222876 – "Buffet world customization" is incorrectly capitalized.
  • MC-226772 – Shulker box opening / closing subtitle shows "Shulker".
  • MC-241951 – Player momentum on X and Z axis are cancelled separately at low values.
  • MC-248099 – Mob pathfinding breaks after falling into water accidentally while walking.
  • MC-253721 – Wrong logs when running /op @a.
  • MC-260440 – Players can no longer activate swimming mode in water while flying with elytra.
  • MC-261385 – Bubble columns act differently at the surface depending on non-air blocks.
  • MC-262928 – The "minecraft:entity.player.hurt" sound is no longer played when players receive thorns damage from guardians or elder guardians.
  • MC-262939 – Changing dimensions or respawning with nausea effect active displays nether portal overlay.
  • MC-265514 – HRTF stuck on even when directional audio is set to off in update 1.20.2.
  • MC-267221 – "value" within "change_page" clickEvent json looks for a string instead of an integer.
  • MC-267323 – Items fields with old boolean JSON formatting are cleared upon world update.
  • MC-270220 – Granting all advancements results in prolonged, disruptive and loud audio spam.
  • MC-271065 – Diagonal movement is not normalized when crouching or using certain items.
  • MC-272790 – Shulker boxes and other blocks in the end exit portal when it changes state are not dropped as items.
Из 1.21
  • MC-273338 – Flying boat glitch using string and rising bubble columns.
  • MC-274187 – The sweeping attack from a sword enchanted with Fire Aspect can ignite other players with PVP disabled.
Из 1.21.2
  • MC-275994 – Having the pie chart open while the window is unfocused spams the logs.
  • MC-277403 – Flaming arrows and tridents still don't extinguish when water is placed in their location.
  • MC-277537 – Pale moss carpets sometimes generate disjointed.
  • MC-277780 – Minecraft resaves all maps with every autosave even after the 1st patch.
  • MC-277865 – The animation of boats in bubble columns breaks when over a certain "Time" in level.dat.
  • MC-277922 – Boats in 1 block high downward bubble column will continue to rock back and forth.
  • MC-278040 – Creaking swim pathfinding breaks after being submerged.
Из 1.21.3
  • MC-277807 – Teleporting the player's mount causes rotation de-sync, previously did not.
  • MC-278375 – Feeding wheat or hay bale to llama or trader llama with maximum Temper causes item stack to be desynced.
  • MC-278376 – Arrows and tridents act weirdly in one block deep bubble columns.
Из 1.21.4
  • MC-278096 – "Fabulous!" graphics and clouds disabled causes all particles to linger in frame buffer for one frame.
  • MC-278164 – Click sound is played twice when you click a setting button and there's a slider under the mouse in the next screen.
  • MC-278204 – Blaze fireballs now cause TNT minecarts to explode instantly.
  • MC-278249 – Experience orb positions desync severely and abruptly correct themselves.
  • MC-278422 – Reloading the world after removing Owner tag from a sitting tamed wolf with /data remove makes the wolf moving and sitting at the same time.
  • MC-278493 – Tamed wolves which are angry at creakings remain angry when said creakings despawn.
  • MC-278502 – Weeping and twisting vines disconnect.
  • MC-278552minecraft:entity.player.big_fall no longer plays the sound when falling from great height.
  • MC-278585 – Players can get stuck when landing on the edge of powder snow.
  • MC-278591 – Ender dragon spawn egg is no longer given when using pick block on the ender dragon entity.
  • MC-278615 – Reinforcement zombified piglins are angry at you even if you killed the "caller" in one hit.
  • MC-278621 – Client/server desync when placing powder snow while landing in it.
  • MC-278627 – Players wearing leather boots will take fall damage when landing on the edge of powder snow.
  • MC-278634 – Trying to /setblock a 'waterlogged{{=true}}' state on (glow_lichen, resin_clump, sculk_vein, etc.) produces an error.
  • MC-278659 – Attacking a natural stationary creaking does not trigger sculk sensors.
  • MC-278683 – Mobs spawned from spawners or /summon never drop their equipment.
  • MC-278708 – Throwing ender pearls while mounted only dismounts you, without teleporting.
  • MC-278728smithing_transform recipes can't set an item's components back to default.
  • MC-278733 – Breaking a double resin brick slab block only returns a single slab.
  • MC-278734 – Sheep's heads stutter when they look up or down.
  • MC-278755 – Teleporting far away while riding an entity softlocks the game.
  • MC-278801 – The closed eyeblossom to gray dye recipe is not grouped with the other gray dye recipe.
  • MC-278841 – Powder snow no longer slows down the player falling from a high place.
  • MC-279145 – Shulker bullets are no longer affected by bubble columns.
  • MC-279152 – Shulker bullets can't teleport through nether or end portals, end gateways.

Заметки[править | править код]

  1. Структура, к которой ведёт карта, зависит от биома, из которого родом деревенский житель. Более подробную информацию см. в таблице выше. Каждая из трёх возможных карт считается независимой сделкой, поэтому житель может торговать несколькими картами.
  2. Перейти обратно: 2,0 2,1 В Java Edition все копии карты, проданные определённым деревенским жителем, ведут к одной и той же структуре. В мирах, где нет структуры, эта торговля не предлагается. В Bedrock Edition картографы, принимающие профессию в Нижнем мире или Крае, не предлагают карты исследователя.
  3. Список возможных предложений содержит отдельные сделки для каждого цвета, поэтому один и тот же деревенский житель может предлагать несколько цветов как отдельные сделки.

Примечания[править | править код]

Навигация[править | править код]