MCBE
OverviewPacketsCraftingData
ID 0x34 · 52Server → ClientInventory

CraftingData

The crafting registry: recipes (shaped, shapeless, furnace, potion mixes, container, material reducer) with network ids the client uses in ItemStackRequest.

crafting-data.bin
struct CraftingData {
  varuint32 [] · ShapedRecipePayload[]         ShapedRecipes;
  varuint32 [] · ShapelessRecipePayload[]      ShapelessRecipes;
  varuint32 [] · MultiRecipePayload[]          MultiRecipes;
  varuint32 [] · ShapelessRecipePayload[]      UserDataShapelessRecipes;
  varuint32 [] · ShapelessRecipePayload[]      ShapelessChemistryRecipes;
  varuint32 [] · ShapedRecipePayload[]         ShapedChemistryRecipes;
  varuint32 [] · SmithingTransformRecipePayload[] SmithingTransformRecipes;
  varuint32 [] · SmithingTrimRecipePayload[]   SmithingTrimRecipes;
  varuint32 [] · PotionMixDataEntry[]          PotionMixEntries;
  varuint32 [] · ContainerMixDataEntry[]       ContainerMixEntries;
  varuint32 [] · MaterialReducerDataEntry[]    MaterialReducerEntries;
  bool                                         ClearRecipes;
}

Structure

FieldTypeDescription
Shaped Recipesvaruint32 count + ShapedRecipePayload[]Length-prefixed sequence.
Shapeless Recipesvaruint32 count + ShapelessRecipePayload[]Length-prefixed sequence.
Multi Recipesvaruint32 count + MultiRecipePayload[]Length-prefixed sequence.
User Data Shapeless Recipesvaruint32 count + ShapelessRecipePayload[]Length-prefixed sequence.
Shapeless Chemistry Recipesvaruint32 count + ShapelessRecipePayload[]Length-prefixed sequence.
Shaped Chemistry Recipesvaruint32 count + ShapedRecipePayload[]Length-prefixed sequence.
Smithing Transform Recipesvaruint32 count + SmithingTransformRecipePayload[]Length-prefixed sequence.
Smithing Trim Recipesvaruint32 count + SmithingTrimRecipePayload[]Length-prefixed sequence.
Potion Mix Entriesvaruint32 count + PotionMixDataEntry[]Length-prefixed sequence.
Container Mix Entriesvaruint32 count + ContainerMixDataEntry[]Length-prefixed sequence.
Material Reducer Entriesvaruint32 count + MaterialReducerDataEntry[]Length-prefixed sequence.
Clear Recipesbool

Structure of ShapedRecipePayload

FieldTypeDescription
Recipe Idstring
Widthvarint32
Heightvarint32
Ingredientsvaruint32 count + SerializedRecipeIngredient[]Length-prefixed sequence.
Resultsvaruint32 count + SerializedNetworkItemInstanceDescriptor[]Length-prefixed sequence.
Uuiduuid.UUID
Tagstring
Priorityvarint32
Assume Symmetrybool
Unlocking Requirementoptional byte + SerializedRecipeUnlockingRequirementPresence flag on the wire; value omitted when absent.
Net IdRecipeNetId

Structure of ShapelessRecipePayload

FieldTypeDescription
Recipe Idstring
Ingredientsvaruint32 count + SerializedRecipeIngredient[]Length-prefixed sequence.
Resultsvaruint32 count + SerializedNetworkItemInstanceDescriptor[]Length-prefixed sequence.
Uuiduuid.UUID
Tagstring
Priorityvarint32
Unlocking Requirementoptional byte + SerializedRecipeUnlockingRequirementPresence flag on the wire; value omitted when absent.
Net IdRecipeNetId

Structure of MultiRecipePayload

FieldTypeDescription
Uuiduuid.UUID
Net IdRecipeNetId

Structure of SmithingTransformRecipePayload

FieldTypeDescription
Recipe Idstring
Template IngredientSerializedRecipeIngredient
Base IngredientSerializedRecipeIngredient
Addition IngredientSerializedRecipeIngredient
ResultSerializedNetworkItemInstanceDescriptor
Tagstring
Net IdRecipeNetId

Structure of SmithingTrimRecipePayload

FieldTypeDescription
Recipe Idstring
Template IngredientSerializedRecipeIngredient
Base IngredientSerializedRecipeIngredient
Addition IngredientSerializedRecipeIngredient
Tagstring
Net IdRecipeNetId

Structure of PotionMixDataEntry

FieldTypeDescription
From Item Idvarint32
From Item Auxvarint32
Reagent Item Idvarint32
Reagent Item Auxvarint32
To Item Idvarint32
To Item Auxvarint32

Structure of ContainerMixDataEntry

FieldTypeDescription
From Item Idvarint32
Reagent Item Idvarint32
To Item Idvarint32

Structure of MaterialReducerDataEntry

FieldTypeDescription
From Item Keyvarint32
To Item Ids And Countsvaruint32 count + MaterialReducerEntryOutput[]Length-prefixed sequence.

Structure of SerializedRecipeIngredient

cerealizer<RecipeIngredient>::SerializedData. The descriptor collapses to

FieldTypeDescription
Descriptorvaruint32 count + (string → string) pairsLength-prefixed sequence.
Aux Valuevarint32
Stack Sizevarint32

Structure of SerializedNetworkItemInstanceDescriptor

cerealizer<NetworkItemInstanceDescriptor>::SerializedData. The extra data

FieldTypeDescription
Idvarint32
Stack Sizeuint16 (LE)
Aux Valuevaruint32
Block Runtime Idvarint32
User Data Bufferbyte[]

Structure of SerializedRecipeUnlockingRequirement

FieldTypeDescription
ContextUnlockingContext
Ingredientsoptional byte + list[SerializedRecipeIngredient]Presence flag on the wire; value omitted when absent.

Structure of RecipeNetId

FieldTypeDescription
Raw Idvaruint32

Structure of MaterialReducerEntryOutput

FieldTypeDescription
Item Idvarint32
Item Countvarint32

Notes

  • No special notes.