Перейти к содержанию

Как создать последовательный крафт с помощью create?


Рекомендуемые сообщения

В теме 1 сообщение

Привет! Недавно я работал над модом для Create, где необходимо знание основ JSON. Хотя я знаком с этим языком, я столкнулся с трудностями при создании сложного крафта.

Проблема в том, что на сайте с гайдами по созданию крафтов в Create нет информации о последовательном крафте. Это затрудняет разработку аддонов.

Давайте разберёмся, как это сделать!

  1. Проект. Для примера возьмём дата-пак.

  2. Знание крафтов.

  3. Терпение и мощный компьютер (или калькулятор).

Приступим!

Спойлер

Важно понимать что за что отвечает,  ведь в параметре "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 -

image.png.8ba356375814c53139ad668735dccbc1.png

 

Надеюсь вы что-то поняли)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...