Immutable-by-convention recipe definition describing requirements and outputs by real Item Vault item identity. A recipe is pure data: [member inputs]/[member outputs] reference stable [ItemDefinition.id] values (plus optional definition references on each ingredient). No live inventory, container, or mutable item instance is required to describe a recipe. Fail-closed rules enforced by [method is_valid] and [method from_dict]: empty recipe id / inputs / outputs → invalid non-positive quantities → invalid null ingredients → invalid ingredient definition reference mismatching its id → invalid unsupported schema version (persistence) → invalid Unknown item ids are a database-level check ([method validate_item_ids], used by the registry and the craft service), not a structural one.
Source: addons/item_vault/crafting/recipes/crafting_recipe.gd
Syntax
class CraftingRecipe extends ResourceMembers
| Name | Kind | Summary |
|---|---|---|
SCHEMA_VERSION | Field | Schema version of the serialized shape. Loaders fail closed on anything else. |
id | Property | Stable recipe identity. Never a resource path. |
display_name | Property | Player-facing name shown in UI. |
inputs | Property | Exact required ingredients (per single craft). |
outputs | Property | Exact produced outputs (per single craft). May not be empty. |
station_tags | Property | Optional station/tag requirements for consuming games (workbench ids, unlock tags, ...). The module does not interpret these. |
schema_version | Property | Serialization schema version. Loaders fail closed on unsupported values. |
is_valid | Method | |
validate_item_ids | Method | |
to_dict | Method | |
from_dict | Method |