Эгида
Saudade StudioEightySeven GroupTelegram-канал
  • 📌Эгида — База Знаний Minecraft
  • Модификации
    • 🧱Создание контента
      • 📦CraftTweaker
        • 📦Minecraft 1.12.2
          • Начало работы
          • Комментарии
          • Применение нескольких скриптов
          • Элементы крафтов
          • Команды
          • Графический редактор рецептов
          • Приоритеты и переменные
        • 📦Minecraft 1.16.5
          • Начало работы
          • Комментарии
          • Применение нескольких скриптов
          • Команды
          • Приоритеты
          • Менеджер рецептов
          • Удаление рецептов
          • Рецепты для верстака
          • Рецепты для др. блоков
          • Массивы и циклы
          • Работа с тэгами
          • Армированные мобы
          • Эффекты экипировки
          • Стартовые предметы
        • 📦Minecraft 1.19.2
          • Секвенция
          • Реплейсер
          • Классы
          • ООП
          • Интерфейсы
      • 🔗KubeJS
        • Начало работы
        • Ивенты
        • Ваш первый скрипт
        • Удаление рецепта
        • Форменные рецепты
        • Создание предмета
        • Кастомный тир
        • Использование предмета
        • Взаимодействие с миром
        • Смена названия окна и иконки игры
        • Перевод модификаций
      • 📖Interactio
        • Предмет из жидкости
        • Жидкость из жидкости
        • Создание взрывом
        • Удар молнии
        • Падение наковальни
      • 📈Game Stages
        • ZenStages
        • Gamestage Books
        • Recipe Stages
        • Dimension Stages
        • Item Stages
        • MultiBlock Stages
        • TinkerStages
        • Ore Stage Reborn
      • 🏗️Modular Machinery
        • Начало работы
        • Компоненты для создания
        • Создание конструкции
        • Настройка файла
        • Создание крафта
        • Конфигурация
      • 💿SDM CraftTweaker Plus
        • Ивенты
        • Глобальные функции
        • Модули
      • 📚Patchouli
        • Начало работы
        • Создание книги
        • Содержимое книги
        • Стартовая книга
        • Мультиблочные структуры
      • 👀Revelationary
        • Скрытие контента
        • Наименования объектов
    • 📝Квесты
      • 📗FTB Quests
        • Примечания
        • Начало работы
        • Общие настройки
        • Редактирование файла
        • Таблицы вознаграждений
        • Создание лут-коробки
        • Дизайн квестов
        • Главы и группы
        • Создание и настройка квестов
        • Настройка квестов
        • Зависимости квестов
        • Описания квестов
        • Награды
        • Магазин
        • Особые возможности
      • 📘Better Questing
        • Начало работы
        • Квесты
        • Конструктор квестов
        • Редактор квестов
        • Награды
        • Книга Квестов
        • Лутбоксы
        • Сохранение квестов
    • 🖼️Главное меню
      • 🏔️Custom Main Menu
        • Начало работы
        • Изображения
        • Кнопки
        • Лейблы
        • Заставка и панорама
        • Текст
      • 🌋FancyMenu
        • Начало работы
        • Настройки
          • FM Settings
          • Current Menu
          • Universal Layouts
          • Setup
          • Tools
          • Miscellaneous
          • Кнопки - иконки
          • Дополнительные разделы
        • Создание меню
          • Начало создания
          • Оформление фона
            • Вставка изображения в фон
            • Вставка анимации в фон
            • Вставка слайд-шоу в фон
            • Вставка панорамы в фон
          • Смена названия окна
          • Замена иконки окна
          • Макет кнопки
          • Действия кнопки
          • Вставка изображения
          • Создание и вставка текста в макет
      • 🗻PackMenu
        • Начало работы
        • Первые шаги
        • Кнопки
        • Действия кнопки
        • Языковые ключи
        • Текстуры
        • Файл конфигурации
    • 🏕️Атмосфера
      • 🎵Ambience Music
        • Начало работы
        • Настройка конфигурации
        • Обзор событый/тегов/биомов
        • Добавление музыки
    • 📀Разное
      • 📝Tips
        • Начало работы
        • Название подсказки
        • Изменение содержимого
        • Сохранение файла
      • 🎁Daily Rewards
        • Начало работы
        • Игровые команды
        • Настройка наград
        • Вики по моду
        • Пример оформления
      • 🗨️Simple Discord RPC
        • Начало работы
        • Создание приложения
        • Настройка статусов
        • Добавление иконок
        • Описания и иконки
        • Пример оформления
      • 💡InGameTips
        • Структура файлов
        • Создание подсказок
        • Пример оформления
      • 🌴Passive Skill Tree
        • Предисловие
        • Начало
        • Первый скилл
        • Настройка эффекта скилла
        • Условия
        • Настройки скилла
        • Теги
        • Соединения
  • Статьи
    • 🔁Перевод модификаций
      • Стандартный перевод
      • Перевод с помощью Recaf
        • Дисклеймер
        • Установка JRE/JDK
        • Установка Recaf
        • Изменение модификаций
        • Заключение
      • Переводы в структурах
        • Предисловие
        • Перевод блоках или рамках
        • Перевод в сундуках
    • 🥽DataPack для крафтов
    • 🚧Оптимизация сборки
    • 🌺Работа с шейдерами
  • Разработчики
    • 👥Об авторах
      • Журналисты
      • Наш сайт
      • ВКонтакте
      • Discord
      • YouTube
