JSON Recipe Manager: гибкое управление крафтами в Minecraft
В мире Minecraft крафт — основа выживания и прогресса. Но что делать, если стандартные рецепты кажутся скучными, а сервер или модпак требуют уникальных изменений? На помощь приходит мод JSON Recipe Manager. Он позволяет загружать рецепты из JSON-файлов, редактировать существующие и даже полностью заменять их — без единой строчки Java-кода. В этой статье разберём, как работает этот инструмент и почему он незаменим для создателей сборок.
Что такое JSON Recipe Manager?
JSON Recipe Manager — это мод для Minecraft, который считывает пользовательские рецепты из файлов формата JSON, размещённых в папке config/JSONRecipes. Он полностью совместим с ванильной системой рецептов, но при этом даёт гораздо больше свободы. Вы можете добавлять новые крафты, удалять нежелательные и даже задавать сложные условия с использованием констант.
Ключевые возможности
- Загрузка рецептов из JSON: мод сканирует папку config/JSONRecipes и применяет все найденные файлы с расширением .json.
- Поддержка ванильного формата: используются стандартные типы рецептов, такие как "forge:ore_shaped" или "minecraft:crafting_shaped".
- Файл констант: специальный файл _constants.json позволяет задать именованные ингредиенты, которые можно переиспользовать во всех остальных рецептах через ссылки вида "#MIXED".
- Удаление и замена рецептов: можно убрать стандартный крафт и сразу же добавить его изменённую версию — например, усложнить получение деревянного топора.
- Событийная замена: опция "when": "init" позволяет выполнить замену рецепта на этапе инициализации игры, что полезно для модпаков с конфликтующими крафтами.
Как это работает: разбор примеров
Рассмотрим структуру JSON-файлов на примерах из документации мода. Все файлы должны находиться в папке config/JSONRecipes. Если папки нет, создайте её вручную.
Файл констант _constants.json
Этот файл не создаёт рецептов, а определяет составные ингредиенты. Например, константа "MIXED" может объединять палку и факел:
[{ "name": "MIXED", "ingredient": [ { "type": "forge:ore_dict", "ore": "stickWood" }, { "item": "minecraft:torch" } ] }]
Теперь в любом рецепте можно использовать "#MIXED" — мод автоматически подставит нужные предметы.
Одиночный рецепт test_1.json
Простой файл с одним рецептом. Здесь мы создаём алмазную руду из девяти алмазов, расположенных крестом:
{ "type": "forge:ore_shaped", "group": "json.recipes", "result": { "item": "minecraft:diamond_ore" }, "pattern": [ "x x", " x ", "x x" ], "key": { "x": { "type": "forge:ore_dict", "ore": "gemDiamond" } } }
Множественные рецепты test_2.json
Если нужно добавить сразу несколько крафтов, используйте массив объектов. В примере ниже создаются угольная и железная руда с использованием константы "#MIXED":
[{ "type": "forge:ore_shaped", "group": "json.recipes", "result": { "item": "minecraft:coal_ore" }, "pattern": [ "x x", " y ", "x x" ], "key": { "x": { "item": "minecraft:coal", "data": 0 }, "y": { "item": "#MIXED" } } }, { "type": "forge:ore_shaped", "group": "json.recipes", "result": { "item": "minecraft:iron_ore" }, "pattern": [ "x x", " y ", "x x" ], "key": { "x": { "type": "forge:ore_dict", "ore": "ingotIron" }, "y": { "item": "#MIXED" } } }]
Удаление и замена рецепта test_3.json
Этот файл показывает, как избавиться от стандартного деревянного топора и заменить его новым вариантом, требующим больше палок:
{ "remove": [ { "item": "minecraft:wooden_axe" } ], "add": [ { "type": "forge:ore_shaped", "group": "json.recipes", "result": { "item": "minecraft:wooden_axe" }, "pattern": [ "xx ", "xx ", " x" ], "key": { "x": { "type": "forge:ore_dict", "ore": "stickWood" } } } ] }
Замена на этапе инициализации test_4.json
Иногда нужно переопределить рецепт из другого мода до того, как он будет зарегистрирован. Параметр "when": "init" решает эту задачу. В примере заменяется компонент из мода Steve's Carts:
{ "when": "init", "remove": [ { "item": "stevescarts:modulecomponents", "data": 43 } ], "add": [ { "type": "forge:ore_shaped", "group": "json.recipes", "result": { "item": "stevescarts:modulecomponents", "data": 43, "count": 12 }, "pattern": [ "xx ", "xx ", " " ], "key": { "x": { "type": "forge:ore_dict", "ore": "stickWood" } } } ] }
Установка и настройка
Чтобы начать работу, скачайте мод с официального источника (например, CurseForge) и поместите его в папку mods вашего клиента или сервера. После первого запуска в папке config появится директория JSONRecipes — именно туда нужно класть ваши файлы. Если вы пользуетесь лаунчером foxygame.net, установка становится ещё проще: этот современный лаунчер позволяет находить и добавлять моды прямо из своего меню, так что JSON Recipe Manager окажется в сборке за пару кликов, без ручного копирования файлов.
Практические советы
- Всегда проверяйте синтаксис JSON перед запуском — одна пропущенная запятая может сломать загрузку всех рецептов.
- Используйте константы для часто повторяющихся комбинаций предметов, чтобы не дублировать код.
- При удалении рецептов указывайте точные идентификаторы предметов и метаданные (data), если это необходимо.
- Для отладки следите за логами игры — мод сообщает об ошибках парсинга.
Для кого этот мод?
JSON Recipe Manager — находка для создателей модпаков, администраторов серверов и просто игроков, которые хотят тонко настроить крафты под свой стиль игры. Он не требует знаний программирования, работает на стороне сервера (клиенту нужен только для отображения рецептов в книге) и легко интегрируется с другими модами через Ore Dictionary.
Заключение
JSON Recipe Manager превращает редактирование рецептов в творческий процесс, доступный каждому. Благодаря поддержке JSON, констант и событийной замены вы можете полностью контролировать крафты в своём мире. Попробуйте добавить пару собственных рецептов — и вы увидите, как игра заиграет новыми красками. Создавайте, экспериментируйте и делитесь своими находками с сообществом!