Class GridRecipe
- Namespace
- Vintagestory.API.Common
- Assembly
- VintagestoryAPI.dll
Represents a crafting recipe to be made on the crafting grid. Open in GitHub
[DocumentAsJson]
public class GridRecipe
- Inheritance
-
GridRecipe
Examples
{
"ingredientPattern": "GS,S_",
"ingredients": {
"G": {
"type": "item",
"code": "drygrass"
},
"S": {
"type": "item",
"code": "stick"
}
},
"width": 2,
"height": 2,
"output": {
"type": "item",
"code": "firestarter"
}
}
Fields
IngredientPattern (Required)
The pattern of the ingredient. Order for a 3x3 recipe:
1 2 3
4 5 6
7 8 9
Order for a 2x2 recipe:
1 2
3 4
Commas seperate each horizontal row, and an underscore ( _ ) marks a space as empty.
Note: from game version 1.20.4, this becomes null on server-side after completion of recipe resolving during server start-up phase
[DocumentAsJson]
public string IngredientPattern
Field Value
Ingredients (Required)
The recipes ingredients in any order, including the code used in the ingredient pattern.
Note: from game version 1.20.4, this becomes null on server-side after completion of recipe resolving during server start-up phase
[DocumentAsJson]
public Dictionary<string, CraftingRecipeIngredient> Ingredients
Field Value
Output (Required)
The resulting stack when the recipe is created.
[DocumentAsJson]
public CraftingRecipeIngredient Output
Field Value
Height (Recommended) (Default: 3)
Required grid height for crafting this recipe
[DocumentAsJson]
public int Height
Field Value
Width (Recommended) (Default: 3)
Required grid width for crafting this recipe
[DocumentAsJson]
public int Width
Field Value
AllowedVariants (Optional) (Default: None)
If '{code}' is used in ingredient code, allowed variants for this code should be specified in this map
[DocumentAsJson]
public Dictionary<string, string[]> AllowedVariants
Field Value
- Dictionary<string, string[]>
Attributes (Optional) (Default: None)
Optional attribute data that you can attach any data to. Useful for code mods, but also required when using liquid ingredients.
See dough.json grid recipe file for example.
[JsonConverter(typeof(JsonAttributesConverter))]
[DocumentAsJson]
public JsonObject Attributes
Field Value
AverageDurability (Optional) (Default: True)
If true, the output item will have its durability averaged over the input items
[DocumentAsJson]
public bool AverageDurability
Field Value
CopyAttributesFrom (Optional) (Default: None)
If set, it will copy over the itemstack attributes from given ingredient code
[DocumentAsJson]
public string CopyAttributesFrom { get; set; }
Field Value
Enabled (Optional) (Default: True)
If set to false, the recipe will never be loaded. If loaded, you can use this field to disable recipes during runtime.
[DocumentAsJson]
public bool Enabled
Field Value
MergeAttributesFrom (Optional) (Default: None)
Attributes from thise ingredients will be merged into output itemstack
[DocumentAsJson]
public string[] MergeAttributesFrom
Field Value
- string[]
Name (Optional) (Default: Asset Location)
Name of the recipe. Used for logging, and some specific uses. Recipes for repairing objects must contain 'repair' in the name.
[DocumentAsJson]
public AssetLocation Name
Field Value
RecipeGroup (Optional) (Default: 0)
Info used by the handbook. By default, all recipes for an object will appear in a single preview. This allows you to split grid recipe previews into multiple.
[DocumentAsJson]
public int RecipeGroup
Field Value
RequiresTrait (Optional) (Default: None)
If set, only players with given trait can use this recipe. See config/traits.json for a list of traits.
[DocumentAsJson]
public string RequiresTrait
Field Value
Shapeless (Optional) (Default: False)
Whether the order of input items should be respected
[DocumentAsJson]
public bool Shapeless
Field Value
ShowInCreatedBy (Optional) (Default: True)
Used by the handbook. If false, will not appear in the "Created by" section
[DocumentAsJson]
public bool ShowInCreatedBy
Field Value
SkipVariants (Optional) (Default: None)
If '{code}' is used in ingredient code, skip variants for this code should be specified in this map
[DocumentAsJson]
public Dictionary<string, string[]> SkipVariants
Field Value
- Dictionary<string, string[]>