Команда Minecraft выпустила новый экспериментальный снапшот 25w09a. Эта версия фокусируется на двух ключевых аспектах: долгожданном добавлении декоративных элементов, которые уже были в Bedrock Edition, и значительном расширении технических возможностей для работы с данными в командах. Главная новинка для всех игроков - появление упавших деревьев, которые сделают леса более живыми и реалистичными.
Упавшие деревья
Основное визуальное нововведение снапшота - добавление упавших деревьев. Это декоративный вариант обычных деревьев, который генерируется на поверхности мира, добавляя ландшафту больше натурализма и разнообразия. Функция была доступна в Bedrock Edition, и теперь разработчики добавляют её в Java Edition, продолжая политику сближения двух версий игры.
Упавшие деревья представлены в четырёх вариантах древесины:
- Дуб
- Берёза
- Тропическое дерево (джунгли)
- Ель
Интересно, что берёзовые упавшие деревья могут быть двух видов: короткие и длинные. Некоторые стволы могут быть украшены декоративными элементами: на них могут расти грибы или виться лианы.
Эти объекты можно найти во всех биомах, где растут их "стоячие" аналоги, за несколькими исключениями. Упавшие деревья не генерируются в следующих локациях:
- Луг (Meadow)
- Бамбуковый лес (Bamboo Jungle)
- Река (River)
- Роща (Grove)
Также в Цветочном лесу (Flower Forest) можно найти упавшие берёзы, но не упавшие дубы.
Изменения блоков и генерации
Листовой опад
Блок Листового опада (Leaf Litter) теперь обладает свойством заменяемости (replaceable). Это означает, что другие блоки (например, трава или цветы) могут быть размещены на том же месте, автоматительно заменяя его. Это изменение делает поведение листового опада более логичным и соответствующим другим подобным декоративным блокам.
Светлячковый куст
Светлячковый куст (Firefly Bush) получил новые места для генерации. Теперь он может появляться в Мангровых болотах (Mangrove Swamps) и, что более редко, в Пустошах (Badlands). Как и в других биомах, куст генерируется вблизи воды. Это расширяет возможности для нахождения этого светящегося декоративного растения.
Технические изменения
Версия дата-паков обновлена до 69. Также для клиента добавлен новый аргумент командной строки --renderDebugLabels, который добавляет отладочные метки к соответствующим объектам OpenGL. Это инструмент, предназначенный исключительно для разработчиков, облегчающий отладку рендеринга.
Однако главная техническая часть обновления - это масштабное расширение и улучшение синтаксиса SNBT (Stringified NBT), используемого в командах для описания NBT-данных, текстовых компонентов и предикатов.
Общие изменения NBT и команд
- Команда
/dataтеперь может прозрачно создавать и изменять гетерогенные списки, то есть списки, элементы которых могут быть разных типов данных. - В интерфейсах, работающих с NBT (включая SNBT-представление), теперь поддерживаются гетерогенные списки. Это означает, что "обёрточные" объекты, ранее использовавшиеся для их представления в игре, больше не будут видны.
- Команда
/dataбольше не может обращаться к путям с пустым ключом (например,foo."".bar). - Сам файловый формат NBT не изменился, но гетерогенные списки перед сохранением преобразуются для обхода ограничений формата.
Изменения данных сущностей
Для множества сущностей были заданы стандартные значения по умолчанию для различных полей NBT, если они не указаны при создании или изменении. Это повышает предсказуемость работы команд. Вот некоторые ключевые изменения:
- Эффект облака (area_effect_cloud): Поле
Durationпо умолчанию-1(облако никогда не исчезает), а не сразу пропадает. - Крипер: Поля
Fuse(время до взрыва) иExplosionRadiusтеперь по умолчанию30и3соответственно. - Падающий блок (falling_block): Поле
BlockStateтеперь может иметь значениеair(блок сразу деспавнится). Если не указано, по умолчанию используетсяsand. - Предмет (item): Заданы стандартные значения для
Health(5),PickupDelay(0) иAge(0). - ТНТ (primed_tnt и tnt_minecart): Время до взрыва (
fuse) по умолчанию80, а мощность (explosion_power) -4. - Стрела, Сияющая стрела, Трезубец: Урон (
damage) по умолчанию равен2.
Для многих других сущностей (таких как житель, зомби, Шалкер, снежный голем) также установлены логичные значения по умолчанию для их уникальных полей. Кроме того, некоторые поля, такие как FallFlying (состояние полёта на элитрах), больше не сохраняются, если их удалить через /data.
Изменения данных блоков
Изменения также затронули данные блоков-сущностей:
- Костёр (campfire): Поля
CookingTimesиCookingTotalTimesбольше не сохраняются при удалении. - Резная книжная полка (chiseled_bookshelf): Поле
last_interacted_slotпо умолчанию-1. - Структурный блок (structure_block): Поля
ignoreEntitiesиshowboundingboxпо умолчаниюtrue.
Расширение синтаксиса SNBT
Текстовый формат SNBT получил множество улучшений, делающих его более гибким и удобным для разработчиков и создателей карт.
- Числа:
- Можно опускать целую или дробную часть у чисел с плавающей точкой (например,
.1или1.). - Поддержка экспоненциальной записи (
1.2e3). - Поддержка шестнадцатеричных (
0xCAFE) и двоичных (0b101) целых чисел. - Числа больше не могут начинаться с
0(во избежание путаницы с восьмеричной системой). - В числах можно использовать символ подчёркивания (
_) для разделения разрядов (1_000_000). - Расширены суффиксы типов (
b,s,i,l) с возможностью указать знаковость (s- signed,u- unsigned).
- Можно опускать целую или дробную часть у чисел с плавающей точкой (например,
- Строки:
- В кавычкованных строках теперь поддерживаются дополнительные escape-последовательности: Unicode (
\u2603), а также управляющие символы вроде\n(новая строка),\t(табуляция). Это исправляет ранее неработавшие последовательности в текстовых компонентах. - Незакавычкованные строки не могут начинаться с цифр,
+,-или..
- В кавычкованных строках теперь поддерживаются дополнительные escape-последовательности: Unicode (
- Массивы чисел: Элементы в массивах (
[B;]) теперь по умолчанию имеют суффикс, соответствующий типу массива. Также можно использовать типы данных меньшего размера внутри массива (например,byteв массивеint). - Списки и объекты (Compounds): Теперь поддерживаются завершающие запятые (например,
[1,2,]или{a:b,}).





