Датапаки в Horizon ставятся так же, как в ванилле, но работают пока частично: функции, их теги, предикаты и модификаторы предметов — да, а свои рецепты, лут, достижения и генерация мира из датапака — ещё нет. Ниже — что именно поддерживается, как поставить пак и чем заменить то, что не работает.
Как установить датапак
- Откройте папку мира:
saves/<мир>/datapacksв папке игры Horizon (%APPDATA%\horizonна Windows,~/Library/Application Support/horizonна macOS,~/.local/share/horizonна Linux). - Положите туда пак — папкой или
.zip, внутри должен бытьpack.mcmeta. - В игре выполните
/reloadили перезайдите в мир. Список включённых паков сохраняется вместе с миром; управлять им можно командой/datapack.
При создании нового мира паки можно добавить и через кнопку «Пакеты данных», как в ванилле.
Что работает
- Функции
.mcfunction, включая макросы и перенос строк. - Теги функций, например
minecraft:loadиminecraft:tick— значит, паки, которые что-то делают при загрузке или каждый тик, работают. - Предикаты и модификаторы предметов.
- Команды
/function,/datapackи/reload.
Всё это — в одиночной игре и в мирах, открытых для LAN. Ванильные данные (рецепты, лут, генерация) всегда включены и совпадают с ванильными: каждая команда работает как в ванилле, а рецепты, лут и генерация сверяются с настоящей игрой.
Что пока не работает
Свои рецепты, таблицы лута, достижения и генерация мира из датапаков пока не применяются: Horizon берёт их из подготовленных ванильных данных и из контент-модов. Если ваш датапак добавляет крафты или меняет дроп — он загрузится, но эта часть не сработает.
Чем заменить
Всё, чего не хватает датапакам, умеют контент-моды Horizon (.hmod): блоки, предметы, рецепты, таблицы лута, теги, модели, текстуры, структуры — из файлов данных, без кода. Это и есть официальный путь сейчас. О том, как такие моды делаются, — в статье «Как сделать мод для Horizon», о том, как ставятся, — в гайде по модам.
А ещё лаунчер умеет переносить «данные» Java-модов и сборок — блоки, предметы, рецепты, лут, генерацию — при импорте модпака; по сути он делает из них контент-моды Horizon.
Как проверить, что пак работает
После /reload выполните /datapack list — пак должен быть в списке включённых. Если пак что-то делает при загрузке (например, пишет приветствие в чат или создаёт табло), это сразу будет видно. Если пак добавляет рецепты, проверьте их в книге рецептов: их там не окажется — это и есть ограничение Horizon, а не ошибка установки. Функции, которые работают по тегу tick, легко проверить простой командой /function с именем функции из пака.
Если пак выдаёт ошибки при загрузке, они пишутся в logs/latest.log папки игры, как и в ванилле. Различие поведения функций между Horizon и ванильной 26.3 — это баг, о котором стоит сообщить разработчикам: команды в Horizon должны работать ровно как в ванилле.
Где искать датапаки
Реестр horizon-mods только начал принимать датапаки — как только они там появятся, они будут в нашем разделе датапаков. Пока что подойдут паки «на функциях» с других сайтов: мини-игры, таймеры, команды, всё, что работает через load и tick. Если пак нужен для рецептов или генерации — подождите или поищите аналог среди модов.
Источники
- Mods and data packs — Data packs — на английском
- Content mods — документация
- Make a mod — content vs native — на английском