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

Рецепты craftRecipe для модов Project Zomboid Build 42

Примеры craftRecipe с альтернативными входами, тегами и флагами, возвращаемым инструментом, расходуемыми предметами, навыком, опытом и локализованным именем. Код оставлен как в источнике и требует проверки в целевой версии.

Учебный материал о размещении предметов и 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 предметов и теги он предлагает сверять по справочникам предметов и тегов.