Рецепты: верстак, плавка и топливо

Создание рецептов для RecipeBook: форменный и бесформенный крафт в сетках 2x2 и 3x3, переплавка в печи и кастомное топливо.

Рецепты: верстак, плавка и топливо

Книга рецептов (RecipeBook) в Metron компилируется из файлов datapacks/<pack>/recipes/*.ron.

Движок поддерживает четыре типа рецептов:

  1. Бесформенный крафт (ShapelessRecipe)
  2. Форменный крафт (ShapedRecipe)
  3. Плавка в печи (SmeltRecipe)
  4. Определение топлива (FuelDef)

1. Бесформенный крафт (ShapelessRecipe)

Используется, когда точное расположение ингредиентов в сетке верстака не имеет значения (например, распил бревна на доски, смешивание красителей):

RON
ShapelessRecipe(
    id: "space_craft:titanium_nuggets",
    ingredients: [
        "space_craft:titanium_ingot",
    ],
    result: ("space_craft:titanium_nugget", 9),
)
  • id: уникальный идентификатор рецепта
  • ingredients: список предметов, которые игрок должен положить в сетку в любом порядке
  • result: кортеж ("item_id", count) — результат и количество создаваемых предметов

2. Форменный крафт (ShapedRecipe)

Используется для создания предметов по определённому визуальному шаблону в сетке 2×2 (карманный крафт) или 3×3 (верстак).

RON
ShapedRecipe(
    id: "space_craft:reinforced_chest",
    pattern: [
        "TIT",
        "T T",
        "TIT",
    ],
    key: {
        'T': "space_craft:titanium_ingot",
        'I': "metron:iron_ingot",
    },
    result: ("space_craft:reinforced_chest", 1),
)

Как устроен шаблон pattern и key:

  • pattern: массив строк одинаковой длины. Каждая строка — ряд сетки верстака. Пробел ' ' означает пустую ячейку.
  • key: ассоциативный массив (мапа), сопоставляющий символ в шаблоне с ID предмета.
Совет

Автоматический сдвиг сетки (Grid Shifting):
Если ваш рецепт компактный (например 2×2 верстак или 1×2 факел), игроку не обязательно размещать его строго в верхнем левом углу верстака 3×3.
Движок Metron автоматически проверяет все возможные сдвиги шаблона по сетке!

Пример: рецепт карманного крафта 2×2 (верстак)

RON
ShapedRecipe(
    id: "metron:crafting_table",
    pattern: [
        "PP",
        "PP",
    ],
    key: {
        'P': "metron:planks",
    },
    result: ("metron:crafting_table", 1),
)

3. Плавка в печи (SmeltRecipe)

Определяет, что произойдет при обжиге предмета в печи:

RON
SmeltRecipe(
    id: "space_craft:smelt_titanium_ore",
    input: "space_craft:titanium_ore",
    result: ("space_craft:titanium_ingot", 1),
    cook_ticks: Some(200), // 200 тиков = 10 секунд при 20 TPS
)
  • input: предмет, помещаемый в верхний слот печи
  • result: кортеж получаемого результата
  • cook_ticks: время готовки в тиках (по умолчанию 200 тиков = 10 секунд)

4. Кастомное топливо (FuelDef)

Позволяет зарегистрировать любой предмет как горючее для печи:

RON
FuelDef(
    id: "space_craft:plasma_cell",
    burn_ticks: 3200, // Хватит на переплавку 16 предметов (3200 / 200)
)

Стандартная длительность горения:

  • Палка: 100 тиков (0.5 предмета)
  • Доски / Дерево: 300 тиков (1.5 предмета)
  • Уголь: 1600 тиков (8 предметов)
  • Ведро лавы: 20000 тиков (100 предметов)

Проверка рецептов на сайте

Все рецепты, добавленные в датапаки опубликованных версий игры, автоматически индексируются сайтом Metron и доступны для поиска в интерактивном каталоге в разделе /recipes!