minecraft-data 3.83.0 → 3.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.github/workflows/ci.yml +2 -2
  2. package/.github/workflows/npm-publish.yml +1 -1
  3. package/data.js +23 -1
  4. package/doc/history.md +8 -0
  5. package/minecraft-data/.github/workflows/bedrock-ci.yml +2 -2
  6. package/minecraft-data/.github/workflows/build-gh-pages.yml +2 -2
  7. package/minecraft-data/.github/workflows/ci.yml +1 -1
  8. package/minecraft-data/.github/workflows/update-helper.yml +1 -1
  9. package/minecraft-data/README.md +1 -1
  10. package/minecraft-data/data/bedrock/1.16.201/proto.yml +10 -0
  11. package/minecraft-data/data/bedrock/1.16.201/types.yml +13 -0
  12. package/minecraft-data/data/bedrock/1.16.210/proto.yml +10 -0
  13. package/minecraft-data/data/bedrock/1.16.210/protocol.json +11 -10
  14. package/minecraft-data/data/bedrock/1.16.210/types.yml +30 -10
  15. package/minecraft-data/data/bedrock/1.16.220/proto.yml +10 -0
  16. package/minecraft-data/data/bedrock/1.16.220/protocol.json +11 -10
  17. package/minecraft-data/data/bedrock/1.16.220/types.yml +30 -10
  18. package/minecraft-data/data/bedrock/1.17.0/proto.yml +10 -0
  19. package/minecraft-data/data/bedrock/1.17.0/protocol.json +11 -10
  20. package/minecraft-data/data/bedrock/1.17.0/types.yml +30 -10
  21. package/minecraft-data/data/bedrock/1.17.10/proto.yml +10 -0
  22. package/minecraft-data/data/bedrock/1.17.10/protocol.json +11 -10
  23. package/minecraft-data/data/bedrock/1.17.10/types.yml +30 -10
  24. package/minecraft-data/data/bedrock/1.17.30/proto.yml +10 -0
  25. package/minecraft-data/data/bedrock/1.17.30/protocol.json +11 -10
  26. package/minecraft-data/data/bedrock/1.17.30/types.yml +30 -10
  27. package/minecraft-data/data/bedrock/1.17.40/protocol.json +11 -10
  28. package/minecraft-data/data/bedrock/1.17.40/types.yml +30 -10
  29. package/minecraft-data/data/bedrock/1.18.0/proto.yml +10 -0
  30. package/minecraft-data/data/bedrock/1.18.0/protocol.json +11 -10
  31. package/minecraft-data/data/bedrock/1.18.0/types.yml +30 -10
  32. package/minecraft-data/data/bedrock/1.18.11/proto.yml +10 -0
  33. package/minecraft-data/data/bedrock/1.18.11/protocol.json +11 -10
  34. package/minecraft-data/data/bedrock/1.18.11/types.yml +30 -10
  35. package/minecraft-data/data/bedrock/1.18.30/proto.yml +11 -2
  36. package/minecraft-data/data/bedrock/1.18.30/protocol.json +15 -11
  37. package/minecraft-data/data/bedrock/1.18.30/types.yml +30 -10
  38. package/minecraft-data/data/bedrock/1.19.1/proto.yml +11 -2
  39. package/minecraft-data/data/bedrock/1.19.1/protocol.json +15 -11
  40. package/minecraft-data/data/bedrock/1.19.1/types.yml +30 -10
  41. package/minecraft-data/data/bedrock/1.19.10/proto.yml +11 -2
  42. package/minecraft-data/data/bedrock/1.19.10/protocol.json +15 -11
  43. package/minecraft-data/data/bedrock/1.19.10/types.yml +30 -10
  44. package/minecraft-data/data/bedrock/1.19.20/proto.yml +11 -2
  45. package/minecraft-data/data/bedrock/1.19.20/protocol.json +15 -11
  46. package/minecraft-data/data/bedrock/1.19.20/types.yml +30 -10
  47. package/minecraft-data/data/bedrock/1.19.21/proto.yml +11 -2
  48. package/minecraft-data/data/bedrock/1.19.21/protocol.json +15 -11
  49. package/minecraft-data/data/bedrock/1.19.21/types.yml +30 -10
  50. package/minecraft-data/data/bedrock/1.19.30/proto.yml +11 -2
  51. package/minecraft-data/data/bedrock/1.19.30/protocol.json +15 -11
  52. package/minecraft-data/data/bedrock/1.19.30/types.yml +30 -10
  53. package/minecraft-data/data/bedrock/1.19.40/proto.yml +11 -2
  54. package/minecraft-data/data/bedrock/1.19.40/protocol.json +15 -11
  55. package/minecraft-data/data/bedrock/1.19.40/types.yml +30 -10
  56. package/minecraft-data/data/bedrock/1.19.50/proto.yml +11 -2
  57. package/minecraft-data/data/bedrock/1.19.50/protocol.json +15 -11
  58. package/minecraft-data/data/bedrock/1.19.50/types.yml +30 -10
  59. package/minecraft-data/data/bedrock/1.19.60/proto.yml +11 -2
  60. package/minecraft-data/data/bedrock/1.19.60/protocol.json +15 -11
  61. package/minecraft-data/data/bedrock/1.19.60/types.yml +30 -10
  62. package/minecraft-data/data/bedrock/1.19.62/proto.yml +11 -2
  63. package/minecraft-data/data/bedrock/1.19.62/protocol.json +15 -11
  64. package/minecraft-data/data/bedrock/1.19.62/types.yml +30 -10
  65. package/minecraft-data/data/bedrock/1.19.70/proto.yml +11 -2
  66. package/minecraft-data/data/bedrock/1.19.70/protocol.json +15 -11
  67. package/minecraft-data/data/bedrock/1.19.70/types.yml +30 -10
  68. package/minecraft-data/data/bedrock/1.19.80/proto.yml +11 -2
  69. package/minecraft-data/data/bedrock/1.19.80/protocol.json +15 -11
  70. package/minecraft-data/data/bedrock/1.19.80/types.yml +30 -10
  71. package/minecraft-data/data/bedrock/1.20.0/proto.yml +11 -2
  72. package/minecraft-data/data/bedrock/1.20.0/protocol.json +15 -11
  73. package/minecraft-data/data/bedrock/1.20.0/types.yml +30 -10
  74. package/minecraft-data/data/bedrock/1.20.10/proto.yml +11 -2
  75. package/minecraft-data/data/bedrock/1.20.10/protocol.json +15 -11
  76. package/minecraft-data/data/bedrock/1.20.10/types.yml +30 -10
  77. package/minecraft-data/data/bedrock/1.20.30/proto.yml +43 -34
  78. package/minecraft-data/data/bedrock/1.20.30/protocol.json +15 -11
  79. package/minecraft-data/data/bedrock/1.20.30/types.yml +30 -10
  80. package/minecraft-data/data/bedrock/1.20.40/proto.yml +43 -34
  81. package/minecraft-data/data/bedrock/1.20.40/protocol.json +15 -11
  82. package/minecraft-data/data/bedrock/1.20.40/types.yml +30 -10
  83. package/minecraft-data/data/bedrock/1.20.50/proto.yml +43 -34
  84. package/minecraft-data/data/bedrock/1.20.50/protocol.json +15 -11
  85. package/minecraft-data/data/bedrock/1.20.50/types.yml +30 -10
  86. package/minecraft-data/data/bedrock/1.20.61/proto.yml +43 -34
  87. package/minecraft-data/data/bedrock/1.20.61/protocol.json +15 -11
  88. package/minecraft-data/data/bedrock/1.20.61/types.yml +30 -10
  89. package/minecraft-data/data/bedrock/1.20.71/proto.yml +43 -34
  90. package/minecraft-data/data/bedrock/1.20.71/protocol.json +15 -11
  91. package/minecraft-data/data/bedrock/1.20.71/types.yml +30 -10
  92. package/minecraft-data/data/bedrock/1.20.80/proto.yml +43 -34
  93. package/minecraft-data/data/bedrock/1.20.80/protocol.json +22 -12
  94. package/minecraft-data/data/bedrock/1.20.80/types.yml +36 -10
  95. package/minecraft-data/data/bedrock/1.21.0/proto.yml +43 -34
  96. package/minecraft-data/data/bedrock/1.21.0/protocol.json +34 -25
  97. package/minecraft-data/data/bedrock/1.21.0/types.yml +48 -23
  98. package/minecraft-data/data/bedrock/1.21.2/proto.yml +43 -34
  99. package/minecraft-data/data/bedrock/1.21.2/protocol.json +34 -25
  100. package/minecraft-data/data/bedrock/1.21.2/types.yml +48 -23
  101. package/minecraft-data/data/bedrock/1.21.20/proto.yml +43 -34
  102. package/minecraft-data/data/bedrock/1.21.20/protocol.json +35 -25
  103. package/minecraft-data/data/bedrock/1.21.20/types.yml +49 -23
  104. package/minecraft-data/data/bedrock/1.21.30/proto.yml +43 -34
  105. package/minecraft-data/data/bedrock/1.21.30/protocol.json +37 -25
  106. package/minecraft-data/data/bedrock/1.21.30/types.yml +51 -23
  107. package/minecraft-data/data/bedrock/1.21.42/proto.yml +44 -34
  108. package/minecraft-data/data/bedrock/1.21.42/protocol.json +44 -25
  109. package/minecraft-data/data/bedrock/1.21.42/types.yml +51 -23
  110. package/minecraft-data/data/bedrock/1.21.50/proto.yml +4410 -0
  111. package/minecraft-data/data/bedrock/1.21.50/protocol.json +44 -25
  112. package/minecraft-data/data/bedrock/1.21.50/types.yml +2466 -0
  113. package/minecraft-data/data/bedrock/1.21.60/language.json +10840 -0
  114. package/minecraft-data/data/bedrock/1.21.60/protocol.json +13244 -0
  115. package/minecraft-data/data/bedrock/1.21.60/version.json +6 -0
  116. package/minecraft-data/data/bedrock/common/features.json +5 -0
  117. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  118. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  119. package/minecraft-data/data/bedrock/latest/proto.yml +123 -46
  120. package/minecraft-data/data/bedrock/latest/types.yml +72 -33
  121. package/minecraft-data/data/dataPaths.json +24 -2
  122. package/minecraft-data/data/pc/1.21.4/entities.json +2813 -175
  123. package/minecraft-data/data/pc/common/protocolVersions.json +32 -0
  124. package/minecraft-data/doc/history.md +12 -0
  125. package/minecraft-data/tools/js/extractPcEntityMetadata.js +1 -1
  126. package/package.json +1 -1
