GenkaMistikCoder Опубликовано 20 июня, 2025 Поделиться Опубликовано 20 июня, 2025 Привет! Недавно я работал над модом для Create, где необходимо знание основ JSON. Хотя я знаком с этим языком, я столкнулся с трудностями при создании сложного крафта. Проблема в том, что на сайте с гайдами по созданию крафтов в Create нет информации о последовательном крафте. Это затрудняет разработку аддонов. Давайте разберёмся, как это сделать! Проект. Для примера возьмём дата-пак. Знание крафтов. Терпение и мощный компьютер (или калькулятор). Приступим! Спойлер Важно понимать что за что отвечает, ведь в параметре "sequenced_assembly" нужны многие механизмы sequenced_assembly - Это и будет последовательным крафтом, как пример с крафтами Пример (верстак) - /* Пример крафтов в верстаке */ { "type": "minecraft:crafting_shaped", "category": "misc", "pattern": [ " a ", "aba", // тут указываем патерн " a " ], "key": { "a": { "item": "minecraft:diamond" // предмет под переменной a }, "b": { "item": "minecraft:netherite_inog" // предмет под переменной b } }, "result": { "item": "minecraft:dirt", // выходной предмет "count": 1 // кол-во предметов } } Его можно сохранить как угодно, например neponil.json или okey.json. Важно! Каждый такой json файл должен быть не абы-где а в папках, вот пример - datapack_name/ └── data/ ├── название_датапака/ │ └── recipes/ │ └── sequenced_assembly/ ← Сюда кладём JSON-рецепты └── minecraft/ └── tags/items/ ← Если нужны теги/прочее Ладно, хватит о том как нужно называть файлы и так далее, начнем же создавать рецепт на примере алмаз а выход незерит - { "type": "create:sequenced_assembly", "ingredient": { "item": "minecraft:diamond" // Что загружаем в механизм }, "transitionalItem": { "item": "create:incomplete_precision_mechanism" // Временный предмет }, "sequence": [ // Этапы обработки { "type": "create:deploying", // Накладываем незерак "ingredients": [ {"item": "create:incomplete_precision_mechanism"}, {"item": "minecraft:netherrack"} ] }, { "type": "create:pressing", // Прессуем "ingredients": [ {"item": "create:incomplete_precision_mechanism"} ] }, { "type": "create:spout_filling", // Заливаем лавой "ingredients": [ {"item": "create:incomplete_precision_mechanism"} ], "fluid": { "fluid": "minecraft:lava", "amount": 250 } } ], "results": [ // Что получаем в конце { "item": "minecraft:netherite_ingot", // Успех (50%) "chance": 50.0 }, { "item": "minecraft:netherrack", // Мусор (50%) "chance": 50.0 } ], "loops": 4 // Сколько раз повторяем sequence } Вот такие операторы - deploying Накладывает предмет (как в верстаке) Добавление незерака, слитков и т.д. pressing Прессует предмет Уплотнение, изменение формы spout_filling Заливает жидкость (лава, вода) Нагрев, охлаждение cutting Разрезает (нужна пила) Разделение на части filling Заполнение вручную (без дозатора) Редко используется ________________________________________________ Ну ладно, хватит с примеров, сейчас я покажу мой код (для мазохиста) в нем будет использоваться мой мод (пока он не вышел) - { "type": "create:sequenced_assembly", "ingredient": { "item": "createhelltoandezite:theunrelatedstickofhell" }, "loops": 6, "results": [ { "chance": 65.0, "item": "createhelltoandezite:theboundstickofhell" }, { "chance": 35.0, "item": "minecraft:netherrack" } ], "sequence": [ { "type": "create:deploying", "ingredients": [ { "item": "create:incomplete_precision_mechanism" }, { "item": "minecraft:netherrack" } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] }, { "type": "create:pressing", "ingredients": [ { "item": "create:incomplete_precision_mechanism" }, { "fluid": "minecraft:lava", "amount": 200 } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] }, { "type": "create:filling", "ingredients": [ { "item": "create:unprocessed_obsidian_sheet" }, { "amount": 500, "fluid": "minecraft:lava", "nbt": {} } ], "results": [ { "item": "create:unprocessed_obsidian_sheet" } ] }, { "type": "create:pressing", "ingredients": [ { "item": "create:incomplete_precision_mechanism" } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] }, { "type": "create:deploying", "ingredients": [ { "item": "create:incomplete_precision_mechanism" }, { "item": "create:experience_block" } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] }, { "type": "create:deploying", "ingredients": [ { "item": "create:incomplete_precision_mechanism" }, { "item": "minecraft:netherite_ingot" } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] }, { "type": "create:pressing", "ingredients": [ { "item": "create:incomplete_precision_mechanism" } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] }, { "type": "create:deploying", "ingredients": [ { "item": "create:incomplete_precision_mechanism" }, { "item": "minecraft:blaze_rod" } ], "results": [ { "item": "create:incomplete_precision_mechanism" } ] } ], "transitionalItem": { "item": "create:incomplete_precision_mechanism" } } Вот так будет выглядеть в моде Jei - Надеюсь вы что-то поняли) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 1 сообщение
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти