Saltearse al contenido

Recetas

Descripción General

Las recetas de crafteo definen la transformación de objetos o recursos de entrada en objetos de salida. Cada receta especifica qué materiales se consumen, qué se produce, qué banco (si alguno) debe estar presente y cuánto tarda el crafteo. Las recetas se encuentran bajo Assets/Server/Item/Recipes/ y son cargadas por el sistema de objetos en tiempo de ejecución.

Cómo Funciona el Crafteo

flowchart TD;
A["Player Opens<br>Crafting Bench"] --> B[Show Available Recipes];
B --> C["Has Required<br>Materials?"];
C -->|"No"| D[Recipe Greyed Out];
C -->|"Yes"| E[Player Clicks Craft];
E --> F["Bench Matches<br>Recipe Requirement?"];
F -->|"No"| D;
F -->|"Yes"| G[Consume Inputs];
G --> H["ProcessingTime > 0?"];
H -->|"Yes"| I["Wait Timer<br>e.g. 5 seconds"];
H -->|"No"| J[Instant Craft];
I --> K[Produce Output Items];
J --> K;
K --> L["Add to Inventory<br>or Drop"];
style A fill:darkgreen,color:white;
style D fill:darkred,color:white;
style K fill:rebeccapurple,color:white;

Resolución de Recetas con Grupos

flowchart LR;
A["Recipe Input:<br>Group 'AnyWood' x4"] --> B{Player Has?};
B -->|"Oak Wood x4"| C[Valid];
B -->|"Birch Wood x2<br>+ Pine Wood x2"| D["Valid<br>Mixed group items"];
B -->|"Stone x4"| E["Invalid<br>Not in group"];
style C fill:darkgreen,color:white;
style D fill:darkgreen,color:white;
style E fill:darkred,color:white;

Ubicación del Archivo

Assets/Server/Item/Recipes/

Las recetas de desguace están en el subdirectorio:

Assets/Server/Item/Recipes/Salvage/

Algunos objetos integran su propia receta directamente en su archivo de definición de objeto bajo Assets/Server/Item/Items/ usando el mismo esquema.

Esquema

Campos de nivel superior

CampoTipoRequeridoPor DefectoDescripción
InputInputEntry[]Lista de objetos o tipos de recurso consumidos por la receta.
OutputOutputEntry[]NoLista completa de todos los objetos producidos. Cuando se omite, el objeto que lleva la receta es la única salida.
PrimaryOutputOutputEntryNoLa salida “principal” mostrada en la interfaz de crafteo cuando existen múltiples salidas.
BenchRequirementBenchRequirement[]No[]Bancos (o crafteo de campo) requeridos para realizar el crafteo.
TimeSecondsnumberNo0Cuántos segundos del mundo real tarda el crafteo.

InputEntry

CampoTipoRequeridoPor DefectoDescripción
ItemIdstringNo*ID específico del objeto a consumir. Mutuamente excluyente con ResourceTypeId.
ResourceTypeIdstringNo*Etiqueta de recurso a consumir (ej. "Wood_Trunk", "Rock"). Cualquier objeto etiquetado con este tipo de recurso satisface la ranura.
QuantitynumberNúmero de objetos o unidades de recurso consumidas.
  • Exactamente uno de ItemId o ResourceTypeId debe estar presente por entrada.

OutputEntry

CampoTipoRequeridoPor DefectoDescripción
ItemIdstringID del objeto producido.
QuantitynumberNo1Tamaño de pila del objeto producido.

BenchRequirement

CampoTipoRequeridoPor DefectoDescripción
Type"Crafting" | "Processing"Si el banco es una estación de crafteo o una estación de procesamiento.
IdstringEl ID del banco (ej. "Workbench", "Campfire", "Fieldcraft").
Categoriesstring[]NoLista opcional de ranuras de categoría en el banco que deben estar activas para que esta receta aparezca.

Ejemplo

Receta de desguace (Assets/Server/Item/Recipes/Salvage/Salvage_Armor_Adamantite_Chest.json):

{
"Input": [
{
"ItemId": "Armor_Adamantite_Chest",
"Quantity": 1
}
],
"PrimaryOutput": {
"ItemId": "Ore_Adamantite",
"Quantity": 6
},
"Output": [
{
"ItemId": "Ore_Adamantite",
"Quantity": 6
},
{
"ItemId": "Ingredient_Hide_Heavy",
"Quantity": 2
},
{
"ItemId": "Ingredient_Fabric_Scrap_Cindercloth",
"Quantity": 2
}
],
"BenchRequirement": [
{
"Type": "Processing",
"Id": "Salvagebench"
}
],
"TimeSeconds": 4
}

Receta en línea en un archivo de objeto (de Assets/Server/Item/Items/Bench/Bench_Campfire.json):

{
"Recipe": {
"TimeSeconds": 1,
"Input": [
{ "ItemId": "Ingredient_Stick", "Quantity": 4 },
{ "ResourceTypeId": "Rubble", "Quantity": 2 }
],
"BenchRequirement": [
{ "Type": "Crafting", "Categories": ["Tools"], "Id": "Fieldcraft" },
{ "Id": "Workbench", "Type": "Crafting", "Categories": ["Workbench_Survival"] }
]
}
}

Páginas Relacionadas