Рецепты: верстак, плавка и топливо
Создание рецептов для RecipeBook: форменный и бесформенный крафт в сетках 2x2 и 3x3, переплавка в печи и кастомное топливо.
Рецепты: верстак, плавка и топливо
Книга рецептов (RecipeBook) в Metron компилируется из файлов datapacks/<pack>/recipes/*.ron.
Движок поддерживает четыре типа рецептов:
- Бесформенный крафт (
ShapelessRecipe) - Форменный крафт (
ShapedRecipe) - Плавка в печи (
SmeltRecipe) - Определение топлива (
FuelDef)
1. Бесформенный крафт (ShapelessRecipe)
Используется, когда точное расположение ингредиентов в сетке верстака не имеет значения (например, распил бревна на доски, смешивание красителей):
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 (верстак).
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 (верстак)
ShapedRecipe(
id: "metron:crafting_table",
pattern: [
"PP",
"PP",
],
key: {
'P': "metron:planks",
},
result: ("metron:crafting_table", 1),
)
3. Плавка в печи (SmeltRecipe)
Определяет, что произойдет при обжиге предмета в печи:
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)
Позволяет зарегистрировать любой предмет как горючее для печи:
FuelDef(
id: "space_craft:plasma_cell",
burn_ticks: 3200, // Хватит на переплавку 16 предметов (3200 / 200)
)
Стандартная длительность горения:
- Палка:
100тиков (0.5 предмета) - Доски / Дерево:
300тиков (1.5 предмета) - Уголь:
1600тиков (8 предметов) - Ведро лавы:
20000тиков (100 предметов)
Проверка рецептов на сайте
Все рецепты, добавленные в датапаки опубликованных версий игры, автоматически индексируются сайтом Metron и доступны для поиска в интерактивном каталоге в разделе /recipes!