Добро пожаловать в первый снапшот версии 26.4! Мы начинаем с ряда технических обновлений и улучшений, включая перевод Vulkan в статус графического API по умолчанию.
Изменения
Генерация мира
-
При обновлении миров, созданных до обновления «Пещеры и скалы» (Caves and Cliffs), под старыми чанками теперь также будут генерироваться серные пещеры.
Небольшие изменения блоков, предметов и сущностей
-
Красные и коричневые грибы теперь можно ставить на любой блок с плоской верхней гранью независимо от уровня освещения.
-
Они всё ещё не могут распространяться при яркости света 13 и выше, если только блок-основание не игнорирует требования к освещению.
-
Настройка графики «Графический API»
-
Вариант «По умолчанию» (Default) теперь работает аналогично «Предпочитать Vulkan» (Prefer Vulkan).
-
Игра больше не будет автоматически менять настройки графического API при обнаружении сбоя (краша) во время запуска.
Технические изменения
-
Версия дата-паков обновлена до 122.0.
-
Версия ресурс-паков обновлена до 98.0.
Сетевой протокол
Добавлен кастомный пакет данных minecraft:mod_list
-
Этот пакет предназначен для информирования серверов о модификациях клиента, что упрощает отладку.
-
Ванильный клиент отправляет пустой пакет в начале фазы конфигурации, так как он ничего не знает о модах — это остаётся задачей сторонних моддинг-платформ.
Изменён пакет minecraft:intention
-
Поле
hostв пакете намерений, отправляемом на сервер, теперь может содержать дополнительные параметры (ранее в нём хранилось только доменное имя, используемое для подключения).-
Новый формат похож на параметры URI: после домена может опционально следовать символ
?, а затем парыключ=значение, разделённые символом&. -
Пустые значения можно опускать (включая знак
=). -
Ключи и значения кодируются в соответствии со стандартными правилами URI (percent-encoded).
-
Ключи, начинающиеся с
_, зарезервированы для использования ванильной игрой. -
Пример:
example.com?key1=value2&key2
-
-
Пользователи теперь могут вводить параметры в любое поле «Адрес сервера» в списке серверов.
-
Кроме того, любой адрес вида
<id>@<host>будет обработан как<host>?_id=<id>.
-
-
Если сервер использует SRV-записи DNS, поле
hostбудет содержать как исходный, так и сопоставленный (resolved) домен.-
Если сопоставленный домен отличается от исходного, он будет использоваться как «основной», а исходный будет добавлен в качестве свойства
_o(origin). -
Пример строки хоста:
<перенаправленный домен>?_o=<исходный домен>:<исходный порт>, при этом полеportв пакете намерений будет содержать значение сопоставленного порта.
-
-
Максимальный размер поля увеличен до 1024 символов.
-
Примечание: поскольку пакет
minecraft:intentне шифруется, параметры не следует использовать в целях безопасности.
Изменён пакет minecraft:transfer
-
Добавлено поле
properties— карта «строка–строка» (string-to-string map) со свойствами, которые будут добавлены в полеhostпакетаminecraft:intent, отправляемого на целевой сервер.
Настройки выделенного сервера (Dedicated Server)
-
Добавлен параметр
allowed-connection-ids:-
Список идентификаторов, разделённых запятыми.
-
Если поле не пустое, сервер сверяет эти значения со свойством
_idв пакетеminecraft:intent. Если совпадений нет, сервер отклоняет подключение. -
Это работает как для соединений статуса, так и для входа. Таким образом, любой пользователь, подключающийся без корректного
_idв адресе сервера, не увидит статус и не сможет зайти на сервер.
-
-
Добавлено поле
status-contact-details:-
Если поле не пустое, его значение будет отправляться в JSON-нагрузке пакета
minecraft:status_responseв свойствеcontact. -
Это значение предназначено для передачи информации о способах связи с владельцами сервера, даже если у него нет веб-сайта или других данных.
-
Поле должно быть понятным для чтения человеку (human-readable), других ограничений на формат нет.
-
-
Добавлено поле
enable-legacy-status:-
Эта опция позволяет отключить обработку устаревшего (до версии 1.7) протокола статуса сервера и пинга.
-
Для сохранения текущей функциональности значение по умолчанию —
true. -
Примечание: для отображения любой информации о статусе (современной или устаревшей) параметр
enable-statusдолжен быть включён.
-
Дата-паки версии 122.0
-
Записи для различных биомов в генераторах мультишумовых биомов больше не могут перекрываться по всем параметрам шума с одинаковым смещением (offset).
Команды
-
Команда
/fillbiomeтеперь заполняет биомы с точностью до блока. -
Преобразование NBT из типов с плавающей точкой в целочисленные типы теперь всегда приводит к ближайшему возможному валидному числу после округления в меньшую сторону.
Генерация мира
Фичи (Features)
-
Изменён
straight_trunk_placer:-
Добавлено поле
trunk_width— необязательный целочисленный провайдер, задающий ширину ствола относительно центра. По умолчанию равно1.0.
-
Размещённые фичи (Placed Features)
-
Допустимая область в плоскости XZ для размещённых фич (Placed Features), входящих в биомы, теперь проходит валидацию.
-
Размещение фичи может происходить только в пределах области 3×3 чанка: в связи с этим фича не может выбрать позицию за пределами этого диапазона.
-
Примечание: размер самой фичи в настоящее время не учитывается, поэтому она всё ещё может выходить за пределы чанка.
-
Модификаторы размещения (Placement Modifiers)
-
Изменён
cuboid:-
xz_sizeиy_sizeбыли скорректированы, чтобы отражать фактический размер кубоида, а не увеличивать его по умолчанию на 1 блок. -
Таким образом,
xz_size, равный2, теперь действительно создаст кубоид 2×2 вместо 3×3.
-
-
Изменён
fixed_placement:-
Поле
positionsтеперь требует наличие хотя бы одного элемента.
-
Настройки шума (Noise Settings)
-
Поле
default_blockбыло удалено.-
Теперь это всегда
air(воздух) — любой другой блок должен определяться правилами материала (Material Rule).
-
Условия материалов (Material Conditions)
-
Обновлено условие
minecraft:steep:-
Изменения высоты от «расширений поверхности» в биоме Eroded Badlands больше не учитываются способом, зависящим от порядка обработки.
-
Теги (Tags)
-
Теги биомов:
-
Добавлен
#generated_in_below_zero_retrogen— биомы для генерации ниже нулевой высоты в мирах, созданных до обновления Caves and Cliffs. -
Добавлен составной тег
#is_cave.
-
Ресурс-паки версии 98.0
Шейдеры и эффекты постобработки
Шейдеры независимой от порядка прозрачности (Order-Independent Transparency, OIT)
-
Алгоритм OIT был упрощён: математика на основе вейвлетов заменена на накопление по глубинным интервалам (depth bins).
-
Немного повышена производительность (по крайней мере, на некоторых устройствах).
-
Уменьшены проблемы с точностью чисел с плавающей точкой.
-
-
Директива шейдера
OIT_WAVELET_RANKудалена. -
Директива шейдера
OIT_COEFF_COUNTзаменена наOIT_NUMBER_OF_DEPTH_BINS. -
Директива шейдера
OIT_COEFF_ATTACHMENT_COUNTпереименована вOIT_TRANSMITTANCE_TARGET_COUNT.