@@ -186,8 +186,9 @@ MetadataDictionary: []varint
186
186
  16: minecart_display_block #int (id | (data << 16))
187
187
  17: minecart_display_offset #int
188
188
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
189
- 20: old_swell
190
- 21: swell_dir
189
+ 19: horse_type
190
+ 20: creeper_swell
191
+ 21: creeper_swell_direction
191
192
  22: charge_amount
192
193
  23: enderman_held_runtime_id #short
193
194
  24: entity_age #short
@@ -217,7 +218,7 @@ MetadataDictionary: []varint
217
218
  49: wither_target_1 #long
218
219
  50: wither_target_2 #long
219
220
  51: wither_target_3 #long
220
- 52: aerial_attack
221
+ 52: wither_aerial_attack
221
222
  53: boundingbox_width
222
223
  54: boundingbox_height
223
224
  55: fuse_length
@@ -225,7 +226,7 @@ MetadataDictionary: []varint
225
226
  57: rider_rotation_locked #byte
226
227
  58: rider_max_rotation #float
227
228
  59: rider_min_rotation #float
228
- 60: rider_rotation_offset
229
+ 60: rider_seat_rotation_offset
229
230
  61: area_effect_cloud_radius #float
230
231
  62: area_effect_cloud_waiting #int
231
232
  63: area_effect_cloud_particle_id #int
