Рецепты craftRecipe для модов Project Zomboid Build 42
Учебный материал о размещении предметов и craftRecipe внутри одного module в media/scripts, выборе альтернативных ингредиентов, тегов и флагов, сохранении инструмента, результате и требуемом навыке. Ни один пример не компилировался и не запускался в игре.
Источник относит статью к intermediate и указывает обновление 10 октября 2026 года. Точный минорный билд Build 42 не назван.
Расположение в scripts
Декларативные описания, по источнику, хранятся в .txt-файлах под media/scripts/. Их можно разделить на файлы items/, models/ и recipes/, если они используют одно имя module. Ниже схема сокращена автором и содержит многоточия: это структура, а не готовый скрипт.
Иллюстративный каркас из источника (многоточия оставлены):
module MiModulo
{
imports { Base, }
item ... { ... }
model ... { ... }
craftRecipe ... { ... }
fixing ... { ... }
}
Пример craftRecipe с альтернативными ингредиентами
Первый полный рецепт из выбранной темы собирает completo italiano — чилийскую булочку с авокадо, томатом и майонезом. Имена CompleteItaliano принадлежат примеру автора, а не являются чисто ванильными зависимостями:
craftRecipe из источника (код сохранён):
craftRecipe MakeCompletoItaliano
{
timedAction = Making,
time = 60,
Tags = InHandCraft;Cooking,
category = Cooking,
xpAward = Cooking:3,
inputs
{
item 1 [CompleteItaliano.PanCompleto;Base.BunsHotdog_single] flags[InheritFoodAge;ItemCount],
item 1 [CompleteItaliano.Vienesa;Base.Hotdog_single] flags[InheritFoodAge;ItemCount],
item 1 [CompleteItaliano.Palta;Base.Avocado] flags[InheritFoodAge;ItemCount],
item 1 [Base.Tomato] flags[InheritFoodAge;ItemCount],
item 2 [Base.MayonnaiseFull],
}
outputs
{
item 1 CompleteItaliano.CompletoItaliano,
}
}
- Список в квадратных скобках [A;B] означает выбор одного из указанных предметов; в примере для булочки подходит предмет мода или ванильная булочка для хот-дога.
- Флаг InheritFoodAge, по объяснению автора, переносит свежесть/возраст ингредиентов на результат. ItemCount сохранён в коде примера; его эффект требует сверки по целевой версии.
- Тег InHandCraft позволяет, по словам автора, изготовить блюдо из предметов в руках без стола.
Рецепт с инструментом, который возвращается
В следующем примере рецепт собирает световой меч и использует отвёртку как сохраняемый инструмент. Входные предметы SL.* — часть именованного авторского примера; проверьте наличие их исходного мода:
Второй craftRecipe из источника (код сохранён):
craftRecipe SLEnsamblarSable
{
timedAction = MakingElectrical,
time = 400,
Tags = AnySurfaceCraft,
category = Electrical,
SkillRequired = Electricity:3,
xpAward = Electricity:30,
inputs
{
item 1 tags[base:screwdriver] mode:keep,
item 1 [SL.EmpunaduraSable],
item 1 [SL.CristalKyber],
item 2 [Base.Battery] mode:destroy,
}
outputs
{
item 1 SL.SableLuz,
}
}
- tags[base:screwdriver] задаёт категорию инструмента; автор объясняет, что так подходит любая отвёртка с этим тегом. Сверьте список тегов в актуальном справочнике.
- mode:keep возвращает инструмент, а mode:destroy расходует предмет. В примере отвёртка сохраняется, батареи уничтожаются.
- SkillRequired задаёт необходимый уровень навыка; xpAward указывает награду опыта. Имена навыков и поведение полей нужно проверить для целевой версии.
Предметы собственного мода в рецепте указываются с module-префиксом, например SL.CristalKyber, а не CristalKyber. Автор связывает отсутствие префикса с ошибкой script load errors и невозможностью загрузить мир. Проверьте полный ID каждого ингредиента и продукта.
Отображаемое название рецепта помещают в Translate/<LANGUAGE>/Recipes.json под ключом, совпадающим с именем craftRecipe. Пример источника: EN — "SLEnsamblarSable": "Assemble Lightsaber"; ES — "SLEnsamblarSable": "Ensamblar sable de luz". Требования к ключу сверяйте с текущей версией.
Где сверять и проверять рецепты
Источник рекомендует найти похожий рецепт в игровых файлах media/scripts/ установленной игры и сравнить поля с актуальным примером. Затем проверить рецепт в отдельном новом мире, а не в основном сохранении. Запуск и компиляция примеров здесь не выполнялись. Автор предупреждает: старые руководства могут относиться к Build 41 и больше не работать. Ванильные ID предметов и теги он предлагает сверять по справочникам предметов и тегов.