23w31a (Java Edition)
Перейти к навигации
Перейти к поиску
| Эту статью нужно срочно оформить!
Вы можете помочь, отредактировав её.
|
23w31a
| Издание | Java Edition | |||||
|---|---|---|---|---|---|---|
| Дата выпуска | 2 августа 2023 г. | |||||
| Тип | Предварительная версия | |||||
| Предварительная версия для | 1.20.2 | |||||
| Версия протокола | dec: 1073741968 | |||||
| Версия данных | 3567 | |||||
| Формат набора ресурсов | 16 | |||||
| Формат набора данных | 16 | |||||
| Мин. версия Java | Java SE 17 | |||||
| ||||||
23w31a — это первая предварительная сборка для Java Edition 1.20.2, выпущенная 2 августа 2023 года, в которой добавлен экспериментальный набор данных «Балансировка торговли с крестьянами», команда /random и исправлены ошибки.
Дополнения
[править | править код]Формат команды
[править | править код]- Новая команда для рандомизации значений и управления случайными последовательностями.
- Синтаксисы:
- Аргументы:
range: диапазон значений для рандомизации, включительно. Например,1..6— это обычный бросок D6.sequence: имя случайной последовательности для выборки или сброса.- В
/random reset,*относится ко всем случайным последовательностям.
- В
seed: начальное значение которое будет использоваться для случайной последовательности после сброса.includeWorldSeed: логическое значение, указывающее, включать ли начальное значение мира при заполнении последовательности. По умолчанию —true.- Когда
false, это означает, что все последовательности будут иметь одно и то же значение, независимо от того, в каком мире выполняется команда.
- Когда
includeSequenceId: логическое значение, указывающее, включать ли идентификатор последовательности при заполнении последовательности. По умолчанию —true.- Когда
false, это означает, что все последовательности будут иметь одно и то же значение, независимо от того, какое у них имя.
- Когда
- Примечания
/random (value|roll):- При использовании
rollвместоvalueполученное значение также отображается в чате для всех игроков. - Если
sequenceне указан, эта команда может быть выполнена игроками без прав оператора.
- При использовании
- Примечания
/random reset:- По умолчанию все последовательности заполняются как
0,true,true. - Использование
*вместо идентификатора последовательности сбрасывает все последовательности и устанавливает параметры по умолчанию. - Если начальное значение не указано, последовательность сбрасывается до параметров по умолчанию.
- По умолчанию все последовательности заполняются как
Общее
[править | править код]- Атрибуты
- Добавлен атрибут
generic.max_absorb.- Действует аналогично
generic.max_health, но вместо верхней границы дляHealthэто верхняя граница дляAbsorbingAmount. - Эффект моба
absorbувеличиваетgeneric.max_absorb, а также заполняетAbsorbAmountдо максимума при применении.
- Действует аналогично
- Добавлен экспериментальный переключатель «Ребаланс торговли деревенских жителей» (Меняет продаваемые зачарованные книги в зависимости от биома, в котором находится деревенский житель) (пакет данных (дата-пак)
trade_rebalance).
- Добавлены следующие теги блоков:
#camel_sand_step_sound_blocks: содержит#sandи#concrete_powder.#concrete_powder: содержит все типы бетонных порошков.
- Добавлен следующий тег типов нанесения урона:
#no_knockback: содержитexplosion,player_explosionиbad_respawn_point.- Отбрасывает, не нанося урон. Используется в ванильной версии игры для нанесения урона, вызванного событиями, например, взрывами, которые отбрасывают отдельно.
- Добавлен следующий тег сущности:
#non_controlling_rider: содержитslimeиmagma_cube.- Представляет объекты, которые не отключают контроль над движением своих транспортных средств.
Изменения
[править | править код]Блоки
[править | править код]- Больше не создает падающие частицы, когда на них падают объекты.
- Больше не создаются частицы, когда игрок их чистит.
- Теперь игроки могут заливать воду в блок в творческом режиме.
- В них нельзя поместить воду или вылить её путем непрямого взаимодействия, например, с помощью раздатчика.
- Больше не обеспечивает поддержку висящих или стоящих блоков.
- Теперь есть всплывающие подсказки к инвентарю творческого режима
- Текстура слота для ляписа возвращена к текстуре, существовавшей до 1.18-pre5, чтобы обеспечить согласованность с кузнечным столом.
- Теперь можно обнаружить следующие события:
entity_action(новый), с частотой 4:entity_damage, с частотой 7:- Тотемы бессмертия активируются.
- Теперь в пользовательских рецептах материал для обновления можно мгновенно отправить в графический интерфейс с помощью сочетания клавиш Shift + ЛКМ.
Предметы
[править | править код]- Музыкальный диск «Pigstep» теперь является последним из музыкальных дисков в инвентаре творческого режима.
Мобы
[править | править код]- Теперь паникуют при нанесении урона, когда они прикреплены к поводку.
- Скидка на лечение жителя больше не умножается, если житель повторно заражается и снова вылечивается. (Внимание! Это может сильно изменить способ торговли с жителями, если такой способ использовали на серверах до выхода обновления!)
- Теперь пытаются создавать железного голема каждые 30 секунд (вместо 35).
Прочие сущности
[править | править код]- Отображаемые объекты
- Отображаемые объекты теперь начинают обновлять свое положение и вращение на стороне клиента с первого тика после обновления.
- В предыдущих версиях обновления применялись за один и тот же тик, что приводило к неравномерности движения.
- Новое поведение теперь аналогично стойкам для брони, мобам и игрокам.
- На сервере позиция и ротация по-прежнему обновляются немедленно.
- Продолжительность этой интерполяции контролируется полем
teleport_duration.0означает, что обновления применяются немедленно.1означает, что отображаемый объект переместится из текущей позиции в обновленную за один такт.- Более высокие значения распределяют движение на несколько тиков.
- Обратите внимание, что это значение ограничено во избежание сбоев из-за периодических обновлений положения.
- Новое значение будет применяться только к изменениям положения и вращения, сделанным после его изменения.
- Это означает, что любое текущее движение продолжится без изменений.
- Примечание: поведение во время езды осталось неизменным по сравнению с предыдущими версиями.
Генерация мира
[править | править код]- Распределение руды
- Алмазная руда теперь чаще генерируется в слоях глубинного сланца верхнего мира.
- Добавлено новое размещение рудных капель: равномерно распределенное, от высоты от −64 до −4, с размером капли 8, частотой генерации 2 и вероятностью выбрасывания 50 % при воздействии воздуха.
- Другие существующие месторождения алмазной руды остаются нетронутыми.
Формат команды
[править | править код]- Одиночная обратная косая черта
\в качестве последнего символа строки без пробелов теперь позволяет продолжить команду на следующей строке.- Перед добавлением начальные и конечные пробелы следующей строки удаляются.
- Функции теперь могут содержать строки макросов, что делает их функциональными макросами.
- Любая строка, начинающаяся с
$(в качестве первого символа, не являющегося пробелом), обозначает строку макроса. - Строка макроса также содержит одну или несколько замен в виде
$(переменная).- Команды с заменами переменных будут пересчитываться после замены.
- Запуск команд этого типа требует дополнительных затрат по сравнению с предварительно проанализированными функциями.
- Игра попытается кэшировать результат использования определённого набора параметров при вызове, чтобы снизить затраты при повторном вызове.
- Команды с заменами переменных будут пересчитываться после замены.
- При вызове макроса функции необходимо предоставить соединение с данными для всех переменных-аргументов.
- Любая строка, начинающаяся с
- Числа, используемые в качестве аргументов макроса, теперь всегда вставляются без суффиксов, независимо от числового типа.
- Добавлена подкоманда
(if|unless) function.
- Добавлена подкоманда
- Расширено использование команд, теперь поддерживаются параметры для подстановки переменных макроса функции.
- Новый синтаксис:
/function <name> [<arguments>|with (block <sourcePos>|entity <source>|storage <source>) [<path>]] - Новые аргументы:
arguments: соединение данных, заключенное в{}.- Источник данных: спецификация источника данных, например, то, что уже можно использовать для
/data get. путь: спецификация пути NBT.
- Источник данных и
путьдолжны указывать составную запись данных. - Соединение должно содержать одну запись для каждой переменной, используемой в макросе.
- В соединении может присутствовать больше данных, но они игнорируются.
- Вызов функции, не являющейся макросом, с соединением данных игнорируется.
- При вызове макроса предоставленные значения заменяются вместо спецификаций переменных, и результирующие команды выполняются.
- Чтобы повысить производительность при повторном вызове с одним и тем же параметром, значения в предоставленном соединении, на которые ссылаются в макросе как на параметры, будут кэшироваться.
- Любые синтаксические ошибки в строках, возникающие в результате подстановки переменных, приводят к пропуску всего вызова функции.
- Новый синтаксис:
/item
- Теперь можно заменять предметы в музыкальном блоке]].
- Теперь можно удалять предметы с резных книжных полок.
- Добавлена подкоманда
run.
- Добавлена подкоманда
- Общее
- История использованных команд теперь сохраняется и доступна во всех мирах.
- Последние 50 команд, отправленных в чат, будут запоминаться во время игровых сессий.
- Доступ к истории команд и чата можно получить, нажав стрелку вверх или стрелку вниз на клавиатуре в чате.
- Обычный чат сохраняется только в течение одного игрового сеанса (при выходе с сервера или мира они очищаются).
- Последние команды хранятся в
command_history.txtв папке игры.
Геймплей
[править | править код]- Улучшение «Кузнечное дело» теперь дает 150 опыта после завершения.
- Бамбуковый забор и бамбуковые ворота теперь соединяются вместе с другими.
Общее
[править | править код]- правило игры
randomTickSpeedтеперь влияет на скорость накопления снега и льда так же, как оно влияет на урожай и другие блоки.
- Теперь используется версия
18. - Добавлено поле
decalв шаблоны отделки брони (по умолчанию:false).- Если
true, текстура узора будет замаскирована на основе базовой брони.
- Если
- Значения в строке
SHтеперь будут отображаться в виде вопросительных знаков при игре на сервере вместо неправильных значений. - Когда хитбоксы отображаются с помощью F3+B, объекты, у которых есть пассажир, будут отображать точку присоединения пассажира.
- Строка «Отладка» переименована в «Диаграммы отладки» и изменён её стиль.
- Круговая диаграмма теперь называется диаграммой «Профилировщик».
- Диаграммы на экране отладки теперь можно переключать с помощью комбинаций клавиш F3+1 (диаграмма профилировщика) и F3+2 (FPS и TPS) вместо Shift+F3 и Alt+F3.
- Нажмите комбинацию клавиш F3+3, чтобы теперь отображались диаграммы пинга и полученного сетевого трафика.
- Экран отладки больше не закрывается при переключении графиков.
- Несколько диаграмм теперь могут отображаться одновременно, если они не конфликтуют друг с другом.
- Текущий макет диаграммы будет сохранен при повторном включении экрана отладки.
- Игровые события
- Добавлено игровое событие
entity_actionвместоentity_roarиentity_shake. - Добавлено игровое событие
unequip.
- Экраны многопользовательской игры и выбора мира
- Кнопка «Отмена» переименована в «Назад».
- Пакеты метаданных
- В пакеты данных и ресурсы были добавлены новые функции, позволяющие создавать пакеты, совместимые с несколькими версиями игры.
- Метаданные пакета теперь включают необязательное поле
supported_formats, которое описывает диапазон форматов пакета, поддерживаемых этим пакетом.- Примеры:
16,[16,17],{"min_inclusive": 16, "max_inclusive": 17
- Примеры:
- Поле
pack_formatпо-прежнему является обязательным, а его формат остается неизменным, чтобы старые версии игры могли читать данные пакета.- Если
supported_formatsприсутствует, он должен содержать значение, объявленное вpack_format. - Поскольку эта новая информация игнорируется более старыми версиями игры, они всегда будут видеть «обычный» пакет с одной версией без какой-либо расширенной совместимости.
- Если
- Метаданные пакета теперь включают необязательное поле
- Пакеты теперь могут содержать наложенные каталоги («оверлеи»).
- Оверлеии — это дополнительные пакеты, накладываемые поверх «обычного» содержимого пакета.
- Эти каталоги имеют тот же макет, что и пакет верхнего уровня, включая каталоги
assetsиdata. - Оверлеи можно применять, если они поддерживают формат пакета клиента.
- Оверлеи позволяют добавлять и заменять файлы, но не удалять их.
- Например, если применено наложение
foo, файлfoo/assets/minecraft/textures/bar.pngзаменит содержимоеassets/ minecraft/textures/bar.png.
- Например, если применено наложение
pack.mcmetaиpack.pngигнорируются в каталогах оверлея.
- Эти каталоги имеют тот же макет, что и пакет верхнего уровня, включая каталоги
- Для пакетов метаданных добавлен новый раздел под названием
overlays.- Он содержит поле
entries, содержащее список наложений. - Каждая запись оверлея имеет два поля:
formats— диапазон поддерживаемых форматов.directory— каталог наложения (разрешенные символы:a-z,0-9,_и-)
- Он содержит поле
- Порядок применения: оверлеи располагаются снизу вверх по списку.
- Например, если пакет имеет два оверлея:
"entries": [{"directory":"A", ...}, {"directory":"B", ...}], игра сначала будет искать в каталоге B, затем в A, а затем в каталоге верхнего пакета.
- Например, если пакет имеет два оверлея:
- Оверлеии — это дополнительные пакеты, накладываемые поверх «обычного» содержимого пакета.
- Протокол
- Оптимизирован способ отправки фрагментов клиентам, чтобы игроки с подключением к Интернету с низкой пропускной способностью могли играть на многопользовательских серверах.
- Чанки больше не пересылаются клиенту по сети одним большим непрерывным пакетом.
- Вместо этого они отправляются меньшими партиями в зависимости от доступной пропускной способности. Это значит, что:
- Клиенты с очень низкой пропускной способностью не будут терять время при загрузке мира.
- Клиенты с соединениями с низкой пропускной способностью могут взаимодействовать с миром, пока некоторые фрагменты ещё загружаются.
- Теперь отправляются только фрагменты, находящиеся на расстоянии рендеринга клиента.
- Пакеты игрового процесса теперь упаковываются в более крупные TCP-пакеты, чтобы уменьшить нагрузку на TCP-заголовки, что значительно снижает использование сети.
- Изменён сетевой протокол, чтобы в будущем можно было использовать больше контента, управляемого данными.
- Фаза настройки автоматически начинается после фазы входа в систему (то есть после проверки учётной записи клиента) и длится до тех пор, пока игрок не присоединится к миру (фаза игры).
- Клиенты могут оставаться на этапе настройки неопределенное время — сервер должен выпустить его в свет.
- Серверы также могут запросить у клиентов повторный вход в фазу настройки после того, как они вошли в фазу воспроизведения.
- Другие игроки будут видеть таких клиентов отключенными.
- Пользователи, находящиеся на этапе настройки, не будут видны в списке игроков.
- Действия, разрешенные на этапе настройки (перенесены из этапа игры).
- Конфигурация реестров, управляемых данными.
- Конфигурация включенных функций.
- Действия, общие для этапов настройки и воспроизведения:
- Применение серверных пакетов ресурсов.
- Обновление тегов.
- Обмен пользовательскими пакетами.
- Пакеты Ping и Keep-Alive.
- Сервер теперь будет согласовывать пакет ресурсов на этапе настройки.
- Это означает, что игрок больше не будет находиться в мире, когда отвечает на подсказки и перезагружает ресурсы.
- Параметры клиента теперь передаются на этапе настройки сети при присоединении к серверу.
- Теперь используется версия
18.- Процесс обновления пакета можно облегчить с помощью автоматического инструмента Slicer.[1]
- Все текстуры, содержащие несколько спрайтов на листе для графического интерфейса, были разделены на отдельные спрайты в разделе
textures/gui/sprites(автоматически с помощью инструмента Slicer). - Все текстуры из пространства имен
realmsбыли перемещены в пространство именminecraft(автоматически с помощью инструмента Slicer). villager2.pngпереименован вvillager.png(автоматически с помощью инструмента Slicer).- Спрайты графического интерфейса
icon/trial_availableиrealm_status/expires_soonанимируются с помощью объявлений.mcmetaвместо отдельных спрайтов (автоматически с помощью инструмента Slicer). - Фон всплывающей подсказки пакета теперь отображается в виде спрайта, состоящего из девяти фрагментов.
- Значки кнопок «Доступность», «Язык», «Новости Realms» были отделены от базовой текстуры кнопок.
- Кнопка «Пригласить в Realms» теперь отображается как наложение на обычную текстуру кнопки.
- Выделенное состояние текстуры для этой кнопки было удалено.
- Выделенные состояния для значков номеров приглашений Realms были удалены.
- Восклицательные знаки в
notification\more.pngбыли удалены. - Фон текстового поля теперь представляет собой спрайт из девяти фрагментов по адресу
widget/text_fieldиwidget/text_field_highlighted. - Полоса прокрутки в списках и текстовых полях теперь представляет собой спрайт из девяти частей в
виджете/прокрутке.
- Селектор отображаемого места
belowNameтеперь называетсяbelow_name.
- Добавлен новый параметр
log-ips(по умолчаниюtrue).- Если установлено значение
false, IP-адреса игроков не будут включаться в журнал, когда игроки присоединяются к игре.
- Если установлено значение
- Все типы бетонных порошков перенесены в новый добавленный тег блока
#concrete_powderиз тега блока#mineable/shovel, затем добавлен#concrete_powderв#mineable/shovel. - Удалены
entity_roarиentity_shakeиз тегов игровых событий#vibrationsи#warden_can_listen, затем добавленentity_actionиunequipим.
- На экран сбора данных телеметрии добавлена кнопка, которая ссылается на Заявление о конфиденциальности Microsoft.
- Общее
- Добавлена проверка символических ссылок в пакетах данных и пакетах ресурсов для повышения безопасности.
- Эта функция расширяет возможности проверки символических ссылок в мирах, добавленных в предыдущем релизе.
- Игра теперь будет предупреждать пользователей, если пакет, добавленный методом перетаскивания, содержит запрещенные символические ссылки.
- Пакеты, содержащие запрещенные символические ссылки, не будут видны в пользовательском интерфейсе и командах.
- Кроме того, каталоги и файлы, которые не распознаются как пакеты, больше не будут копироваться методом перетаскивания.
Экспериментальные изменения
[править | править код]В данном разделе отражены экспериментальные изменения, добавляемые пакетом данных «Ребаланс торговли деревенских жителей».
Торговля
[править | править код]Торговля с жителями
[править | править код]Изменён торговый механизм продажи зачарованных книг библиотекарями.
- Вместо того, чтобы предлагать всевозможные зачарованные книги, библиотекари теперь будут предлагать конкретные зачарованные книги в зависимости от того, из какого биома они происходят.
- Деревни в джунглях и болотах не генерируются естественным путем. Таким образом, игроки должны разводить жителей деревни или лечить жителей-зомби в этих биомах, чтобы получить доступ к своим ремеслам.
- Все продаваемые зачарованные книги теперь разделены на специальные книги и обычные книги.
- Особые книги имеют определённые чары с фиксированным уровнем и доступны только у библиотекарей на уровне мастер с полным опытом.
- Обычные книги имеют чары без фиксированного уровня, как и раньше.
- Все чары, используемые для арбалета, удочки и трезубца, сняты с продажи.
Торговля со странствующим торговцем
[править | править код]Список сделок теперь состоит из следующих сделок по порядку:
- Покупка предметов торговцем (новое) × 2
- Специальная продажа × 2
- Обычная продажа × 5
Добавлены новые сделки на покупку, несколько сделок на продажу и изменены некоторые существующие сделки на продажу.
Исправление ошибок
[править | править код]Было исправлено 125 ошибок.