@@ -242,7 +243,7 @@ MetadataDictionary: []varint
242
243
  74: controlling_rider_seat_number #byte
243
244
  75: strength #int
244
245
  76: max_strength #int
245
- 77: spell_casting_color #int
246
+ 77: evoker_spell_casting_color #int
246
247
  78: limited_life
247
248
  79: armor_stand_pose_index # int
248
249
  80: ender_crystal_time_offset # int
@@ -260,11 +261,11 @@ MetadataDictionary: []varint
260
261
  92: flags_extended
261
262
  93: laying_amount
262
263
  94: laying_amount_previous
263
- 95: duration
264
- 96: spawn_time
265
- 97: change_rate
266
- 98: change_on_pickup
267
- 99: pickup_count
264
+ 95: area_effect_cloud_duration
265
+ 96: area_effect_cloud_spawn_time
266
+ 97: area_effect_cloud_change_rate
267
+ 98: area_effect_cloud_change_on_pickup
268
+ 99: area_effect_cloud_pickup_count
268
269
  100: interact_text
269
270
  101: trade_tier
270
271
  102: max_trade_tier
@@ -482,8 +483,14 @@ TransactionUseItem:
482
483
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
483
484
  # and specifies the way the player interacted with the block.
484
485
  action_type: varint =>
486
+ # Right click item use on a surface like placing a block
485
487
  0: click_block
488
+ # Start right click and hold style item use or potentially interact with nothing.
489
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
490
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
486
491
  1: click_air
