Mojang выпустила очередной технический снапшот - 26.3-snapshot-4. Это тестовая версия, предназначенная в первую очередь для разработчиков пакетов данных и моддеров, но она содержит ряд нововведений, которые в будущем могут повлиять на игровой процесс. Ключевые изменения затронули систему компонентов данных (появились отдельные компоненты для топлива печей и зельеварочных стоек, для табличек, для видимости мобов), полностью переработан формат таблиц лута, функций и предикатов, а также внесены значительные правки в генерацию мира - переименованы и добавлены новые функции плотности, изменены настройки шума и рудных жил. Кроме того, игра перешла с GLFW на SDL3 для управления окнами и вводом, а в отладочной накладке появились новые возможности.
Изменения в пользовательском интерфейсе и вводе
В этом снапшоте разработчики продолжили работу над оконным режимом и обработкой ввода. Самое заметное изменение - полный отказ от GLFW в пользу SDL3. Это должно улучшить совместимость с разными платформами и упростить поддержку в будущем.
- Удалена настройка Raw Input мыши. Теперь ввод с мыши всегда использует относительный режим во время игры.
- Привязки клавиш теперь используют физические клавиши (scancodes), а не коды, зависящие от раскладки клавиатуры. Это значит, что, например, клавиша WASD будет работать вне зависимости от того, какая раскладка выбрана в системе.
- Безрамочный полноэкранный режим (Borderless Fullscreen) стал режимом по умолчанию. Переключение между безрамочным и исключительным полноэкранным режимом больше не требует перезапуска игры.
- На macOS исключительный полноэкранный режим больше не поддерживается.
- Минимальный размер окна теперь составляет 320x240 пикселей.
- На macOS при удержании клавиши во время ввода текста теперь отображается нативное всплывающее окно с вариантами символов (акценты и кандидаты).
- На Linux игра теперь предпочитает нативный Wayland, если он доступен.
Отладочная накладка (Debug Overlay)
Интерфейс отладки получил несколько улучшений:
- У отладочной накладки теперь собственный масштаб GUI, который настраивается отдельно от основного. Это можно сделать через экран Debug Options (по умолчанию F3 + F6). Доступны варианты: Auto (автоматически подбирает более высокое разрешение, чем обычный масштаб), Unchanged (соответствует вашему обычному масштабу GUI) и фиксированные значения.
- Добавлена запись player_speed, показывающая скорость игрока в блоках за тик.
- Теперь отображается частота обновления дисплея (refresh rate).
Творческий инвентарь
Порядок сортировки предметов и блоков в творческом инвентаре был изменён для большей последовательности:
- В разделе "Ингредиенты" сначала идут нетернированные минералы, затем необработанные тернированные, затем обработанные (самородки, слитки).
- В разделе "Строительные блоки" порядок похожий: сначала блоки из нетернированных минералов и их варианты, затем блоки из обработанных тернированных минералов, а семейство медных блоков вынесено в конец из-за большого количества вариантов.
- Улучшена сортировка вкладки "Натуральные блоки": теперь внутри каждой группы содержимое последовательно идёт от Верхнего мира к Незеру и Краю.
Новые компоненты данных
В этом снапшоте появилось сразу несколько новых компонентов, которые расширяют возможности кастомизации предметов и блоков.
Топливо для печей и зельеварения
Добавлены компоненты minecraft:cooking_fuel и minecraft:brewing_fuel. Они позволяют гибко определять, как предмет работает в качестве топлива в печи, коптильне, плавильной печи или зельеварке. Каждый компонент содержит поля burn_time (время горения в тиках) и speed_multiplier (множитель скорости приготовления/варки) для печей, а для зельеварочной стойки - uses (количество использований) и speed_multiplier. При этом старый тег предметов #brewing_fuel удалён, и теперь топливо для зелий регистрируется исключительно через этот компонент.
Тексты на табличках
Добавлены два новых компонента: minecraft:sign_text_front и minecraft:sign_text_back. Они идентичны по формату и представляют текст на передней и задней стороне таблички. Теперь текст табличек может быть передан через компоненты предмета, а не только через NBT блочной сущности. Соответственно, таблички теперь принимают и возвращают эти компоненты, а также компонент minecraft:waxed (вощёный), который также был добавлен как маркер для блоков с вощёным содержимым.
Видимость мобов (mob_visibility)
Новый компонент minecraft:mob_visibility позволяет предметам, которые можно надеть (имеют компонент minecraft:equippable), влиять на дальность обнаружения мобов. Он задаёт видимость в процентах (от 0.0 до 10.0), где 0.0 уменьшает дистанцию обнаружения до 2 блоков, а 10.0 увеличивает в десять раз. Даже при нескольких предметах максимальная видимость не превышает 10.0.
Еда для жителей
Компонент minecraft:villager_food отмечает предметы, которые могут есть жители. Жители будут подбирать такие предметы в дополнение к тем, что указаны в теге #villager_picks_up. Компонент содержит поле nutrition - положительное целое число, которое определяет, сколько единиц голода восстанавливает предмет при поедании жителем.
Цвет подушки (cushion)
Для сущности "Подушка" (Cushion) добавлен компонент minecraft:cushion/color, который определяет её цвет при установке из предмета. Формат - один из 16 цветов красителя.
Переработка системы лута, функций и предикатов
Это, пожалуй, самая объёмная часть изменений для технических игроков. Формат таблиц лута, функций (item_modifier) и предикатов был существенно переработан. Ключевые моменты:
- Поля, которые раньше принимали только inline-значения или списки, теперь могут принимать namespaced ID, теги, списки ID и inline-значения. Это касается большинства типов (
minecraft:predicate,minecraft:item_modifier,minecraft:loot_table,minecraft:number_providerи других). - Устаревший тип
referenceдля предикатов, модификаторов предметов и источников слотов удалён, так как теперь ссылка на ID может быть использована напрямую. - В луте поле
conditionsпереименовано вcondition(для записей пулов и функций). Полеfunctionsпереименовано вmodifier. Полеtype(тип функции/предиката) теперь обязательно указывать явно. - Добавлен новый тип предиката minecraft:match_block, заменяющий устаревший
minecraft:block_state_property. Он позволяет сопоставлять состояние блока, данные блочной сущности и компоненты. - Добавлен новый тип таблицы лута minecraft:container_process, который используется для определения значений топлива печей и зельеварочных стоек.
- В триггерах достижений многие поля теперь принимают списки ID или теги (например,
blocksвместоblock,recipesвместоrecipe_id,loot_tablesвместоloot_table).
Подробное описание всех изменений триггеров, функций и предикатов заняло бы несколько страниц, но суть в унификации: теперь везде, где это возможно, можно использовать именованные ссылки, теги и списки, что делает датапаки более гибкими.
Изменения в генерации мира
Настройки шума (Noise Settings)
Настройки генерации мира претерпели несколько важных изменений:
- Поле
final_densityбольше не содержит неявно добавленную функцию плотностиbeardifier(структурная "борода"). Теперь её нужно добавлять вручную при необходимости. - Поле
aquifers_enabledзаменено на опциональный объектaquifers. Если он отсутствует, аквиферы (водоносные слои) не генерируются. Внутри объекта перенесены несколько функций плотности изnoise_router:barrier,fluid_level_floodedness,fluid_level_spread,lava,surface_levelи новое полеexclusion. - Поле
ore_veins_enabledзаменено на опциональный список объектовore_veins. Каждый объект определяет блоки руды, заполнителя, шанс появления сырой руды, а также три функции плотности:density(вероятность замены блока),richness(вероятность появления руды вместо заполнителя) иfiller_gap(переопределение для гарантированного заполнителя). Функцииvein_toggle,vein_ridgedиvein_gapперемещены из noise_router внутрь этих объектов.
Функции плотности (Density Functions)
Функции плотности получили множество изменений, в основном переименования и добавления новых типов:
- Переименованы поля:
argument->input(для большинства унарных функций),argument1иargument2->leftиright(для бинарных),argument->noise(для shift-функций),argument->value(для constant). - Добавлены новые функции:
sub(вычитание),div(деление),negate(отрицание),lerp(линейная интерполяция),floor,round,ceil,truncate(округление до кратного значения) иbeardifier(структурная "борода"). - Функция
invertпереименована вreciprocal.
Биомы и особенности
- Из биомов удалены поля
spawners,spawn_costsиcreature_spawn_probability. Они перенесены в новую систему атрибутов среды (Environment Attributes). - Удалены три типа особенностей (feature):
nether_forest_vegetation,twisting_vines,weeping_vines. Вероятно, их функциональность будет заменена другими механизмами.
Атрибуты среды (Environment Attributes)
Введена новая система атрибутов среды, которые определяют спавн мобов и другие параметры на уровне измерений и биомов. Добавлено два новых атрибута:
- minecraft:gameplay/natural_mob_spawns - определяет естественный спавн мобов. Содержит
spawns_by_category(категории спавна с весами и типами сущностей) иspawn_costs(стоимость спавна для каждой сущности). Поддерживает модификаторoverlayдля переопределения значений. - minecraft:gameplay/creature_world_gen_spawn_probability - задаёт вероятность итерации, при которой мобы категории
creatureбудут спавниться во время генерации мира. Значение - число от 0 до 1, по умолчанию 0.1. - Также изменён атрибут minecraft:visual/ambient_particles - теперь поддерживает интерполяцию между ключевыми кадрами (вероятности плавно смешиваются) и новый модификатор
append(добавляет частицы к списку, а не заменяет его).
Технические изменения
Команды
Команда spreadplayers теперь использует тег блоков #entities_can_teleport_to, чтобы определить, можно ли телепортировать игрока на данный блок. Это даёт больше контроля над тем, какие блоки считаются безопасными для распространения.
Рецепты
Рецепты для коптильни и плавильной печи теперь используют то же время приготовления, что и обычная печь. Ускорение времени готовки теперь достигается через множитель скорости, задаваемый в компоненте cooking_fuel (через NumberProvider minecraft:cooking/speed_default).
Торговля жителей
Поле given_item_modifiers в торговых предложениях переименовано в given_item_modifier.
Теги
- Добавлен тег блоков #cushion_uses_collision_shape. Блоки из этого тега (по умолчанию все котлы, воронка и компостер) будут использовать коллизионную форму для размещения подушки, а не интерактивную.
- Удалён тег предметов #brewing_fuel (заменён компонентом).
Ресурс-паки (v92)
- Добавлен новый шейдер
core/oit_depth_bounds_cull.fshдля поддержки порядково-независимой прозрачности (OIT). - Обновлены основные шейдеры: добавлена директива
OIT_ALWAYS_WRITE_DEPTH. - Добавлен шейдер
core/integrate_depth.fsh, используемый для интеграции буферов глубины "3D HUD" и габаритных контуров в основной буфер.





