Раздел справочной информации на сайте Minecraft пополнился сразу тремя публикациями. Посвящены они, на первый взгляд, достаточно банальным вещам, которые не содержат какой-то новой информации. Например, две статьи — это описание команд и рассказ о возможности создания NPC в Minecraft Bedrock.
В целом все три статьи направлены на то, чтобы проинформировать читателя о существовании отдельного справочного портала для тех, кто хочет разрабатывать аддоны для Minecraft Bedrock.
И поэтому третья статья из серии публикаций значительно интереснее — в ней рассказывается о GameTest Framework, добавленном в Minecraft Bedrock.
Что такое GameTest Framework
Несмотря на то, что статья на сайте Minecraft преподносит GameTest Framework как нечто новое, сам фреймворк был интегрирован в Minecraft ещё в феврале 2021 г. в бета-версии 1.16.210.60.
Чтобы запустить Minecraft с поддержкой GameTest Framework, необходимо включить его при создании мира. И читы тоже надо включить.
New /gametest Command | New Beta 1.16.210.60
Предназначен он для проведения тестов контента, добавляемого в игру разрабатываемыми аддонами, хотя при желании можно также тестировать и поведение стандартных игровых механик.
Тестирование и проверка того, как работает разрабатываемый аддон — это важнейшая часть создания игровых дополнений. Ты создаёшь что-то и проверяешь в игре, переделываешь и снова проверяешь в игре, и это могут быть сотни и тысячи проверок, на которые уходит времени не меньше, чем на саму разработку.
Фреймворк GameTest позволяет создавать такие небольшие проверки.
Для этого создаётся небольшой аддон, который содержит структуру — постройку, внутри которой нужно проводить тестирование. И скрипт, в котором описываются необходимые условия тестирования. Например, можно заспавнить определённых мобов, которые должны будут сразиться, а по результатам кто-то из них должен выжить. Или спрятаться. Или зарыться в землю.
Тест будет считаться пройденным, если выполнено необходимое условие.
Таких тестов разработчик может написать столько, сколько ему нужно, для каждого элемента создаваемого аддона, и тогда на любом этапе разработки он будет знать, повлияло ли изменение на то, что было создано ранее.
Чтобы понять, как это работает, можете попробовать запустить и воспользоваться одним из встроенных тестов.
Источник: dzen.ru
Для Minecraft выпущен GameTest Framework — что это, и зачем он нужен
Раздел справочной информации на сайте Minecraft пополнился сразу тремя публикациями. Посвящены они, на первый взгляд, достаточно банальным вещам, которые не содержат какой-то новой информации. Например, две статьи — это описание команд и рассказ о возможности создания NPC в Minecraft Bedrock.
Сейчас читают:
В целом все три статьи направлены на то, чтобы проинформировать читателя о существовании отдельного справочного портала для тех, кто хочет разрабатывать аддоны для Minecraft Bedrock.
обзор на команду, gametest
И поэтому третья статья из серии публикаций значительно интереснее — в ней рассказывается о GameTest Framework, добавленном в Minecraft Bedrock.
Что такое GameTest Framework
Несмотря на то, что статья на сайте Minecraft преподносит GameTest Framework как нечто новое, сам фреймворк был интегрирован в Minecraft ещё в феврале 2021 г. в бета-версии 1.16.210.60.
Предназначен он для проведения тестов контента, добавляемого в игру разрабатываемыми аддонами, хотя при желании можно также тестировать и поведение стандартных игровых механик.
Тестирование и проверка того, как работает разрабатываемый аддон — это важнейшая часть создания игровых дополнений. Ты создаёшь что-то и проверяешь в игре, переделываешь и снова проверяешь в игре, и это могут быть сотни и тысячи проверок, на которые уходит времени не меньше, чем на саму разработку.
Фреймворк GameTest позволяет создавать такие небольшие проверки.
Для этого создаётся небольшой аддон, который содержит структуру — постройку, внутри которой нужно проводить тестирование. И скрипт, в котором описываются необходимые условия тестирования. Например, можно заспавнить определённых мобов, которые должны будут сразиться, а по результатам кто-то из них должен выжить. Или спрятаться. Или зарыться в землю.
Тест будет считаться пройденным, если выполнено необходимое условие.
Таких тестов разработчик может написать столько, сколько ему нужно, для каждого элемента создаваемого аддона, и тогда на любом этапе разработки он будет знать, повлияло ли изменение на то, что было создано ранее.
Чтобы понять, как это работает, можете попробовать запустить и воспользоваться одним из встроенных тестов.

