Для Minecraft выпущен GameTest Framework — что это, и зачем он нужен
Раздел справочной информации на сайте Minecraft пополнился сразу тремя публикациями. Посвящены они, на первый взгляд, достаточно банальным вещам, которые не содержат какой-то новой информации. Например, две статьи — это описание команд и рассказ о возможности создания NPC в Minecraft Bedrock.
В целом все три статьи направлены на то, чтобы проинформировать читателя о существовании отдельного справочного портала для тех, кто хочет разрабатывать аддоны для Minecraft Bedrock.
И поэтому третья статья из серии публикаций значительно интереснее — в ней рассказывается о GameTest Framework, добавленном в Minecraft Bedrock.
Что такое GameTest Framework
Несмотря на то, что статья на сайте Minecraft преподносит GameTest Framework как нечто новое, сам фреймворк был интегрирован в Minecraft ещё в феврале 2021 г. в бета-версии 1.16.210.60.
Чтобы запустить Minecraft с поддержкой GameTest Framework, необходимо включить его при создании мира. И читы тоже надо включить.
Например, тест на работу вагонетки можно запустить командой /gametest run minecarttest:turn.
Как создавать собственные тесты
Встроенные тесты интересны, но основное назначение фреймворка — это тестирование собственных разработок. И тут уже одной командой не обойтись.
Нужно создавать собственный тестовый аддон, который включает в себя структуры и тестирующие скрипты.
Подробную инструкцию с примерами можно найти здесь.
Introduction to the GameTest Framework
GameTest Framework is a new toolset available to creators to build and test any new content created by you. Within the world of Minecraft: Bedrock Edition, you can express infinite forms of gameplay and variability in your content. With all these creative possibilities, sometimes you may need additional tools to help validate that your experiences are running just as you expect it, and assist you as you customize aspects of the broader Minecraft environment.
What happens if you change the behavior of Villagers? Or introduce a new Mob? Small changes can have unexpectedly big impacts that can be really hard to anticipate. With the GameTest Framework — a system for establishing sets of tests — you can track and repeat to ensure everything works the way you intend.
With these tests, you can express and document your expectations for how things should work — both for your content and games, and for the Minecraft world. You’ll be able to save time by using GameTests to take the place of repeatedly needing to manually play through conditions just to validate that all is working as expected.
Submitting and using GameTests can be a great way to establish and communicate the expected behavior you are looking for. As you build more complex worlds and adventures, use the GameTest Framework as a tool to validate facets of your content.
Requirements
To get started, you’ll want to begin with understanding how a behavior pack works within Minecraft. To read more about creating behavior packs, see this topic:
What’s a GameTest?
A GameTest is a miniature environment along with a set of starting conditions, such as a set of mobs or items. After that environment plays out in the Minecraft world for a period of time, a GameTest has conditional code that evaluates whether expected conditions were met. If a test passes, you will receive confirmation that everything is working as expected. When a test fails, you can observe and diagnose why it may have failed.
Let’s examine a potential use case for a GameTest. Let’s say that we want to validate that a minecart can make its way around curves and over a complex track when Redstone triggers it. We can build a GameTest for this case by building out a track, placing a minecart at the start of the track, and then power the track with a block of Redstone. We can then validate that the minecart reaches the end of its track within a reasonable time-frame. Minecraft includes a growing set of GameTests that test various basic situations in the Minecraft world. However, you can build your own GameTests to validate any changes you introduce.
Running tests within game
To run tests within a game, you’ll want to create a new world or start with a copy of your existing adventure and experience.
Within this GameTest world, you’ll want to ensure that cheats are enabled and that the GameTest Framework experiment is turned on. If you’ve created GameTest Framework tests within behavior packs, you’ll want to add those behavior packs in your world.
You’ll also likely want to specify some additional changes in your environment:
- Selecting a Creative game mode
- Selecting a Flat world
- You will want to retain Normal difficulty (mobs work differently compared to Peaceful worlds)
Once the world is loaded, use the /gametest command to run tests. Minecraft includes a growing number of GameTests for various situations, testing out the behaviors of Mobs, Villagers, Redstone, and more. You can see some of these tests as you work in the command line.
Note that Minecraft tests place structures in your environment, sitting on top of what may already exist. Don’t run GameTest Framework in the middle of your beautiful creations if you haven’t made a backup or copy first!
To run a specific test, use /gametest run : , like:
/gametest run minecarttests:turn

You will see the test run, and if the test completes successfully, you will see a «passed» completion message.

To run the default set of tests, use /gametest runset .
What’s Next?
Building sets of GameTests requires building out your GameTests via a behavior pack, and writing some simple JavaScript code. When building out your own tests, you will likely want to start a new test behavior pack that is just focused on adding additional GameTests.
To build and run your own GameTests, you must use the latest Beta versions of Minecraft (version 1.16.230+). See Minecraft Betas for more information.
Скачать карту Gametest Framework на Майнкрафт ПЕ
Скачайте карту Gametest Framework на Minecraft PE для устройств на ОС Андроид: найдите все зелёные маяки.
Отличные соревнования
Это шаблон мира, который можно будет использовать не только для одиночной игры, но и для игры по сети вместе с друзьями. Также на карте вы сможете встретить множество различных маяков. Вам нужно будет найти все зелёные.

Конечно, лучше всего играть вместе с друзьями, чтобы соревноваться. В таком случае вы сможете узнать, кто из вас быстрее думает и бегает. При этом многое будет зависеть и от удачи. К сожалению, данная карта не обновляется, это просто шаблон.
Но в дальнейшем есть вероятность, что автор добавит специальные режимы, в которых данная карта будет генерироваться случайным образом.
Для того чтобы включить данную карту, нужно будет сначала сделать то же самое в настройках. Рядом с каждым маяком будет специальная кнопка, которую нужно будет нажать.
Маленькие островки
Ещё отдельную изюминку данной игре придаёт тот факт, что все маяки будут располагаться на маленьких островках. Вам нужно будет прыгать с одного на другой. При этом ломать маяки не стоит. В таком случае есть вероятность того, что игра просто вылетит с ошибкой.
Ещё стоит отдельно заметить, что по умолчанию там будет стоять ночное время суток. Это, во-первых, делает данную карту более красивой. Во-вторых, так вам будет намного проще находить маяки, так как в темноте свечение каждого из них будет заметнее. Также проще будет отличать зелёные от красных.
Скачать карту Gametest Framework на Minecraft PE
| Версия MCPE | Файл |
|---|---|
| 1.16.100 — 1.16.230 | СКАЧАТЬ |
Командные консоли/gametest
Эти материалы планируется добавить в будущем обновлении, но на данный момент их можно протестировать с включённой опцией «Включить Gametest Framework».
/gametest — это набор инструментов, предназначенных для автоматического тестирования изменённого игрового кода с использованием различных структур.
gametest runthis Запускает или перезапускает ближайший структурный блок с игровыми тестами, находящийся в пределах 15 блоков. gametest run [rotationSteps: int] Запускает определённые игровые тесты. gametest runset [tagTag: GameTestTag] [rotationSteps: int] Создаёт и запускает все игровые тесты. gametest clearall [radius: int] Очищает игровые тесты в пределах определённого радиуса. gametest pos Находит ближайший структурный блок с игровыми тестами, находящийся в пределах 200 блоков. gametest create [width: int] [height: int] [depth: int] Создаёт игровой тест. [ уточнить ] gametest runthese Запускает игровые тесты в радиусе 200 блоков.
Название определённого игрового теста.
Задаёт радиус точки выполнения (например, игрок, командный блок).