Вход

Регистрация

Восстановление доступа

PackTest

PackTest

|

Misode

Позволяет создавать и запускать автоматизированные тесты для дата-паков в виде функций .mcfunction.

Скачать

Версия игры

1.21.10

1.21.11

1.21.5

1.21.6

1.21.7

1.21.8

1.21.9

26.1

26.1.1

26.1.2

26.2

26.3

Главный файл

Ссылка на сайт

modrinth.com

Разработчик

Лицензия

MIT

Скачиваний:

0

Обновлено:

09.11.2026

ID:

Похожие моды20

Связанные материалы5

PackTest предоставляет инструменты для написания игровых тестов непосредственно в дата-паках, используя файлы .mcfunction.

PackTest позволяет создавать игровые тесты внутри дата-паков. Тесты представляют собой файлы *.mcfunction, расположенные в папке test, и предназначены для проверки кастомных дата-паков.

PackTest — изображение проекта

Пример базового теста (файл data/example/test/foo.mcfunction), который призывает стойку для брони и проверяет условия:

#> Summons an armor stand and finds it
# @template example:small_platform
# @optional

summon armor_stand ~1.5 ~1 ~1.5
execute positioned ~1.5 ~1 ~1.5 run assert entity @e[type=armor_stand,dx=0]

assert predicate example:test

setblock ~1 ~1 ~1 grass_block
execute if block ~1 ~1 ~1 stone run succeed

fail "Oh no"

Тестовые функции могут быть асинхронными благодаря использованию ключевого слова await:

setblock ~ ~ ~ stone
summon item ~ ~6 ~

await entity @e[type=item,distance=..2]

await delay 1s

data merge entity @e[type=item,distance=..2,limit=1] {Motion: [0.0, 0.01, 0.0]}

Тесты можно запускать непосредственно в игре с помощью команды /test:

  • test runall — запуск всех тестов
  • test runall — запуск всех тестов из указанного пространства имен
  • test run — запуск конкретного теста по имени
  • test runfailed — повторный запуск всех ранее упавших тестов
  • test runthis — запуск ближайшего теста
  • test runthese — запуск всех тестов в радиусе 200 блоков

Для автоматизации (например, в CI-средах) можно использовать флаг -Dpacktest.auto. При его установке сервер автоматически запустит тесты и завершит процесс с кодом выхода, равным количеству ошибок. Флаг -Dpacktest.auto.annotations позволяет выводить аннотации GitHub для всех ошибок тестов и проблем с загрузкой ресурсов.

Для управления логикой тестов используются специальные команды:

  • fail — завершает тест с ошибкой и возвращает из функции
  • succeed — завершает текущий тест успешно и возвращает из функции
  • assert — если условие не выполняется, тест считается проваленным
  • assert not — если условие выполняется, тест считается проваленным
  • await — повторяет попытку выполнения условия каждый тик до успеха или истечения времени
  • await delay — ожидание указанного времени
  • block — проверка блока по координатам
  • data ... — проверка NBT-данных (синтаксис как в execute if score)
  • entity — проверка соответствия селектора сущностям
  • predicate — проверка предиката из дата-пака
  • score ... — проверка очков (синтаксис как в execute if score)
  • chat [ ] — проверка соответствия сообщения в чате регулярному выражению

С помощью команды /dummy можно создавать фиктивных игроков для имитации действий:

  • dummy spawn — создание манекена
  • dummy respawn — возрождение манекена
  • dummy leave — выход манекена с сервера
  • dummy jump — прыжок
  • dummy sneak [true|false] — включение/выключение приседания
  • dummy sprint [true|false] — включение/выключение бега
  • dummy drop [all] — сброс предмета из основной руки
  • dummy swap — смена предметов в руках
  • dummy selectslot — выбор слота в хотбаре
  • dummy use item — использование предмета в руке
  • dummy use block [ ] — использование предмета на блоке
  • dummy use entity — использование предмета на сущности
  • dummy attack — атака сущности
  • dummy mine — добыча блока

Настройки тестов задаются через специальные комментарии в начале функции:

  • @template — путь к шаблону структуры (по умолчанию пустая структура 1x1x1)
  • @timeout — время ожидания в тиках (по умолчанию 100)
  • @optional — разрешить тесту завершиться с ошибкой (по умолчанию false)
  • @dummy — автоматическое создание манекена в начале теста
  • @batch — имя группы тестов
  • @beforebatch — команда перед запуском группы
  • @afterbatch — команда после завершения группы

Требования проверенного файла

  • По манифесту для файла packtest-2.8.0.jar (Minecraft 26.3; Fabric) требуется fabric-api. Встроенных JAR-библиотек в проверенном файле нет.

Войдите, чтобы поставить оценку и оставить отзыв.

Отзывов пока нет — будьте первым!
Канал Файл Игра Модлоадер Язык Скачиваний Загружен
Релиз packtest-2.8.0.jar 155.2 KB 26.3 Fabric — 0 17.10.2026
Релиз packtest-2.6.2.jar 113.4 KB 26.2 Fabric — 0 10.09.2026
Релиз packtest-2.5.0.jar 112.8 KB 26.1.2, 26.1.1, 26.1 Fabric — 0 04.04.2026
Релиз packtest-2.4-mc1.21.11.jar 113.1 KB 1.21.11 Fabric — 0 04.02.2026
Релиз packtest-2.3-mc1.21.10.jar 114.4 KB 1.21.10, 1.21.9 Fabric — 0 05.12.2025
Релиз packtest-2.2-mc1.21.7.jar 117.8 KB 1.21.8, 1.21.7, 1.21.6 Fabric — 0 01.07.2025
Релиз packtest-2.1.1-mc1.21.5.jar 118 KB 1.21.5 Fabric — 0 12.06.2025

Скачать

Версия игры

1.21.10

1.21.11

1.21.5

1.21.6

1.21.7

1.21.8

1.21.9

26.1

26.1.1

26.1.2

26.2

26.3

Главный файл

Ссылка на сайт

modrinth.com

Разработчик

Лицензия

MIT

Скачиваний:

0

Обновлено:

09.11.2026

ID:

Похожие моды20

Связанные материалы5