492
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
493
+ # Instead, block actions are supplied in Player Auth Input.
487
494
  2: break_block
488
495
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
489
496
  # block position if ActionType is not UseItemActionClickAir.
@@ -556,10 +563,19 @@ Transaction:
556
563
  legacy: TransactionLegacy
557
564
  # What type of transaction took place
558
565
  transaction_type: varint =>
566
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
559
567
  0: normal
568
+ # Sent from server to client to reject a transaction
560
569
  1: inventory_mismatch
570
+ # Sent for a player performing right click style item use.
571
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
561
572
  2: item_use
573
+ # Sent for a player right clicking on an entity or attacking them.
574
+ # See ItemUseInventoryTransaction::ActionType for which it is.
562
575
  3: item_use_on_entity
576
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
577
+ # This is different than canceling item use early which would be in Player Auth Input.
578
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
563
579
  4: item_release
564
580
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
565
581
  actions: TransactionActions
@@ -578,7 +594,9 @@ Transaction:
578
594
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
579
595
  # found in the constants above, and specifies the way the player interacted with the entity.
580
596
  action_type: varint =>
597
+ # Right click interact with actor.
581
598
  0: interact
599
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
582
600
  1: attack
583
601
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
584
602
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -599,7 +617,9 @@ Transaction:
599
617
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
600
618
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
601
619
  action_type: varint =>
620
+ # Release right click and hold style item use, like firing a bow
602
621
  0: release
622
+ # Finish right click and hold style item use, like charging a crossbow
603
623
  1: consume
604
624
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
605
625
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1107,13 +1107,23 @@ packet_animate:
1107
1107
  !id: 0x2c
1108
1108
  !bound: both
1109
1109
  action_id: zigzag32 =>
1110
+ # Unused
1110
1111
  0: none
1112
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1113
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1111
1114
  1: swing_arm
1112
1115
  2: unknown
1116
+ # Client bound notification to stop sleeping in a bed
1113
1117
  3: wake_up
1118
+ # Client-bound notification to play critical hit particles
1114
1119
  4: critical_hit
1120
+ # Unused
1115
1121
  5: magic_critical_hit
1122
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1123
+ # See Player Auth Input for how to compute this in the latest protocol.
1116
1124
  128: row_right
1125
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1126
+ # See Player Auth Input for how to compute this in the latest protocol.
1117
1127
  129: row_left
1118
1128
  runtime_entity_id: varint64
1119
1129
  _: action_id ?
@@ -2571,8 +2581,7 @@ packet_spawn_particle_effect:
2571
2581
  particle_name: string
2572
2582
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2573
2583
  # just be left empty in most cases.
2574
- # TODO: Investigate, probably not a ByteArray...
2575
- molang_variables: ByteArray
2584
+ molang_variables?: string
2576
2585
 
2577
2586
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2578
2587
  # entities that are available on the server.
@@ -676,8 +676,9 @@
676
676
  "16": "minecart_display_block",
677
677
  "17": "minecart_display_offset",
678
678
  "18": "minecart_has_display",
679
- "20": "old_swell",
680
- "21": "swell_dir",
679
+ "19": "horse_type",
680
+ "20": "creeper_swell",
681
+ "21": "creeper_swell_direction",
681
682
  "22": "charge_amount",
682
683
  "23": "enderman_held_runtime_id",
683
684
  "24": "entity_age",
@@ -707,7 +708,7 @@
707
708
  "49": "wither_target_1",
708
709
  "50": "wither_target_2",
709
710
  "51": "wither_target_3",
710
- "52": "aerial_attack",
711
+ "52": "wither_aerial_attack",
711
712
  "53": "boundingbox_width",
712
713
  "54": "boundingbox_height",
713
714
  "55": "fuse_length",
@@ -715,7 +716,7 @@
715
716
  "57": "rider_rotation_locked",
716
717
  "58": "rider_max_rotation",
717
718
  "59": "rider_min_rotation",
718
- "60": "rider_rotation_offset",
719
+ "60": "rider_seat_rotation_offset",
719
720
  "61": "area_effect_cloud_radius",
720
721
  "62": "area_effect_cloud_waiting",
721
722
  "63": "area_effect_cloud_particle_id",
@@ -732,7 +733,7 @@
732
733
  "74": "controlling_rider_seat_number",
733
734
  "75": "strength",
734
735
  "76": "max_strength",
735
- "77": "spell_casting_color",
736
+ "77": "evoker_spell_casting_color",
736
737
  "78": "limited_life",
737
738
  "79": "armor_stand_pose_index",
