Все статьи
7 августа 2026 г.·3 мин чтения

Датапак для Minecraft своими руками: структура файлов и первый рецепт

Как собрать датапак без модов и Java: что писать в pack.mcmeta, как устроена папка data, куда класть рецепты и таблицы лута и почему после правки нужен /reload.

Половина идей, ради которых люди лезут в моддинг, не требует ни Java, ни Forge. Новые рецепты, другой лут в сундуках, свои функции и события — всё это делается датапаком, то есть набором текстовых файлов.

Датапак работает в ванильной игре, не требует установки чего-либо у игроков и правится блокнотом.

Где он лежит

Датапак кладётся внутрь конкретного мира:

.minecraft/saves/<имя мира>/datapacks/<имя датапака>/

Отсюда важное следствие: датапак привязан к миру, а не к игре. Хочешь использовать в другом мире — копируешь папку.

pack.mcmeta

Единственный обязательный файл. Лежит в корне датапака и описывает его для игры:

{
  "pack": {
    "description": "Мой первый датапак",
    "min_format": [88, 0],
    "max_format": [88, 0]
  }
}

min_format и max_format задают диапазон версий формата, с которыми пак совместим. Числа зависят от версии игры и меняются от релиза к релизу — это первое, что стоит проверить, если пак не подхватывается.

Формат объявления версий менялся: в старых паках стоит одиночное поле pack_format, и гайды в интернете в основном показывают именно его. Если копируешь пример из статьи трёхлетней давности, а игра пак не видит, дело почти наверняка здесь.

Структура data

Всё остальное живёт в папке data, разложенной по пространствам имён:

data/<пространство имён>/<реестр>/<путь>.json

Пространство имён — обычно имя твоего пака, например mypack. Оно нужно, чтобы твои файлы не конфликтовали с ванильными и с чужими паками.

Реестр — то, что ты описываешь. Основные:

  • recipe/ — рецепты крафта;
  • loot_table/ — таблицы лута;
  • function/ — функции с командами;
  • advancement/ — достижения;
  • tags/ — теги, объединяющие предметы и блоки в группы.

Обрати внимание на единственное число в именах папок: recipe, а не recipes. Это тоже менялось между версиями, и старые гайды здесь врут.

Первый рецепт

Самый быстрый способ убедиться, что всё работает, — сделать рецепт. Файл data/mypack/recipe/diamond_from_coal.json:

{
  "type": "minecraft:crafting_shaped",
  "pattern": [
    "CCC",
    "CCC",
    "CCC"
  ],
  "key": {
    "C": "minecraft:coal_block"
  },
  "result": {
    "id": "minecraft:diamond",
    "count": 1
  }
}

Девять блоков угля превращаются в алмаз. Баланс сомнительный, зато результат проверяется за десять секунд.

Как применить изменения

После правки файлов не нужно перезапускать игру. Достаточно команды:

/reload

Она перечитывает рецепты, таблицы лута, функции, достижения, предикаты и теги.

Проверить, что пак вообще подхватился, можно командой /datapack list. Если твоего пака нет в списке включённых — ищи ошибку в pack.mcmeta или в структуре папок. Если пак есть, а рецепт не работает — ошибка внутри JSON.

Где это становится неудобным

Один рецепт — приятно. Пятьдесят — уже работа.

JSON не прощает мелочей: лишняя запятая, кавычка не того типа, опечатка в идентификаторе предмета. Игра при этом молча не загрузит файл, а иногда и весь пак. Искать опечатку в пятидесяти файлах глазами — занятие на вечер.

Плюс однотипность. «Сделай такие же рецепты для всех видов дерева» — это восемь почти одинаковых файлов, которые отличаются одним словом. Копировать руками скучно и потому легко ошибиться.

Ровно здесь агент с доступом к файлам даёт выигрыш: он генерирует набор файлов по образцу, проверяет валидность JSON пачкой и находит опечатки в идентификаторах, не открывая каждый файл. Дока работает с папкой датапака напрямую и может держать модель локально, а не пересылать содержимое в облако — скачать можно бесплатно.

Что можно, а что нельзя

Стоит понимать границу, чтобы не потратить неделю зря.

Датапаком делается: рецепты, лут, торговля жителей, достижения, функции с командами, теги, генерация структур в мире, кастомные измерения.

Датапаком не делается: новые предметы и блоки со своим поведением, новые механики, свой интерфейс, всё, что требует кода. Это территория модов на Java.

Практический совет: начни с датапака в любом случае. Если упрёшься в потолок — переходи на мод, но чаще оказывается, что упираться не пришлось.

Если датапак делается для сервера, он кладётся в папку мира на сервере, а не у игроков. Про настройку самого сервера — в статье про Forge-сервер с модами.