← Packet index

Packet 30

InventoryTransactionPacket

Packet datagramWire order
HeaderID 30varuint
0Legacy Request IDItemStackLegacyRequestId · variable
1Legacy Set Item Slotsarray<LegacySetSlot> · variable
2TransactiononeOf<NormalTransactionData, InventoryMismatchData, ItemUseInventoryTransaction, ItemUseOnActorInventoryTransaction, ItemReleaseInventoryTransaction> · variable

Serialized fields

3 top-level fields
  1. 0Legacy Request IDItemStackLegacyRequestId
    1. 0IDCompressionvarint32
  2. 1Legacy Set Item SlotsoptionalLegacySetSlotas array<LegacySetSlot>
    1. 0Container EnumCompressionEnum-as-ValueContainerEnumNameas uint8
      1. 0AnvilInputContainer
      2. 1AnvilMaterialContainer
      3. 2AnvilResultPreviewContainer
      4. 3SmithingTableInputContainer
      5. 4SmithingTableMaterialContainer
      6. 5SmithingTableResultPreviewContainer
      7. 6ArmorContainer
      8. 7LevelEntityContainer
      9. 8BeaconPaymentContainer
      10. 9BrewingStandInputContainer
      11. 10BrewingStandResultContainer
      12. 11BrewingStandFuelContainer
      13. 12CombinedHotbarAndInventoryContainer
      14. 13CraftingInputContainer
      15. 14CraftingOutputPreviewContainer
      16. 15RecipeConstructionContainer
      17. 16RecipeNatureContainer
      18. 17RecipeItemsContainer
      19. 18RecipeFoodContainer
      20. 19RecipeBlocksContainer
      21. 20RecipeFurnaceItemsContainer
      22. 21RecipeSearchContainer
      23. 22RecipeSearchBarContainer
      24. 23RecipeEquipmentContainer
      25. 24RecipeBookContainer
      26. 25EnchantingInputContainer
      27. 26EnchantingMaterialContainer
      28. 27FurnaceFuelContainer
      29. 28FurnaceIngredientContainer
      30. 29FurnaceResultContainer
      31. 30HorseEquipContainer
      32. 31HotbarContainer
      33. 32InventoryContainer
      34. 33ShulkerBoxContainer
      35. 34TradeIngredient1Container
      36. 35TradeIngredient2Container
      37. 36TradeResultPreviewContainer
      38. 37OffhandContainer
      39. 38CompoundCreatorInput
      40. 39CompoundCreatorOutputPreview
      41. 40ElementConstructorOutputPreview
      42. 41MaterialReducerInput
      43. 42MaterialReducerOutput
      44. 43LabTableInput
      45. 44LoomInputContainer
      46. 45LoomDyeContainer
      47. 46LoomMaterialContainer
      48. 47LoomResultPreviewContainer
      49. 48BlastFurnaceIngredientContainer
      50. 49SmokerIngredientContainer
      51. 50Trade2Ingredient1Container
      52. 51Trade2Ingredient2Container
      53. 52Trade2ResultPreviewContainer
      54. 53GrindstoneInputContainer
      55. 54GrindstoneAdditionalContainer
      56. 55GrindstoneResultPreviewContainer
      57. 56StonecutterInputContainer
      58. 57StonecutterResultPreviewContainer
      59. 58CartographyInputContainer
      60. 59CartographyAdditionalContainer
      61. 60CartographyResultPreviewContainer
      62. 61BarrelContainer
      63. 62CursorContainer
      64. 63CreatedOutputContainer
      65. 64SmithingTableTemplateContainer
      66. 65CrafterLevelEntityContainer
      67. 66DynamicContainer
    2. 1Slotsarray<uint8>
  3. 2TransactiononeOf<NormalTransactionData, InventoryMismatchData, ItemUseInventoryTransaction, ItemUseOnActorInventoryTransaction, ItemReleaseInventoryTransaction>
    0NormalTransactionDataNormalTransactionData
    1. 0ActionsInventoryTransaction
      1. 0ActionsInventoryActionas array<InventoryAction>
        1. 0SourceInventorySource
          1. 0Source TypeCompressionEnum-as-ValueInventorySourceTypeas varuint32
            1. 0Container Inventory
            2. 1Global Inventory
            3. 2World Interaction
            4. 3Creative Inventory
            5. 4Non Implemented Feature TODO
          2. 1Container IDoptionalCompressionint8
          3. 2Bit FlagsoptionalCompressionEnum-as-ValueInventorySourceFlagsas varuint32
            1. 0No Flag
            2. 1World Interaction Random
        2. 1SlotCompressionvaruint32
    1InventoryMismatchDataInventoryMismatchData
    1. 0ActionsInventoryTransaction
      1. 0ActionsInventoryActionas array<InventoryAction>
        1. 0SourceInventorySource
          1. 0Source TypeCompressionEnum-as-ValueInventorySourceTypeas varuint32
            1. 0Container Inventory
            2. 1Global Inventory
            3. 2World Interaction
            4. 3Creative Inventory
            5. 4Non Implemented Feature TODO
          2. 1Container IDoptionalCompressionint8
          3. 2Bit FlagsoptionalCompressionEnum-as-ValueInventorySourceFlagsas varuint32
            1. 0No Flag
            2. 1World Interaction Random
        2. 1SlotCompressionvaruint32
    2ItemUseInventoryTransactionItemUseInventoryTransaction
    1. 0ActionsInventoryTransaction
      1. 0ActionsInventoryActionas array<InventoryAction>
        1. 0SourceInventorySource
          1. 0Source TypeCompressionEnum-as-ValueInventorySourceTypeas varuint32
            1. 0Container Inventory
            2. 1Global Inventory
            3. 2World Interaction
            4. 3Creative Inventory
            5. 4Non Implemented Feature TODO
          2. 1Container IDoptionalCompressionint8
          3. 2Bit FlagsoptionalCompressionEnum-as-ValueInventorySourceFlagsas varuint32
            1. 0No Flag
            2. 1World Interaction Random
        2. 1SlotCompressionvaruint32
    2. 1Action TypeCompressionEnum-as-ValueItemUseActionTypeas varint32
      1. 0Place
      2. 1Use
      3. 2Destroy
      4. 3Use As Attack
    3. 2Trigger TypeCompressionEnum-as-ValueItemUseTriggerTypeas uint8
      1. 0Unknown
      2. 1Player Input
      3. 2Simulation Tick
    4. 3PositionBlockPos
      1. 0XCompressionvarint32
      2. 1YCompressionvarint32
      3. 2ZCompressionvarint32
    5. 4FaceCompressionuint8
    6. 5SlotCompressionvarint32
    7. 7From PositionVec3
    8. 8Click PositionVec3
    9. 9Target Block IdCompressionvaruint32
    10. 10Client Interact PredictionEnum-as-ValueItemUsePredictedResultas uint8
      1. 0Failure
      2. 1Success
    11. 11Client Cooldown StateEnum-as-ValueItemUseClientCooldownStateas uint8
      1. 0Off
      2. 1On
    3ItemUseOnActorInventoryTransactionItemUseOnActorInventoryTransaction
    1. 0ActionsInventoryTransaction
      1. 0ActionsInventoryActionas array<InventoryAction>
        1. 0SourceInventorySource
          1. 0Source TypeCompressionEnum-as-ValueInventorySourceTypeas varuint32
            1. 0Container Inventory
            2. 1Global Inventory
            3. 2World Interaction
            4. 3Creative Inventory
            5. 4Non Implemented Feature TODO
          2. 1Container IDoptionalCompressionint8
          3. 2Bit FlagsoptionalCompressionEnum-as-ValueInventorySourceFlagsas varuint32
            1. 0No Flag
            2. 1World Interaction Random
        2. 1SlotCompressionvaruint32
    2. 1Runtime IdActorRuntimeID
      1. 0Actor Runtime IDCompressionvaruint64
    3. 2Action TypeCompressionEnum-as-ValueItemUseOnActorActionTypeas varint32
      1. 0Interact
      2. 1Attack
      3. 2Item Interact
    4. 3SlotCompressionvarint32
    5. 5From PositionVec3
    6. 6Hit PositionVec3
    4ItemReleaseInventoryTransactionItemReleaseInventoryTransaction
    1. 0ActionsInventoryTransaction
      1. 0ActionsInventoryActionas array<InventoryAction>
        1. 0SourceInventorySource
          1. 0Source TypeCompressionEnum-as-ValueInventorySourceTypeas varuint32
            1. 0Container Inventory
            2. 1Global Inventory
            3. 2World Interaction
            4. 3Creative Inventory
            5. 4Non Implemented Feature TODO
          2. 1Container IDoptionalCompressionint8
          3. 2Bit FlagsoptionalCompressionEnum-as-ValueInventorySourceFlagsas varuint32
            1. 0No Flag
            2. 1World Interaction Random
        2. 1SlotCompressionvaruint32
    2. 1Action TypeCompressionEnum-as-ValueItemReleaseActionTypeas varint32
      1. 0Release
      2. 1Use
    3. 2SlotCompressionvarint32
    4. 4From PositionVec3

Changelog

Stable releases

Changes between stable protocol releases.

No stable release changes are recorded for this packet.