Packet 52
CraftingDataPacket
Crafting Data
Sent from the server on level startup to send all recipes to the client.
HeaderID 52varuint
0Shaped Recipesarray<ShapedRecipePayload> · variable
1Shapeless Recipesarray<ShapelessRecipePayload> · variable
2Multi Recipesarray<MultiRecipePayload> · variable
3User Data Shapeless Recipesarray<ShapelessRecipePayload> · variable
4Shapeless Chemistry Recipesarray<ShapelessRecipePayload> · variable
5Shaped Chemistry Recipesarray<ShapedRecipePayload> · variable
6Smithing Transform Recipesarray<SmithingTransformRecipePayload> · variable
7Smithing Trim Recipesarray<SmithingTrimRecipePayload> · variable
8Potion Mixesarray<PotionMixDataEntry> · variable
9Container Mixesarray<ContainerMixDataEntry> · variable
10Material Reducersarray<MaterialReducerDataEntry> · variable
11Clear Recipesboolean · 1 byte
Serialized fields
12 top-level fields0Shaped RecipesRecipes with a fixed grid layout.ShapedRecipePayloadas
array<ShapedRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string - 1WidthWidth of the crafting grid for this shaped recipe.Compression
varint32 - 2HeightHeight of the crafting grid for this shaped recipe.Compression
varint32 3IngredientsGrid ingredients in row-major order; the count must equal Width * Height.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
4ResultsThe item(s) produced by the recipe.NetworkItemInstanceDescriptorDataas
array<NetworkItemInstanceDescriptorData>- 0IdItem id (network varint). Send fixed Id of 0 for invalid item.Compression
varint32 - 1Stack sizeThe number of items in the stack.
uint16 - 2Aux valueItem auxiliary/metadata value. Ignored for block items where aux is always 0.Compression
varuint32 - 3Block Runtime IdRuntime block state ID associated with this item when it represents a block.Compression
varint32 - 4User Data BufferThe item user data binary blob encoded as a String.
string
- 6TagCrafting block tag this recipe is associated with (e.g. crafting_table).
string - 7PriorityRecipe priority used to resolve conflicts between matching recipes.Compression
varint32 - 8Assume SymmetryWhether the recipe also matches mirrored grid layouts.
boolean 9Unlocking RequirementoptionalOptional requirement that must be satisfied to unlock the recipe.RecipeUnlockingRequirement
0Unlocking ContextCompressionEnum-as-ValueRecipeUnlockingContextas
varint32- 0
None - 1
AlwaysUnlocked - 2
PlayerInWater - 3
PlayerHasManyItems
- 0
1Unlocking IngredientsoptionalOptional list of ingredients required to unlock the recipe. Only populated when Unlocking Context is None; otherwise the recipe is unlocked by the context condition and no ingredients are transmitted.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
10Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
1Shapeless RecipesRecipes whose ingredients can be placed in any arrangement.ShapelessRecipePayloadas
array<ShapelessRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string 1IngredientsThe unordered ingredients required by the recipe.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
2ResultsThe item(s) produced by the recipe.NetworkItemInstanceDescriptorDataas
array<NetworkItemInstanceDescriptorData>- 0IdItem id (network varint). Send fixed Id of 0 for invalid item.Compression
varint32 - 1Stack sizeThe number of items in the stack.
uint16 - 2Aux valueItem auxiliary/metadata value. Ignored for block items where aux is always 0.Compression
varuint32 - 3Block Runtime IdRuntime block state ID associated with this item when it represents a block.Compression
varint32 - 4User Data BufferThe item user data binary blob encoded as a String.
string
- 4TagCrafting block tag this recipe is associated with (e.g. crafting_table).
string - 5PriorityRecipe priority used to resolve conflicts between matching recipes.Compression
varint32 6Unlocking RequirementoptionalOptional requirement that must be satisfied to unlock the recipe.RecipeUnlockingRequirement
0Unlocking ContextCompressionEnum-as-ValueRecipeUnlockingContextas
varint32- 0
None - 1
AlwaysUnlocked - 2
PlayerInWater - 3
PlayerHasManyItems
- 0
1Unlocking IngredientsoptionalOptional list of ingredients required to unlock the recipe. Only populated when Unlocking Context is None; otherwise the recipe is unlocked by the context condition and no ingredients are transmitted.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
7Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
2Multi RecipesBuilt-in special recipes identified by UUID (map cloning, banner duplicate, etc.).MultiRecipePayloadas
array<MultiRecipePayload>1Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
3User Data Shapeless RecipesShapeless recipes that carry user data (e.g. user-applied item data).ShapelessRecipePayloadas
array<ShapelessRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string 1IngredientsThe unordered ingredients required by the recipe.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
2ResultsThe item(s) produced by the recipe.NetworkItemInstanceDescriptorDataas
array<NetworkItemInstanceDescriptorData>- 0IdItem id (network varint). Send fixed Id of 0 for invalid item.Compression
varint32 - 1Stack sizeThe number of items in the stack.
uint16 - 2Aux valueItem auxiliary/metadata value. Ignored for block items where aux is always 0.Compression
varuint32 - 3Block Runtime IdRuntime block state ID associated with this item when it represents a block.Compression
varint32 - 4User Data BufferThe item user data binary blob encoded as a String.
string
- 4TagCrafting block tag this recipe is associated with (e.g. crafting_table).
string - 5PriorityRecipe priority used to resolve conflicts between matching recipes.Compression
varint32 6Unlocking RequirementoptionalOptional requirement that must be satisfied to unlock the recipe.RecipeUnlockingRequirement
0Unlocking ContextCompressionEnum-as-ValueRecipeUnlockingContextas
varint32- 0
None - 1
AlwaysUnlocked - 2
PlayerInWater - 3
PlayerHasManyItems
- 0
1Unlocking IngredientsoptionalOptional list of ingredients required to unlock the recipe. Only populated when Unlocking Context is None; otherwise the recipe is unlocked by the context condition and no ingredients are transmitted.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
7Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
4Shapeless Chemistry RecipesEducation-Edition shapeless chemistry recipes.ShapelessRecipePayloadas
array<ShapelessRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string 1IngredientsThe unordered ingredients required by the recipe.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
2ResultsThe item(s) produced by the recipe.NetworkItemInstanceDescriptorDataas
array<NetworkItemInstanceDescriptorData>- 0IdItem id (network varint). Send fixed Id of 0 for invalid item.Compression
varint32 - 1Stack sizeThe number of items in the stack.
uint16 - 2Aux valueItem auxiliary/metadata value. Ignored for block items where aux is always 0.Compression
varuint32 - 3Block Runtime IdRuntime block state ID associated with this item when it represents a block.Compression
varint32 - 4User Data BufferThe item user data binary blob encoded as a String.
string
- 4TagCrafting block tag this recipe is associated with (e.g. crafting_table).
string - 5PriorityRecipe priority used to resolve conflicts between matching recipes.Compression
varint32 6Unlocking RequirementoptionalOptional requirement that must be satisfied to unlock the recipe.RecipeUnlockingRequirement
0Unlocking ContextCompressionEnum-as-ValueRecipeUnlockingContextas
varint32- 0
None - 1
AlwaysUnlocked - 2
PlayerInWater - 3
PlayerHasManyItems
- 0
1Unlocking IngredientsoptionalOptional list of ingredients required to unlock the recipe. Only populated when Unlocking Context is None; otherwise the recipe is unlocked by the context condition and no ingredients are transmitted.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
7Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
5Shaped Chemistry RecipesEducation-Edition shaped chemistry recipes.ShapedRecipePayloadas
array<ShapedRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string - 1WidthWidth of the crafting grid for this shaped recipe.Compression
varint32 - 2HeightHeight of the crafting grid for this shaped recipe.Compression
varint32 3IngredientsGrid ingredients in row-major order; the count must equal Width * Height.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
4ResultsThe item(s) produced by the recipe.NetworkItemInstanceDescriptorDataas
array<NetworkItemInstanceDescriptorData>- 0IdItem id (network varint). Send fixed Id of 0 for invalid item.Compression
varint32 - 1Stack sizeThe number of items in the stack.
uint16 - 2Aux valueItem auxiliary/metadata value. Ignored for block items where aux is always 0.Compression
varuint32 - 3Block Runtime IdRuntime block state ID associated with this item when it represents a block.Compression
varint32 - 4User Data BufferThe item user data binary blob encoded as a String.
string
- 6TagCrafting block tag this recipe is associated with (e.g. crafting_table).
string - 7PriorityRecipe priority used to resolve conflicts between matching recipes.Compression
varint32 - 8Assume SymmetryWhether the recipe also matches mirrored grid layouts.
boolean 9Unlocking RequirementoptionalOptional requirement that must be satisfied to unlock the recipe.RecipeUnlockingRequirement
0Unlocking ContextCompressionEnum-as-ValueRecipeUnlockingContextas
varint32- 0
None - 1
AlwaysUnlocked - 2
PlayerInWater - 3
PlayerHasManyItems
- 0
1Unlocking IngredientsoptionalOptional list of ingredients required to unlock the recipe. Only populated when Unlocking Context is None; otherwise the recipe is unlocked by the context condition and no ingredients are transmitted.RecipeIngredientas
array<RecipeIngredient>0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
10Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
6Smithing Transform RecipesSmithing-table upgrade recipes.SmithingTransformRecipePayloadas
array<SmithingTransformRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string 1Template IngredientThe smithing template ingredient.RecipeIngredient
0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
2Base IngredientThe base item being upgraded.RecipeIngredient
0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
3Addition IngredientThe material added to the base item.RecipeIngredient
0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
4ResultThe resulting upgraded item.NetworkItemInstanceDescriptorData
- 0IdItem id (network varint). Send fixed Id of 0 for invalid item.Compression
varint32 - 1Stack sizeThe number of items in the stack.
uint16 - 2Aux valueItem auxiliary/metadata value. Ignored for block items where aux is always 0.Compression
varuint32 - 3Block Runtime IdRuntime block state ID associated with this item when it represents a block.Compression
varint32 - 4User Data BufferThe item user data binary blob encoded as a String.
string
- 5TagCrafting block tag this recipe is associated with (e.g. smithing_table).
string 6Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
7Smithing Trim RecipesSmithing-table armor-trim recipes.SmithingTrimRecipePayloadas
array<SmithingTrimRecipePayload>- 0Recipe IdUnique string identifier of the recipe.
string 1Template IngredientThe smithing template ingredient.RecipeIngredient
0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
2Base IngredientThe base armor item being trimmed.RecipeIngredient
0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
3Addition IngredientThe trim material added to the base item.RecipeIngredient
0Item Descriptor
oneOf<EmptyItemDescriptor, ItemNameDescriptor, MolangItemDescriptor, ItemTagDescriptor>0EmptyItemDescriptor
EmptyItemDescriptor0Descriptor TypeEmpty item descriptor.Enum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
1ItemNameDescriptor
ItemNameDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Full Name
string - 2Aux ValueCompression
varint32
2MolangItemDescriptor
MolangItemDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Tag Expression
string 2Molang VersionEnum-as-ValueMolangVersionas
int16- -1
Invalid - 0
BeforeVersioning - 1
Initial - 2
FixedItemRemainingUseDurationQuery - 3
ExpressionErrorMessages - 4
UnexpectedOperatorErrors - 5
ConditionalOperatorAssociativity - 6
ComparisonAndLogicalOperatorPrecedence - 7
DivideByNegativeValue - 8
FixedCapeFlapAmountQuery - 9
QueryBlockPropertyRenamedToState - 10
DeprecateOldBlockQueryNames - 11
DeprecatedSnifferAndCamelQueries - 12
LeafSupportingInFirstSolidBlockBelow - 14
NumValidVersions - 13
Latest - 13
HardcodedMolang
- -1
3ItemTagDescriptor
ItemTagDescriptor0Descriptor TypeEnum-as-ValueItemDescriptorTypeas
uint8- 0
Empty - 1
ItemName - 2
Molang - 3
ItemTag
- 0
- 1Item Tag
string
- 1StackSize
uint16
- 4TagCrafting block tag this recipe is associated with (e.g. smithing_table).
string 5Net IdNetwork id assigned to this recipe.RecipeNetId
- 0Raw IdCompression
varuint32
8Potion MixesBrewing-stand potion mix definitions.PotionMixDataEntryas
array<PotionMixDataEntry>- 0From Potion IdItem id of the input potion.Compression
varint32 - 1From Item AuxAux/data value of the input potion.Compression
varint32 - 2Reagent Item IdItem id of the reagent applied to the potion.Compression
varint32 - 3Reagent Item AuxAux/data value of the reagent.Compression
varint32 - 4To Potion IdItem id of the resulting potion.Compression
varint32 - 5To Item AuxAux/data value of the resulting potion.Compression
varint32
9Container MixesBrewing-stand container mix definitions.ContainerMixDataEntryas
array<ContainerMixDataEntry>10Material ReducersEducation-Edition material reducer definitions.MaterialReducerDataEntryas
array<MaterialReducerDataEntry>- 0From Item KeyPacked item id/aux key of the input material.Compression
varint32 1Item Ids and CountsThe items (and counts) the input material reduces to.MaterialReducerEntryOutputas
array<MaterialReducerEntryOutput>
- 11Clear RecipesWhen true, the client clears its existing recipes before applying this packet.
boolean
Changelog
Stable releases
Changes between stable protocol releases.
No stable release changes are recorded for this packet.
All builds
Changes between consecutive stable releases and preview builds.
- Released
- Protocol
- 2207
- Previous build
- 1.26.51
Packet
1 entryChanged 1
- Changed supporting type
MolangVersion: Changed enum valueInvalidfrom0to-1. - Changed supporting type
MolangVersion: Changed enum valueBeforeVersioningfrom1to0. - Changed supporting type
MolangVersion: Changed enum valueInitialfrom2to1. - Changed supporting type
MolangVersion: Changed enum valueFixedItemRemainingUseDurationQueryfrom3to2. - Changed supporting type
MolangVersion: Changed enum valueExpressionErrorMessagesfrom4to3. - Changed supporting type
MolangVersion: Changed enum valueUnexpectedOperatorErrorsfrom5to4. - Changed supporting type
MolangVersion: Changed enum valueConditionalOperatorAssociativityfrom6to5. - Changed supporting type
MolangVersion: Changed enum valueComparisonAndLogicalOperatorPrecedencefrom7to6. - Changed supporting type
MolangVersion: Changed enum valueDivideByNegativeValuefrom8to7. - Changed supporting type
MolangVersion: Changed enum valueFixedCapeFlapAmountQueryfrom9to8. - Changed supporting type
MolangVersion: Changed enum valueQueryBlockPropertyRenamedToStatefrom10to9. - Changed supporting type
MolangVersion: Changed enum valueDeprecateOldBlockQueryNamesfrom11to10. - Changed supporting type
MolangVersion: Changed enum valueDeprecatedSnifferAndCamelQueriesfrom12to11. - Changed supporting type
MolangVersion: Changed enum valueLeafSupportingInFirstSolidBlockBelowfrom13to12. - Changed supporting type
MolangVersion: Changed enum valueLatestfrom15to13. - Changed supporting type
MolangVersion: Changed enum valueHardcodedMolangfrom16to13.