Powered by GitBook
On this page
  • Вступление
  • Что такое дата-пак?
  • Подготовка
  • Начало работы
  • Элементы кода
  • Создание крафтов
  • Крафт в верстаке
  • Бесформенный крафт
  • Крафт в печи
  • Рецепты создания в модах
  • Крафт на механических сборщиках
  • That’s all, folks!
  1. Статьи

DataPack для крафтов

Вступление

Есть несколько способов добавлять собственные рецепты: через CraftTweaker, KubeJS или через дата-паки.

Дата-паки — это простой, около ванильный и вместе с тем универсальный способ добавлять, изменять и удалять рецепты для интерфейсов самого Майнкрафта, вроде верстака или печи, и для интерфейсов из модов.

Что такое дата-пак?

Для начала стоит узнать, что же такое дата-пак и как им пользоваться. Некоторые представляют в своей голове, что дата-паки - это нечто вроде модов или даже командных блоков, хотя это в корне неверная точка зрения. Дата-пак, как понятно из названия - это «пак даты» - набор данных, вроде функций, крафтов, структур, таблиц лута, достижений и тегов, которые содержатся в самих файлах Майнкрафта или мода и которые дата-пак может изменять, а иногда добавлять свои без влияния на код. В отличии от модов, дата-паки «вшиты» в сам Майнкрафт, а потому абсолютно ванильны и не способны конфликтовать с модами. Так же это означает, что дата-паки совместимы с любыми модами, ведь сами моды используют тот же код, что и Майнкрафт.

Несмотря на это, у дата-паков есть ряд неудобств или, скорее, недостатков, из-за чего они не так используемы по сравнению с тем же KubeJS. Во-первых, дата-паки, в отличие от модов, загружаются в папку мира, а не в папку игры, а потому они не работают автоматически во всех мирах. К счастью, при помощи таких модов, как Paxi и Global Data and Resource Packs можно применять дата-паки ко всем мирам проекта. Сами дата-паки на версиях с 1.12.2 и ниже не работают, ведь такой функции на этих версиях просто не существует. Поэтому выбор использовать их или нет зависит не только от Вас, но и от версии Вашей сборки

Подготовка

Работа с дата-паком начинается не с его создания, а с подготовки. Необходимо знать некоторые вещи, которые понадобятся в процессе пользования. Во-первых, это функции самого Майнкрафта. С помощью команды /reload можно перезагрузить наборы данных, благодаря чему получится смотреть работоспособность дата-пака не выходя из мира. Также комбинацией клавиш F3+H можно включить «расширенные подсказки», благодаря которым при наведении на предмет можно увидеть его идентификатор. Он выглядит как: (имя мода):(имя предмета) и расположен под названием самого предмета. К примеру, у печки идентификатор (айди) выглядит как minecraft:furnace

Также перед началом создания или редактирования крафтов стоит установить специальные программы для более удобного кодинга. Конечно, можно писать код и в «Блокноте», но такие программы, как «Visual Studio» или «Notepad++» благодаря своему автоматическому разбитию кода на части гораздо более удобны и практичны в такого рода деятельности.

Начало работы

В ванильном Майнкрафте дата-пак должен располагаться по директории .minecraft/saves/(мир)/datapacks, если же Вы используете моды вроде Paxi, то директория для дата-пака будет указана на странице мода. Сначала создаётся папка или архив с именем, которое Вы хотите дать дата-паку. В этой папке должны располагаться папка с именем «data» и текстовый документ с названием pack и расширением .mcmeta. Если у Вас не показываются расширения у файлов, то в проводнике, во вкладке «Вид», поставьте галочку у строки «Расширенные имена файлов» и переименуйте расширение файла. Кроме прочего, Вы можете добавить иконку для дата-пака, для этого положите внутрь папки изображение с именем pack.

При этом рекомендуется делать изображение с квадратным соотношением сторон и формата не больше, чем 512х512 px.

Текстовый документ pack.mcmeta должен содержать следующее содержание:

{
  "pack": {
    "pack_format": 9,
    "description": "A funny stuff"
  }
}