738
739
  "80": "ender_crystal_time_offset",
@@ -750,11 +751,11 @@
750
751
  "92": "flags_extended",
751
752
  "93": "laying_amount",
752
753
  "94": "laying_amount_previous",
753
- "95": "duration",
754
- "96": "spawn_time",
755
- "97": "change_rate",
756
- "98": "change_on_pickup",
757
- "99": "pickup_count",
754
+ "95": "area_effect_cloud_duration",
755
+ "96": "area_effect_cloud_spawn_time",
756
+ "97": "area_effect_cloud_change_rate",
757
+ "98": "area_effect_cloud_change_on_pickup",
758
+ "99": "area_effect_cloud_pickup_count",
758
759
  "100": "interact_text",
759
760
  "101": "trade_tier",
760
761
  "102": "max_trade_tier",
@@ -8594,7 +8595,10 @@
8594
8595
  },
8595
8596
  {
8596
8597
  "name": "molang_variables",
8597
- "type": "ByteArray"
8598
+ "type": [
8599
+ "option",
8600
+ "string"
8601
+ ]
8598
8602
  }
8599
8603
  ]
8600
8604
  ],
@@ -186,8 +186,9 @@ MetadataDictionary: []varint
186
186
  16: minecart_display_block #int (id | (data << 16))
187
187
  17: minecart_display_offset #int
188
188
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
189
- 20: old_swell
190
- 21: swell_dir
189
+ 19: horse_type
190
+ 20: creeper_swell
191
+ 21: creeper_swell_direction
191
192
  22: charge_amount
192
193
  23: enderman_held_runtime_id #short
193
194
  24: entity_age #short
@@ -217,7 +218,7 @@ MetadataDictionary: []varint
217
218
  49: wither_target_1 #long
218
219
  50: wither_target_2 #long
219
220
  51: wither_target_3 #long
220
- 52: aerial_attack
221
+ 52: wither_aerial_attack
221
222
  53: boundingbox_width
222
223
  54: boundingbox_height
223
224
  55: fuse_length
@@ -225,7 +226,7 @@ MetadataDictionary: []varint
225
226
  57: rider_rotation_locked #byte
226
227
  58: rider_max_rotation #float
227
228
  59: rider_min_rotation #float
228
- 60: rider_rotation_offset
229
+ 60: rider_seat_rotation_offset
229
230
  61: area_effect_cloud_radius #float
230
231
  62: area_effect_cloud_waiting #int
231
232
  63: area_effect_cloud_particle_id #int
@@ -242,7 +243,7 @@ MetadataDictionary: []varint
242
243
  74: controlling_rider_seat_number #byte
243
244
  75: strength #int
244
245
  76: max_strength #int
245
- 77: spell_casting_color #int
246
+ 77: evoker_spell_casting_color #int
246
247
  78: limited_life
247
248
  79: armor_stand_pose_index # int
248
249
  80: ender_crystal_time_offset # int
@@ -260,11 +261,11 @@ MetadataDictionary: []varint
260
261
  92: flags_extended
261
262
  93: laying_amount
262
263
  94: laying_amount_previous
263
- 95: duration
264
- 96: spawn_time
265
- 97: change_rate
266
- 98: change_on_pickup
267
- 99: pickup_count
264
+ 95: area_effect_cloud_duration
265
+ 96: area_effect_cloud_spawn_time
266
+ 97: area_effect_cloud_change_rate
267
+ 98: area_effect_cloud_change_on_pickup
268
+ 99: area_effect_cloud_pickup_count
268
269
  100: interact_text
269
270
  101: trade_tier
270
271
  102: max_trade_tier
@@ -482,8 +483,14 @@ TransactionUseItem:
482
483
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
483
484
  # and specifies the way the player interacted with the block.
484
485
  action_type: varint =>
486
+ # Right click item use on a surface like placing a block
485
487
  0: click_block
488
+ # Start right click and hold style item use or potentially interact with nothing.
489
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
490
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
486
491
  1: click_air
492
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
493
+ # Instead, block actions are supplied in Player Auth Input.
487
494
  2: break_block
488
495
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
489
496
  # block position if ActionType is not UseItemActionClickAir.
@@ -556,10 +563,19 @@ Transaction:
556
563
  legacy: TransactionLegacy
557
564
  # What type of transaction took place
558
565
  transaction_type: varint =>
566
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
559
567
  0: normal
568
+ # Sent from server to client to reject a transaction
560
569
  1: inventory_mismatch
570
+ # Sent for a player performing right click style item use.
571
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
561
572
  2: item_use