Например, тест на работу вагонетки можно запустить командой /gametest run minecarttest:turn .
Как создавать собственные тесты
Встроенные тесты интересны, но основное назначение фреймворка — это тестирование собственных разработок. И тут уже одной командой не обойтись.
Нужно создавать собственный тестовый аддон, который включает в себя структуры и тестирующие скрипты.
Подробную инструкцию с примерами можно найти здесь.
Добавлю, что разработчиками Minecraft выпущено дополнение для редактора Visual Studio Code, которое добавляет средства отладки кода, выполняемого GameTest Framework, что, безусловно, значительно упростит работу над созданием аддонов.
Источник: gameshoot.ru
Обновление Minecraft 1.18.20.21 Beta Patch Notes
Mojang только что выпустила бета-версию Minecraft 1.18.20.21, и у нас есть полные примечания к патчу, которые вы можете прочитать. В этом совершенно новом выпуске представлено множество не экспериментальных функций, а также исправлены ошибки, такие как Vanilla Parity и команда «hasitem», которая включает таргетинг на основе элементов. В патче 1.18.20.21 в Minecraft также были добавлены некоторые новые технические функции.
Также есть пара экспериментальных обновлений вместе со всей необходимой информацией, которую вам может понадобиться перед загрузкой этого бета-обновления. Вы должны иметь возможность присоединиться к этой бета-версии и скачать ее прямо сейчас. Бета-версия доступна только на Xbox, Windows и Android (Google Play).
Minecraft Patch Notes: Update 1.18.20.21
Вот список того, что нового в бета-версии этой недели! Мы также рады показать новый блестящий экран «Создать новый мир», который будет опционально доступен для некоторых наших бета-игроков. Мы будем рады услышать ваши отзывы о нем в этом посте! И, как всегда, ищите и сообщайте о любых ошибках, которые вы можете найти, на bugs.mojang.com.
Экспериментальные функции
Frog
- Лягушки теперь прыгают чаще
- Яйца лягушек переименованы в лягушачьих отродий
- Увеличено время, в течение которого из лягушачьих отродий вылупляются головастики
- Хитбокс головастиков теперь больше
- Frog Spawn имеет новую текстуру
- Лягушки в луговых биомах теперь имеют умеренный вариант
Настройки анимации
- Подправлена анимация прыжка и языка лягушки.
- Очищена анимация, файлы сущностей и контроллера.
- Изменена анимация воды и плавания. от линейного к плавному
Неэкспериментальные функции и исправления ошибок
Создайте новый мир
- Создать новый мирЭкран получил новый дизайн, который теперь доступен для некоторых игроков. Мы будем рады услышать ваши отзывы об этом в этой публикации!
Vanilla Parity
- Теперь миры можно создавать с помощью 64-битные начальные числа (от -9223372036854775808 до 9223372036854775807), которые можно копировать между Bedrock и Java для создания одного и того же мира (MCPE-144994) (MCPE-148168)
- Нечисловые начальные входные данные пользовательского интерфейса теперь создают те же семена, что и для Java Edition
- Рука игрока больше не дергается во время зарядки лука (MCPE-148486).
- Падающие блоки снова имеют полный блок.
- Исправлена ошибка, из-за которой клирики-подмастерья предлагали светящуюся пыль вместо светящихся блоков. (MCPE-57524)
- Диких волков теперь можно привязать (MCPE-82050)
Блокирует
-
Теперь блоки тротила правильно перемещаются в случайном направлении X/Z после включения
- Исправлена ошибка, из-за которой капли ресурсов иногда оставались черными после разрушения и быстрой установки блока на свое место.
- Верхний снег больше не пересекается с блоком под ним при падении
Команды
- Добавлен фильтр «hasitem» для целевого селектора сущностей. Это позволяет игроку нацеливаться на объекты на основе предметов, которые есть в его инвентаре или на которых он носит
Игровой процесс
- Неподвижные клыки. из-за того, что заклинания Illager не появляются в блоках без ограничивающих рамок
- Ведра с водой и лавой теперь можно использовать на подводных блоках, сосуществующих с водой, таких как световые блоки или большие капли (MCPE-148392).
- Игроки в режиме посетителя больше не могут разбивать картины и вагонетки (MCPE-132869).
- Телепортация по вертикали за пределы видимости теперь корректно загружает местность (MCPE-150021)
- Повышена точность расчета урона
- Исправлена проблема при взаимодействии с колоколом при удерживании платного предмета он не звонил непрерывно (MCPE-56968)
- Исправлена ошибка, из-за которой игрок мог переключаться на планирование при езде в определенных сценариях (MCPE-147904)
Мобы
- Мобы теперь могут проходить через блоки Azalea (MCPE-129373)
- Мобы теперь могут проходить через блоки Dripleaf и правильно находить путь поверх них, когда они не полностью наклонены
- Mobs теперь могут проходить через остроконечные блоки капельного камня и правильно находить путь поверх них (MCPE-133270)
- Мобы теперь могут правильно перемещаться поверх сплошных неполных блоков, таких как колокольчики, варочные стойки и столы для зачарования.
- Мобы теперь могут прыгать с достаточно высоких сплошных неполных блоков на полные, расположенные выше
- Теперь мобы могут перепрыгивать через забор, если они стоят на соседней плите или на другом блоке достаточной высоты
- Теперь мобы могут проходить через верхний снег высотой менее полублока, даже когда потолок, если таковой имеется, , такого же роста, как сами мобы (MCPE-148355)
- Мобы теперь могут проходить через Кораллы и Коралловые веера, так как они больше не считают их твердыми препятствиями (MCPE-128687)
- Исправлена проблема, из-за которой игроки не могли получить доступ к сделкам с жителями, удерживая яйцо призывания (MCPE -76153)
- Исправлена ошибка, из-за которой ведьмы, появившиеся во время рейдов на деревни, могли исчезнуть во время рейда (MCPE-149883).
- Треска, лосось, иглобрюх, тропическая рыба и дельфины снова появляются в глубоководных вариантах биомов океана (MCPE-150191)
Стабильность и производительность
- Исправлен сбой, который мог произойти при выходе из меню «Масштаб» в Примерочной.
Пользовательский интерфейс
- Вкладки по умолчанию изменены на « Craftable» слева и «Создание» справа на экране инвентаря Pocket UI.
- Удалена кнопка со знаком вопроса на экране инвентаря Pocket UI.
- Предметы, требующие рецептов 3×3. больше не отображаются, когда верстак не используется
- Игроки теперь могут использовать автоматическое перемещение, чтобы снять или надеть доспехи в меню верстака в карманном интерфейсе (MCPE-148970)
- Обновлены стандартные значки лицевых кнопок контроллера на мобильных устройствах.
- Ctrl + Backspace теперь стирает все слово до знака вставки.
- Control + Delete теперь стирает все слово после знака вставки.
- Ctrl + Стрелка влево теперь перемещает курсор в начало слова перед курсором.
- Control + Стрелка вправо теперь перемещает курсор в начало следующего слова после курсора.
Жители
- Обновлены таблицы торговли сельских жителей для Оружейника, Клирика, Рыбака, Пастуха, Мастера инструментов и Оружейника, чтобы они соответствовали Java Edition.
- Исправлена проблема, из-за которой у сельских жителей не было предмета, которым они обменивались, когда игрок преподносил их за Изумруды (MCPE). -150303)
- Жители больше не избегают зомбированных свиней (MCPE-94102)
- Жители больше не делятся семенами и семенами свеклы
Технические обновления
- Мир с «StorageVersion» 8 или ниже будет увеличен до 9, а его «RandomSeed» будет обновлен с использования только младших 32 бит 64-битного числа до использования полного 64-битного диапазона при сохранении того же числа. Это относится только к отрицательным 32-битным начальным значениям, для которых требуется расширение знакового бита
Дополнительные возможности модификации Эксперимент/JavaScript API
Важно! В этом выпуске и, начиная с этой бета-версии, мы удаляем эксперимент «Дополнительные возможности моддинга». Этот эксперимент содержал экспериментальные API-интерфейсы JavaScript, запущенные в 2018 году, и после их удаления JavaScript в мирах, связанных с этим API, больше не будет работать. GameTest Framework — отдельный API JavaScript — не должен быть затронут, равно как и надстройки типа пакета поведения/пакета ресурсов в более широком смысле. Подробнее об этом можно прочитать в этой статье.
Команды
- Добавлено 39;/tickingarea39; команда предварительной загрузки перегружена
- Объекты теперь должны быть загружены, чтобы область считалась полностью загруженной и галочкой
Molang
- Выражения Molang внутри сценариев анимации для определения ресурса актера (pre_animation и initialize), которые содержат заглавные буквы, теперь правильно оцениваются с помощью format_version 1.18.20 или выше.
Пользовательский интерфейс
- Экран хода загрузки теперь отображается при загрузке областей, отмеченных для предварительной загрузки.
Команды
- Добавлена новая команда ‘/volumearea’ для создания, удаления и перечисления томов в мире
GameTest Framework
Новый модуль! Мы добавили модуль mojang-minecraft-ui со структурами API для создания простых диалоговых окон:
- Добавлены типы ActionFormData/ModalFormData/MessageFormData в mojang-minecraft -ui пространство имен. Дополнительная документация по новому пространству имен будет размещена на сайте документации Minecraft Creator.
Обновления модуля mojang-minecraft:
- Мир
- Обновлено свойство directionto blockFace в world.events.beforeItemUseOn и world.events.itemUseOn
- Добавлено событие World.event.beforeDataDrivenEntityTriggerEvent — срабатывает до применения триггера, управляемого данными
- Добавленное событие World.event.dataDrivenEntityTriggerEvent — срабатывает после применения триггера, управляемого данными
- Для вышеуказанных событий каждое принять необязательный EntityDataDrivenTriggerEventOptions
- Унаследовано от EntityEventOptions
- property eventTypes: string[] – если указано, будет ограничено событиями с указанное имя (I.E minecraft:ageable_grow_up)
- (Унаследованное) свойство entities: Entity[] – если указано, будет ограничено только указанными объектами
- (Унаследовано) property entityTypes: string[] – если указано, будет ограничено объектами указанного типа (I.E minecraft:creeper)
- свойство только для чтения componentGroupsToAdd: string[] — список групп компонентов, которые быть добавлен как часть этого модификатора
- свойство только для чтения componentGroupsToRemove: string[] – список групп компонентов, которые будут удалены как часть этого модификатора
- property triggers: Trigger[] – список триггеров, которые будут срабатывать как часть этого модификатора
- property eventName: строка — имя события триггера
- свойство только для чтения entity: Entity – сущность, для которой событие инициировало
- свойство только для чтения id: string – имя события
- свойство только для чтения entity: Entity – объект, для которого событие вызвало
- свойство только для чтения id: строка – имя события;
- модификаторы свойства : DefinitionModifier[] – список модификаторы, которые будут применяться при срабатывании события
- property cancel: bool — если true, событие не будет инициировано
- Добавлен класс EnchantmentType
- Свойство только для чтения id: строка — название типа чар
- Свойство только для чтения maxLevel: int — максимальный уровень, который может иметь этот тип чар.
- Добавлен класс EnchantmentInstance. Представляет собой привязку EnchantmentType и уровня, который можно добавить к элементу
- Constructor EnchantmentInstance(тип: EnchantmentType, уровень: int)
- Свойство только для чтения тип: EnchantmentType – Тип чар этого экземпляра
- Свойство level: int — уровень этого экземпляра чар
- Добавлено перечисление EnchantmentSlot. Это перечисление представляет слот или тип предмета, к которому можно применить чары
- Добавлен класс EnchantmentList. Этот класс представляет набор чар, которые можно применить к предмету
- Constructor Список чар(slot : EnchantSlot)
- Свойство только для чтения slot: EnchantSlot — слот/тип предмета к которым должна применяться эта коллекция
- Доступное только для чтения свойство allEnchantments: EnchantmentInstance[] — все чары как часть этой коллекции чар
- Method canAddEnchantment(instance : EnchantmentInstance): bool — возвращает, может ли предоставленный экземпляр EnchantmentInstance быть добавлен в эту коллекцию.
- Метод addEnchantment(instance : EnchantmentInstance): bool — пытается добавить чары в эту коллекцию. Возвращает true в случае успеха
- Method removeEnchantment(type : EnchantmentType) – удаляет экземпляр EnchantmentInstance с типом из этой коллекции, если он присутствует
- Method hasEnchantment(type : EnchantmentType): int – если в этой коллекции есть экземпляр EnchantmentInstance с типом type , возвращает уровень зачарования. Возвращает 0, если отсутствует
- Добавлен класс компонента ItemEnchantmentComponent.
|
- Свойство enchantments: EnchantmentList — получает копию текущего набора чар в этом ItemStack. Или позволяет пользователю установить EnchantmentList для ItemStack
- Метод removeВсеEnchantments- удаляет любые чары, которые могут присутствовать в этом ItemStack
- Добавлена функция setLore(loreList: string[]) : void — устанавливает текст истории для предмета
- Добавленная функция getLore(): string[] — получает текст истории для предмета
Если вы хотите узнать больше об игровых обновлениях и новостях, ознакомьтесь с нашим разделом Примечания к исправлениям.
Источник: crarena.ru