Девятка обозначает число, которое относится к этой версии. К примеру, число 9 подходит к версии 1.19.2. Если ввести неверное число, то Майнкрафт будет предупреждать о возможных ошибках. Текст в графе description отвечает за описание дата-пака.

После создания первых файлов в data следует создать папку с названием minecraft или же добавить папки с названиями модов, если рецепты будут использовать типы крафтов из других модов. Здесь создаётся папка recipes, в которой уже и будут находиться файлы с крафтами.

Элементы кода

Перед началом работы с крафтами стоит научиться в целом пользоваться кодом. Не зная, что за что отвечает, работать с крафтами будет весьма трудно. От крафта к крафту общая структура меняется, но части имеют всё те же функции. Моды для своих рецептов могут добавлять свои собственные части, но имея знания английского или переводчик под рукой можно понять их функции.

⦁ type: Тип рецепта, индивидуален для каждого крафтового процесса. К примеру, «smelting» используется для рецептов печи.
⦁ group: Идентификатор, используемый для группировки в книге рецептов.
⦁ pattern: Шаблон для форменного создания. Такой тип, например, используется в верстаке. Каждая строка в сетке верстака — строка в этом шаблоне, содержащая 3 или менее ключа. У всех строк должно быть одинаковое количество ключей. Чтобы указать ячейку без предмета необходимо использовать пробел.
    ⦁ key: Все ключи, используемые в шаблоне.
    ⦁ (ключ): Символ, определяющий предмет.
        ⦁ item: Идентификатор предмета.
        ⦁ tag: Тег предмета.
⦁ ingredient: Ингредиент. Задействуется в рецептах с одним используемым предметом, в тех же крафтах внутри печи.
    ⦁ item: Идентификатор предмета.
    ⦁ tag: Тег предмета.
⦁ ingredients: Список ингредиентов, используемых для бесформенных крафтов.
    ⦁ item: Идентификатор предмета.
    ⦁ tag: Тег предмета.
⦁ result: Продукт рецепта – то, что получают в итоге.
    ⦁ count: Количество предметов.
    ⦁ item: Идентификатор предмета.
⦁ experience: Выдаваемый после процесса опыта.
⦁ cookingtime: Время создания продукта. Указывается в тиках, 1 тик-0.05 секунды.

Создание крафтов

После того, как все нюансы были учтены, можно приступать к созданию крафтов. Сам текстовый документ, который должен содержать в себе файл может иметь любое название из английских символов, однако расширение должно быть единым - .json. Далее, открыв этот файл с помощью текстовой программы, внутри Вам нужно будет поместить код. Конечно, в один и тот же файл можно поместить все нужные крафты, однако гораздо удобнее каждый крафт помещать в отдельный файл, чтобы не запутаться.

А теперь вопрос, который волнует многих. Да, конечно можно писать все крафты с нуля, но как я упоминал в начале, дата-пак не добавляет новые способы создания крафтов, а напрямую использует способы майнкрафта. Это означает, что можно использовать уже существующие крафты как шаблоны для создания своих. В случае, если нужно не создать новый, а изменить уже существующий крафт, надо скопировать не только код, но и файл целиком, и уже его редактировать. Если же Ваша цель - удалить крафт, необходимо просто удалить код из скопированного файла, оставив лишь его имя.

Все крафты ванильного майнкрафта расположены в JAR-файле, который находится по директории .minecraft/versions/(версия Майнкрафта). Открыв этот файл через любой архиватор, проходим по той же директории, что и в датапаке и ищем нужный нам крафт (они все подписаны в зависимости от самого крафта внутри). Далее копируем его в папку дата-пака, переименовываем, редактируем и получаем нужный нам рецепт создания. Для крафтов из модов такая же схема, однако нужно открыть JAR-файл самого мода, что расположен по директории .minecraft/mods.

Крафт в верстаке

Начнём с крафта в верстаке. Добавим рецепт создания трезубцу из осколков призмарина, кристалла и палки. Сначала находим подходящий шаблон, к примеру самый первый крафт в списке - акациевая лодка. Копируем в датапак, переименовываем и открываем.

Здесь мы увидим крафт по принципу паттерна. Так как у нас три разных предмета в крафте, то изменяем паттерн на нужный нам. Это может быть сложно и непонятно, но просто представьте, что верстак - это три строчки с тремя символами, пробел - это пустота, а символы - обозначения предметов.

{
  "type": "minecraft:crafting_shaped",
  "key": {
    "A": {
      "item": "minecraft:prismarine_shard"
    },
    "B": {
      "item": "minecraft:stick"
    },
    "C": {
      "item": "minecraft:prismarine_crystals"
    }
  },
  "pattern": [
    " AA",
    " BA",
    "C  "
  ],
  "result": {
	  "item": "minecraft:trident"
  }
}

