Minecraft вступает в фазу стабилизации перед выходом обновления 1.21.5. Первый пре-релиз, 1.21.5-pre1, не приносит нового игрового контента, но содержит множество важных исправлений и технических доработок. Среди ключевых изменений - оптимизация моделей листовой подстилки, исправление критической утечки видеопамяти, настройка правил игры для ТНТ и существенные улучшения сетевого протокола, направленные на повышение стабильности многопользовательских серверов. Этот выпуск знаменует начало цикла пре-релизов, в ходе которого разработчики сосредоточатся на полировке и баг-фиксах.
Изменения в текстурах
Главное визуальное изменение в этой сборке касается поддержки классического стиля текстур. Для ресурс-пака Programmer Art, который возвращает текстуры к их старому виду, были добавлены недостающие текстуры для яиц призыва. Ранее при его активации яйца призыва могли использовать некорректные или современные текстуры. Теперь они полностью соответствуют стилю старой версии игры. Кроме того, для этого же ресурс-пака исправлена текстура шерсти овец, которая также теперь выглядит как в версии 1.14.
Технические изменения
Версия ресурс-паков обновлена до 55. Это изменение необходимо для корректного отображения обновлённых моделей блоков, в частности, оптимизированной листовой подстилки (Leaf Litter).
Важное техническое изменение касается синтаксиса команд. Ранее в аргументах команд, которые принимают встроенные значения (такие как лутаблицы, предикаты, модификаторы или компоненты данных), логические значения (true/false) были отделены от числовых. Теперь эта механика временно откачена, и команды снова могут принимать числа на месте булевых значений для обеспечения обратной совместимости.

Примечание разработчиков: Изначачное изменение произошло из-за отказа от использования NBT в качестве промежуточного формата для разбора таких значений, что означало разделение булевых значений и чисел (аналогично обработке в JSON). Мы решили временно вернуть старую логику, поскольку на данный момент некоторые функции невозможно реализовать без использования хранилища и макросов. Однако, когда эта недостающая функциональность будет добавлена (и данные можно будет передавать без преобразования в текст и обратно), устаревшая обработка булевых значений будет снова удалена.
Обновления сетевого протокола
Были внесены две ключевые правки в сетевой протокол чата, направленные на повышение надёжности для разработчиков кастомных серверов.
Индексация сообщений
Пакет player_chat, отправляемый сервером клиенту, теперь содержит последовательный индекс для каждого сообщения.
- Индекс начинается с 0 при входе игрока (или сбрасывается фазой конфигурации и пакетом
login). - Сервер должен увеличивать это значение на 1 для каждого отправляемого сообщения.
- Если клиент получает индекс в непредвиденной последовательности, он отключается от сервера.
Цель нововведения - позволить клиенту быстрее обнаруживать пропущенные или переупорядоченные сообщения чата, так как протокол требует, чтобы пакеты чата достигали клиента в порядке их отправки.
Контрольная сумма для синхронизации
Пакеты chat и chat_command_signed, отправляемые клиентом серверу, теперь содержат байт контрольной суммы вместе с обновлением "last seen".
- Это простой хэш сигнатур "last seen", который сервер должен реконструировать для проверки.
- Это позволяет быстрее обнаруживать рассинхронизацию состояния между клиентом и сервером.
- Для совместимости с протоколами трансляции проверку можно отключить, передав значение
0.
Ресурс-пак 55 и оптимизация моделей
С обновлением версии ресурс-пака до 55 была проведена оптимизация моделей блока листовой подстилки. Ранее её многокомпонентная (multipart) система моделей была неоптимизированной и могла вызывать лаги рендеринга, особенно в местах с большим количеством этого блока (например, в бледных садах). Теперь модель переработана для повышения производительности.





