Overview Packets CraftingData ID 0x34 · 52 Server → Client Inventory
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 Field Type Description Shaped Recipes varuint32 count + ShapedRecipePayload[] Length-prefixed sequence. Shapeless Recipes varuint32 count + ShapelessRecipePayload[] Length-prefixed sequence. Multi Recipes varuint32 count + MultiRecipePayload[] Length-prefixed sequence. User Data Shapeless Recipes varuint32 count + ShapelessRecipePayload[] Length-prefixed sequence. Shapeless Chemistry Recipes varuint32 count + ShapelessRecipePayload[] Length-prefixed sequence. Shaped Chemistry Recipes varuint32 count + ShapedRecipePayload[] Length-prefixed sequence. Smithing Transform Recipes varuint32 count + SmithingTransformRecipePayload[] Length-prefixed sequence. Smithing Trim Recipes varuint32 count + SmithingTrimRecipePayload[] Length-prefixed sequence. Potion Mix Entries varuint32 count + PotionMixDataEntry[] Length-prefixed sequence. Container Mix Entries varuint32 count + ContainerMixDataEntry[] Length-prefixed sequence. Material Reducer Entries varuint32 count + MaterialReducerDataEntry[] Length-prefixed sequence. Clear Recipes bool
Structure of ShapedRecipePayload Field Type Description Recipe Id string Width varint32 Height varint32 Ingredients varuint32 count + SerializedRecipeIngredient[] Length-prefixed sequence. Results varuint32 count + SerializedNetworkItemInstanceDescriptor[] Length-prefixed sequence. Uuid uuid.UUID Tag string Priority varint32 Assume Symmetry bool Unlocking Requirement optional byte + SerializedRecipeUnlockingRequirement Presence flag on the wire; value omitted when absent. Net Id RecipeNetId
Structure of ShapelessRecipePayload Field Type Description Recipe Id string Ingredients varuint32 count + SerializedRecipeIngredient[] Length-prefixed sequence. Results varuint32 count + SerializedNetworkItemInstanceDescriptor[] Length-prefixed sequence. Uuid uuid.UUID Tag string Priority varint32 Unlocking Requirement optional byte + SerializedRecipeUnlockingRequirement Presence flag on the wire; value omitted when absent. Net Id RecipeNetId
Structure of MultiRecipePayload Field Type Description Uuid uuid.UUID Net Id RecipeNetId
Field Type Description Recipe Id string Template Ingredient SerializedRecipeIngredient Base Ingredient SerializedRecipeIngredient Addition Ingredient SerializedRecipeIngredient Result SerializedNetworkItemInstanceDescriptor Tag string Net Id RecipeNetId
Structure of SmithingTrimRecipePayload Field Type Description Recipe Id string Template Ingredient SerializedRecipeIngredient Base Ingredient SerializedRecipeIngredient Addition Ingredient SerializedRecipeIngredient Tag string Net Id RecipeNetId
Structure of PotionMixDataEntry Field Type Description From Item Id varint32 From Item Aux varint32 Reagent Item Id varint32 Reagent Item Aux varint32 To Item Id varint32 To Item Aux varint32
Structure of ContainerMixDataEntry Field Type Description From Item Id varint32 Reagent Item Id varint32 To Item Id varint32
Structure of MaterialReducerDataEntry Field Type Description From Item Key varint32 To Item Ids And Counts varuint32 count + MaterialReducerEntryOutput[] Length-prefixed sequence.
Structure of SerializedRecipeIngredient cerealizer<RecipeIngredient>::SerializedData. The descriptor collapses to
Field Type Description Descriptor varuint32 count + (string → string) pairs Length-prefixed sequence. Aux Value varint32 Stack Size varint32
Structure of SerializedNetworkItemInstanceDescriptor cerealizer<NetworkItemInstanceDescriptor>::SerializedData. The extra data
Field Type Description Id varint32 Stack Size uint16 (LE) Aux Value varuint32 Block Runtime Id varint32 User Data Buffer byte[]
Structure of SerializedRecipeUnlockingRequirement Field Type Description Context UnlockingContext Ingredients optional byte + list[SerializedRecipeIngredient] Presence flag on the wire; value omitted when absent.
Structure of RecipeNetId Field Type Description Raw Id varuint32
Structure of MaterialReducerEntryOutput Field Type Description Item Id varint32 Item Count varint32
Notes