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.
- Released
- Protocol
- 2225
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.
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.