573
+ # Sent for a player right clicking on an entity or attacking them.
574
+ # See ItemUseInventoryTransaction::ActionType for which it is.
562
575
  3: item_use_on_entity
576
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
577
+ # This is different than canceling item use early which would be in Player Auth Input.
578
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
563
579
  4: item_release
564
580
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
565
581
  actions: TransactionActions
@@ -578,7 +594,9 @@ Transaction:
578
594
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
579
595
  # found in the constants above, and specifies the way the player interacted with the entity.
580
596
  action_type: varint =>
597
+ # Right click interact with actor.
581
598
  0: interact
599
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
582
600
  1: attack
583
601
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
584
602
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -599,7 +617,9 @@ Transaction:
599
617
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
600
618
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
601
619
  action_type: varint =>
620
+ # Release right click and hold style item use, like firing a bow
602
621
  0: release
622
+ # Finish right click and hold style item use, like charging a crossbow
603
623
  1: consume
604
624
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
605
625
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1108,13 +1108,23 @@ packet_animate:
1108
1108
  !id: 0x2c
1109
1109
  !bound: both
1110
1110
  action_id: zigzag32 =>
1111
+ # Unused
1111
1112
  0: none
1113
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1114
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1112
1115
  1: swing_arm
1113
1116
  2: unknown
1117
+ # Client bound notification to stop sleeping in a bed
1114
1118
  3: wake_up
1119
+ # Client-bound notification to play critical hit particles
1115
1120
  4: critical_hit
1121
+ # Unused
1116
1122
  5: magic_critical_hit
1123
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1124
+ # See Player Auth Input for how to compute this in the latest protocol.
1117
1125
  128: row_right
1126
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1127
+ # See Player Auth Input for how to compute this in the latest protocol.
1118
1128
  129: row_left
1119
1129
  runtime_entity_id: varint64
1120
1130
  _: action_id ?
@@ -2574,8 +2584,7 @@ packet_spawn_particle_effect:
2574
2584
  particle_name: string
2575
2585
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2576
2586
  # just be left empty in most cases.
2577
- # TODO: Investigate, probably not a ByteArray...
2578
- molang_variables: ByteArray
2587
+ molang_variables?: string
2579
2588
 
2580
2589
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2581
2590
  # entities that are available on the server.
@@ -676,8 +676,9 @@
676
676
  "16": "minecart_display_block",
677
677
  "17": "minecart_display_offset",
678
678
  "18": "minecart_has_display",
679
- "20": "old_swell",
680
- "21": "swell_dir",
679
+ "19": "horse_type",
680
+ "20": "creeper_swell",
681
+ "21": "creeper_swell_direction",
681
682
  "22": "charge_amount",
682
683
  "23": "enderman_held_runtime_id",
683
684
  "24": "entity_age",
@@ -707,7 +708,7 @@
707
708
  "49": "wither_target_1",
708
709
  "50": "wither_target_2",
709
710
  "51": "wither_target_3",
710
- "52": "aerial_attack",
711
+ "52": "wither_aerial_attack",
711
712
  "53": "boundingbox_width",
712
713
  "54": "boundingbox_height",
713
714
  "55": "fuse_length",
@@ -715,7 +716,7 @@
715
716
  "57": "rider_rotation_locked",
716
717
  "58": "rider_max_rotation",
717
718
  "59": "rider_min_rotation",
718
- "60": "rider_rotation_offset",
719
+ "60": "rider_seat_rotation_offset",
719
720
  "61": "area_effect_cloud_radius",
720
721
  "62": "area_effect_cloud_waiting",
721
722
  "63": "area_effect_cloud_particle_id",
@@ -732,7 +733,7 @@
732
733
  "74": "controlling_rider_seat_number",
733
734
  "75": "strength",
734
735
  "76": "max_strength",
735
- "77": "spell_casting_color",
736
+ "77": "evoker_spell_casting_color",
736
737
  "78": "limited_life",
737
738
  "79": "armor_stand_pose_index",
738
739
  "80": "ender_crystal_time_offset",
@@ -750,11 +751,11 @@
750
751
  "92": "flags_extended",
751
752
  "93": "laying_amount",
752
753
  "94": "laying_amount_previous",
753
- "95": "duration",
754
- "96": "spawn_time",
755
- "97": "change_rate",
756
- "98": "change_on_pickup",
757
- "99": "pickup_count",
754
+ "95": "area_effect_cloud_duration",
755
+ "96": "area_effect_cloud_spawn_time",
756
+ "97": "area_effect_cloud_change_rate",
757
+ "98": "area_effect_cloud_change_on_pickup",
758
+ "99": "area_effect_cloud_pickup_count",
758
759
  "100": "interact_text",