Получив нужный паттерн, мы приписываем каждый символ к предмету. Символ А к осколку призмарина, В - к палке, а С - к кристаллу призмарина.

Теперь доводим крафт до ума: меняем результат на трезубец, удаляем «группу», ведь она нам не нужна, а также не забываем расставить запятые и прочие знаки где это необходимо.

Сохраняем этот крафт, перезагружаем мир и видим крафт трезубца. Значит, всё получилось!

Бесформенный крафт

Теперь создадим бесформенный крафт. К примеру, сделаем так, чтобы хлеб делался бесформенно, просто из трёх пшена в любом месте. Сначала ищем 2 рецепта - крафт хлеба и любой бесформенный крафт, в моём случае за основу взято создание коричневой шерсти. Копируем оба, переименовываем крафт шерсти. В крафте хлеба удаляем весь код из основных частей, он будет выглядеть примерно так:

{
  "type": "minecraft:crafting_shaped",
  "key": {}
  },
  "pattern": [],
  "result": {}
}

Дальше работаем только с раннее взятым рецептом шерсти.

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

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": [
    {
      "item": "minecraft:wheet"
    },
    {
      "item": "minecraft:wheet"
    }
  ],
  "result": {
    "item": "minecraft:bread"
  }
}

Оба крафта загружаем в дата-пак, перезагружаем мир и смотрим.

Вот у нас и вышел крафт хлеба, в котором положение пшена не важно. Теперь его даже в инвентаре создать можно

Крафт в печи

Добавим крафт, требующий обжарки. К примеру, пережаривание гнилой плоти в кожу. Берём любой крафт, например, переплавка железа в печи. Копируем, переименовываем и открываем:

Начинаем редактировать. Удаляем группу, меняем ингредиент на гнилую плоть, результат на кожу, также можем увеличить время приготовления и количество получаемого за пережарку опыта:

{
  "type": "minecraft:smelting",
  "cookingtime": 300,
  "experience": 1.5,
  "ingredient": {
    "item": "minecraft:rotten_flesh"
  },
  "result": "minecraft:leather"
}

Получившийся крафт сохраняем и вносим в дата-пак:

После перезагрузки и видим наш новый крафт. Значит, ошибок нет.

Рецепты создания в модах

Возьмём за пример создания собственного рецепта в Руническом Алтаре из мода Botania.

Из-за того, что это модовый крафт, действия будут немного отличаться. Открываем мод, вытаскиваем любой крафт на руническом алтаре, например, крафт руны лета, переименовываем и открываем:

Предположим, что мы хотим добавить крафт духу Гайи из звезды Незера, 4 стекла и 4 маналмазов. Меняем ингредиенты на соответствующие, вставляем теги на любые стёкла. Также изменяем количество маны, ставим в результат дух Гайи:

{
  "type": "botania:runic_altar",
  "ingredients": [
    {
      "item": "minecraft:nether_star"
    },
    {
      "item": "botania:mana_diamond"
    },
    {
      "tag": "forge:glass"
    },    
	{
      "item": "botania:mana_diamond"
    },
    {
      "tag": "forge:glass"
    },    
	{
      "item": "botania:mana_diamond"
    },
    {
      "tag": "forge:glass"
    },
    {
      "item": "botania:mana_diamond"
    },    
	{
      "tag": "forge:glass"
    }

  ],
  "mana": 11111,
  "output": {
    "item": "botania:life_essence"
  }
}

Получившийся крафт сохраняем и переносим в дата-пак, после перезапускаем мир.

Наш первый модовый рецепт создания работает!

Крафт на механических сборщиках

В качестве второго модового рецепта обратимся к Механическим сборщикам из Create. Предположим, что мы хотим добавить крафт яйцу дракона. Открываем мод, вытаскиваем шаблон рецепта создания колёс дробления, переименовываем и открываем:

В окне изменяем паттерн. Он будет в форме яйца, первый слой из обсидиана, второй из дыхания дракона, третий из звёзд Незера, а по центру яйцо.

Далее придаём каждому ключу свой предмет, меняем результат на яйцо дракона и сохраняем.

{
  "type": "create:mechanical_crafting",
  "acceptMirrored": false,
  "key": {
    "A": {
      "item": "minecraft:obsidian"
    },
    "B": {
      "item": "minecraft:dragon_breath"
    },
    "C": {
      "item": "minecraft:nether_star"
    },
    "D": {
      "item": "minecraft:egg"
    }
  },
  "pattern": [
    "  AAA  ",
    " ABBBA ",
    " ABCBA ",
    "ABCDCBA",
    "ABBCBBA",
    " AAAAA "
  ],
  "result": {
    "item": "minecraft:dragon_egg"
  }
}

Этот крафт кидаем в папку дата-пака, прописываем /reload и смотрим на результат:

That’s all, folks!

Last updated 6 months ago

🥽