759
760
  "101": "trade_tier",
760
761
  "102": "max_trade_tier",
@@ -8697,7 +8698,10 @@
8697
8698
  },
8698
8699
  {
8699
8700
  "name": "molang_variables",
8700
- "type": "ByteArray"
8701
+ "type": [
8702
+ "option",
8703
+ "string"
8704
+ ]
8701
8705
  }
8702
8706
  ]
8703
8707
  ],
@@ -186,8 +186,9 @@ MetadataDictionary: []varint
186
186
  16: minecart_display_block #int (id | (data << 16))
187
187
  17: minecart_display_offset #int
188
188
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
189
- 20: old_swell
190
- 21: swell_dir
189
+ 19: horse_type
190
+ 20: creeper_swell
191
+ 21: creeper_swell_direction
191
192
  22: charge_amount
192
193
  23: enderman_held_runtime_id #short
193
194
  24: entity_age #short
@@ -217,7 +218,7 @@ MetadataDictionary: []varint
217
218
  49: wither_target_1 #long
218
219
  50: wither_target_2 #long
219
220
  51: wither_target_3 #long
220
- 52: aerial_attack
221
+ 52: wither_aerial_attack
221
222
  53: boundingbox_width
222
223
  54: boundingbox_height
223
224
  55: fuse_length
@@ -225,7 +226,7 @@ MetadataDictionary: []varint
225
226
  57: rider_rotation_locked #byte
226
227
  58: rider_max_rotation #float
227
228
  59: rider_min_rotation #float
228
- 60: rider_rotation_offset
229
+ 60: rider_seat_rotation_offset
229
230
  61: area_effect_cloud_radius #float
230
231
  62: area_effect_cloud_waiting #int
231
232
  63: area_effect_cloud_particle_id #int
@@ -242,7 +243,7 @@ MetadataDictionary: []varint
242
243
  74: controlling_rider_seat_number #byte
243
244
  75: strength #int
244
245
  76: max_strength #int
245
- 77: spell_casting_color #int
246
+ 77: evoker_spell_casting_color #int
246
247
  78: limited_life
247
248
  79: armor_stand_pose_index # int
248
249
  80: ender_crystal_time_offset # int
@@ -260,11 +261,11 @@ MetadataDictionary: []varint
260
261
  92: flags_extended
261
262
  93: laying_amount
262
263
  94: laying_amount_previous
263
- 95: duration
264
- 96: spawn_time
265
- 97: change_rate
266
- 98: change_on_pickup
267
- 99: pickup_count
264
+ 95: area_effect_cloud_duration
265
+ 96: area_effect_cloud_spawn_time
266
+ 97: area_effect_cloud_change_rate
267
+ 98: area_effect_cloud_change_on_pickup
268
+ 99: area_effect_cloud_pickup_count
268
269
  100: interact_text
269
270
  101: trade_tier
270
271
  102: max_trade_tier
@@ -482,8 +483,14 @@ TransactionUseItem:
482
483
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
483
484
  # and specifies the way the player interacted with the block.
484
485
  action_type: varint =>
486
+ # Right click item use on a surface like placing a block
485
487
  0: click_block
488
+ # Start right click and hold style item use or potentially interact with nothing.
489
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
490
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
486
491
  1: click_air
492
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
493
+ # Instead, block actions are supplied in Player Auth Input.
487
494
  2: break_block
488
495
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
489
496
  # block position if ActionType is not UseItemActionClickAir.
@@ -556,10 +563,19 @@ Transaction:
556
563
  legacy: TransactionLegacy
557
564
  # What type of transaction took place
558
565
  transaction_type: varint =>
566
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
559
567
  0: normal
568
+ # Sent from server to client to reject a transaction
560
569
  1: inventory_mismatch
570
+ # Sent for a player performing right click style item use.
571
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
561
572
  2: item_use
573
+ # Sent for a player right clicking on an entity or attacking them.
574
+ # See ItemUseInventoryTransaction::ActionType for which it is.
562
575
  3: item_use_on_entity
576
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
577
+ # This is different than canceling item use early which would be in Player Auth Input.
578
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
563
579
  4: item_release
564
580
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
565
581
  actions: TransactionActions
@@ -578,7 +594,9 @@ Transaction:
578
594
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
579
595
  # found in the constants above, and specifies the way the player interacted with the entity.
580
596
  action_type: varint =>
597
+ # Right click interact with actor.
581
598
  0: interact
599
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
582
600
  1: attack
583
601
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
584
602
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -599,7 +617,9 @@ Transaction:
599
617
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
600
618
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
601
619
  action_type: varint =>
620
+ # Release right click and hold style item use, like firing a bow
602
621
  0: release
622
+ # Finish right click and hold style item use, like charging a crossbow
603
623
  1: consume
604
624
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
605
625
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1118,13 +1118,23 @@ packet_animate:
1118
1118
  !id: 0x2c
1119
1119
  !bound: both
1120
1120
  action_id: zigzag32 =>
1121
+ # Unused
1121
1122
  0: none
1123
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1124
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1122
1125
  1: swing_arm
1123
1126
  2: unknown
1127
+ # Client bound notification to stop sleeping in a bed
1124
1128
  3: wake_up
1129
+ # Client-bound notification to play critical hit particles
1125
1130
  4: critical_hit
1131
+ # Unused
1126
1132
  5: magic_critical_hit
1133
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1134
+ # See Player Auth Input for how to compute this in the latest protocol.
1127
1135
  128: row_right
1136
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1137
+ # See Player Auth Input for how to compute this in the latest protocol.
1128
1138
  129: row_left
1129
1139
  runtime_entity_id: varint64
1130
1140
  _: action_id ?
@@ -2584,8 +2594,7 @@ packet_spawn_particle_effect:
2584
2594
  particle_name: string
2585
2595
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2586
2596
  # just be left empty in most cases.
2587
- # TODO: Investigate, probably not a ByteArray...
2588
- molang_variables: ByteArray
2597
+ molang_variables?: string
2589
2598
 
2590
2599
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2591
2600
  # entities that are available on the server.
@@ -676,8 +676,9 @@
676
676
  "16": "minecart_display_block",
677
677
  "17": "minecart_display_offset",
678
678
  "18": "minecart_has_display",
679
- "20": "old_swell",
680
- "21": "swell_dir",
679
+ "19": "horse_type",
680
+ "20": "creeper_swell",
681
+ "21": "creeper_swell_direction",
681
682
  "22": "charge_amount",
682
683
  "23": "enderman_held_runtime_id",
683
684
  "24": "entity_age",
@@ -707,7 +708,7 @@
707
708
  "49": "wither_target_1",
708
709
  "50": "wither_target_2",
709
710
  "51": "wither_target_3",
710
- "52": "aerial_attack",
711
+ "52": "wither_aerial_attack",
711
712
  "53": "boundingbox_width",
712
713
  "54": "boundingbox_height",
713
714
  "55": "fuse_length",
@@ -715,7 +716,7 @@
715
716
  "57": "rider_rotation_locked",
716
717
  "58": "rider_max_rotation",
717
718
  "59": "rider_min_rotation",
718
- "60": "rider_rotation_offset",
719
+ "60": "rider_seat_rotation_offset",
719
720
  "61": "area_effect_cloud_radius",
720
721
  "62": "area_effect_cloud_waiting",
721
722
  "63": "area_effect_cloud_particle_id",
@@ -732,7 +733,7 @@
732
733
  "74": "controlling_rider_seat_number",
733
734
  "75": "strength",
734
735
  "76": "max_strength",
735
- "77": "spell_casting_color",
736
+ "77": "evoker_spell_casting_color",
736
737
  "78": "limited_life",
737
738
  "79": "armor_stand_pose_index",
738
739
  "80": "ender_crystal_time_offset",
@@ -750,11 +751,11 @@
750
751
  "92": "flags_extended",
751
752
  "93": "laying_amount",
752
753
  "94": "laying_amount_previous",
753
- "95": "duration",
754
- "96": "spawn_time",
755
- "97": "change_rate",
756
- "98": "change_on_pickup",
757
- "99": "pickup_count",
754
+ "95": "area_effect_cloud_duration",
755
+ "96": "area_effect_cloud_spawn_time",
756
+ "97": "area_effect_cloud_change_rate",
757
+ "98": "area_effect_cloud_change_on_pickup",
758
+ "99": "area_effect_cloud_pickup_count",
758
759
  "100": "interact_text",
759
760
  "101": "trade_tier",
760
761
  "102": "max_trade_tier",
@@ -8779,7 +8780,10 @@
8779
8780
  },
8780
8781
  {
8781
8782
  "name": "molang_variables",
8782
- "type": "ByteArray"
8783
+ "type": [
8784
+ "option",
8785
+ "string"
8786
+ ]
8783
8787
  }
8784
8788
  ]
8785
8789
  ],