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
@@ -185,8 +185,9 @@ MetadataDictionary: []varint
185
185
  16: minecart_display_block #int (id | (data << 16))
186
186
  17: minecart_display_offset #int
187
187
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
188
- 20: old_swell
189
- 21: swell_dir
188
+ 19: horse_type
189
+ 20: creeper_swell
190
+ 21: creeper_swell_direction
190
191
  22: charge_amount
191
192
  23: enderman_held_runtime_id #short
192
193
  24: entity_age #short
@@ -216,7 +217,7 @@ MetadataDictionary: []varint
216
217
  49: wither_target_1 #long
217
218
  50: wither_target_2 #long
218
219
  51: wither_target_3 #long
219
- 52: aerial_attack
220
+ 52: wither_aerial_attack
220
221
  53: boundingbox_width
221
222
  54: boundingbox_height
222
223
  55: fuse_length
@@ -224,7 +225,7 @@ MetadataDictionary: []varint
224
225
  57: rider_rotation_locked #byte
225
226
  58: rider_max_rotation #float
226
227
  59: rider_min_rotation #float
227
- 60: rider_rotation_offset
228
+ 60: rider_seat_rotation_offset
228
229
  61: area_effect_cloud_radius #float
229
230
  62: area_effect_cloud_waiting #int
230
231
  63: area_effect_cloud_particle_id #int
@@ -241,7 +242,7 @@ MetadataDictionary: []varint
241
242
  74: controlling_rider_seat_number #byte
242
243
  75: strength #int
243
244
  76: max_strength #int
244
- 77: spell_casting_color #int
245
+ 77: evoker_spell_casting_color #int
245
246
  78: limited_life
246
247
  79: armor_stand_pose_index # int
247
248
  80: ender_crystal_time_offset # int
@@ -259,11 +260,11 @@ MetadataDictionary: []varint
259
260
  92: flags_extended
260
261
  93: laying_amount
261
262
  94: laying_amount_previous
262
- 95: duration
263
- 96: spawn_time
264
- 97: change_rate
265
- 98: change_on_pickup
266
- 99: pickup_count
263
+ 95: area_effect_cloud_duration
264
+ 96: area_effect_cloud_spawn_time
265
+ 97: area_effect_cloud_change_rate
266
+ 98: area_effect_cloud_change_on_pickup
267
+ 99: area_effect_cloud_pickup_count
267
268
  100: interact_text
268
269
  101: trade_tier
269
270
  102: max_trade_tier
@@ -463,8 +464,14 @@ TransactionUseItem:
463
464
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
464
465
  # and specifies the way the player interacted with the block.
465
466
  action_type: varint =>
467
+ # Right click item use on a surface like placing a block
466
468
  0: click_block
469
+ # Start right click and hold style item use or potentially interact with nothing.
470
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
471
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
467
472
  1: click_air
473
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
474
+ # Instead, block actions are supplied in Player Auth Input.
468
475
  2: break_block
469
476
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
470
477
  # block position if ActionType is not UseItemActionClickAir.
@@ -537,10 +544,19 @@ Transaction:
537
544
  legacy: TransactionLegacy
538
545
  # What type of transaction took place
539
546
  transaction_type: varint =>
547
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
540
548
  0: normal
549
+ # Sent from server to client to reject a transaction
541
550
  1: inventory_mismatch
551
+ # Sent for a player performing right click style item use.
552
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
542
553
  2: item_use
554
+ # Sent for a player right clicking on an entity or attacking them.
555
+ # See ItemUseInventoryTransaction::ActionType for which it is.
543
556
  3: item_use_on_entity
557
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
558
+ # This is different than canceling item use early which would be in Player Auth Input.
559
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
544
560
  4: item_release
545
561
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
546
562
  actions: TransactionActions
@@ -559,7 +575,9 @@ Transaction:
559
575
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
560
576
  # found in the constants above, and specifies the way the player interacted with the entity.
561
577
  action_type: varint =>
578
+ # Right click interact with actor.
562
579
  0: interact
580
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
563
581
  1: attack
564
582
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
565
583
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -580,7 +598,9 @@ Transaction:
580
598
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
581
599
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
582
600
  action_type: varint =>
601
+ # Release right click and hold style item use, like firing a bow
583
602
  0: release
603
+ # Finish right click and hold style item use, like charging a crossbow
584
604
  1: consume
585
605
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
586
606
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1019,13 +1019,23 @@ packet_animate:
1019
1019
  !id: 0x2c
1020
1020
  !bound: both
1021
1021
  action_id: zigzag32 =>
1022
+ # Unused
1022
1023
  0: none
1024
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1025
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1023
1026
  1: swing_arm
1024
1027
  2: unknown
1028
+ # Client bound notification to stop sleeping in a bed
1025
1029
  3: wake_up
1030
+ # Client-bound notification to play critical hit particles
1026
1031
  4: critical_hit
1032
+ # Unused
1027
1033
  5: magic_critical_hit
1034
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1035
+ # See Player Auth Input for how to compute this in the latest protocol.
1028
1036
  128: row_right
1037
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1038
+ # See Player Auth Input for how to compute this in the latest protocol.
1029
1039
  129: row_left
1030
1040
  runtime_entity_id: varint64
1031
1041
  _: action_id ?
@@ -675,8 +675,9 @@
675
675
  "16": "minecart_display_block",
676
676
  "17": "minecart_display_offset",
677
677
  "18": "minecart_has_display",
678
- "20": "old_swell",
679
- "21": "swell_dir",
678
+ "19": "horse_type",
679
+ "20": "creeper_swell",
680
+ "21": "creeper_swell_direction",
680
681
  "22": "charge_amount",
681
682
  "23": "enderman_held_runtime_id",
682
683
  "24": "entity_age",
@@ -706,7 +707,7 @@
706
707
  "49": "wither_target_1",
707
708
  "50": "wither_target_2",
708
709
  "51": "wither_target_3",
709
- "52": "aerial_attack",
710
+ "52": "wither_aerial_attack",
710
711
  "53": "boundingbox_width",
711
712
  "54": "boundingbox_height",
712
713
  "55": "fuse_length",
@@ -714,7 +715,7 @@
714
715
  "57": "rider_rotation_locked",
715
716
  "58": "rider_max_rotation",
716
717
  "59": "rider_min_rotation",
717
- "60": "rider_rotation_offset",
718
+ "60": "rider_seat_rotation_offset",
718
719
  "61": "area_effect_cloud_radius",
719
720
  "62": "area_effect_cloud_waiting",
720
721
  "63": "area_effect_cloud_particle_id",
@@ -731,7 +732,7 @@
731
732
  "74": "controlling_rider_seat_number",
732
733
  "75": "strength",
733
734
  "76": "max_strength",
734
- "77": "spell_casting_color",
735
+ "77": "evoker_spell_casting_color",
735
736
  "78": "limited_life",
736
737
  "79": "armor_stand_pose_index",
737
738
  "80": "ender_crystal_time_offset",
@@ -749,11 +750,11 @@
749
750
  "92": "flags_extended",
750
751
  "93": "laying_amount",
751
752
  "94": "laying_amount_previous",
752
- "95": "duration",
753
- "96": "spawn_time",
754
- "97": "change_rate",
755
- "98": "change_on_pickup",
756
- "99": "pickup_count",
753
+ "95": "area_effect_cloud_duration",
754
+ "96": "area_effect_cloud_spawn_time",
755
+ "97": "area_effect_cloud_change_rate",
756
+ "98": "area_effect_cloud_change_on_pickup",
757
+ "99": "area_effect_cloud_pickup_count",
757
758
  "100": "interact_text",
758
759
  "101": "trade_tier",
759
760
  "102": "max_trade_tier",
@@ -185,8 +185,9 @@ MetadataDictionary: []varint
185
185
  16: minecart_display_block #int (id | (data << 16))
186
186
  17: minecart_display_offset #int
187
187
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
188
- 20: old_swell
189
- 21: swell_dir
188
+ 19: horse_type
189
+ 20: creeper_swell
190
+ 21: creeper_swell_direction
190
191
  22: charge_amount
191
192
  23: enderman_held_runtime_id #short
192
193
  24: entity_age #short
@@ -216,7 +217,7 @@ MetadataDictionary: []varint
216
217
  49: wither_target_1 #long
217
218
  50: wither_target_2 #long
218
219
  51: wither_target_3 #long
219
- 52: aerial_attack
220
+ 52: wither_aerial_attack
220
221
  53: boundingbox_width
221
222
  54: boundingbox_height
222
223
  55: fuse_length
@@ -224,7 +225,7 @@ MetadataDictionary: []varint
224
225
  57: rider_rotation_locked #byte
225
226
  58: rider_max_rotation #float
226
227
  59: rider_min_rotation #float
227
- 60: rider_rotation_offset
228
+ 60: rider_seat_rotation_offset
228
229
  61: area_effect_cloud_radius #float
229
230
  62: area_effect_cloud_waiting #int
230
231
  63: area_effect_cloud_particle_id #int
@@ -241,7 +242,7 @@ MetadataDictionary: []varint
241
242
  74: controlling_rider_seat_number #byte
242
243
  75: strength #int
243
244
  76: max_strength #int
244
- 77: spell_casting_color #int
245
+ 77: evoker_spell_casting_color #int
245
246
  78: limited_life
246
247
  79: armor_stand_pose_index # int
247
248
  80: ender_crystal_time_offset # int
@@ -259,11 +260,11 @@ MetadataDictionary: []varint
259
260
  92: flags_extended
260
261
  93: laying_amount
261
262
  94: laying_amount_previous
262
- 95: duration
263
- 96: spawn_time
264
- 97: change_rate
265
- 98: change_on_pickup
266
- 99: pickup_count
263
+ 95: area_effect_cloud_duration
264
+ 96: area_effect_cloud_spawn_time
265
+ 97: area_effect_cloud_change_rate
266
+ 98: area_effect_cloud_change_on_pickup
267
+ 99: area_effect_cloud_pickup_count
267
268
  100: interact_text
268
269
  101: trade_tier
269
270
  102: max_trade_tier
@@ -463,8 +464,14 @@ TransactionUseItem:
463
464
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
464
465
  # and specifies the way the player interacted with the block.
465
466
  action_type: varint =>
467
+ # Right click item use on a surface like placing a block
466
468
  0: click_block
469
+ # Start right click and hold style item use or potentially interact with nothing.
470
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
471
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
467
472
  1: click_air
473
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
474
+ # Instead, block actions are supplied in Player Auth Input.
468
475
  2: break_block
469
476
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
470
477
  # block position if ActionType is not UseItemActionClickAir.
@@ -537,10 +544,19 @@ Transaction:
537
544
  legacy: TransactionLegacy
538
545
  # What type of transaction took place
539
546
  transaction_type: varint =>
547
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
540
548
  0: normal
549
+ # Sent from server to client to reject a transaction
541
550
  1: inventory_mismatch
551
+ # Sent for a player performing right click style item use.
552
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
542
553
  2: item_use
554
+ # Sent for a player right clicking on an entity or attacking them.
555
+ # See ItemUseInventoryTransaction::ActionType for which it is.
543
556
  3: item_use_on_entity
557
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
558
+ # This is different than canceling item use early which would be in Player Auth Input.
559
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
544
560
  4: item_release
545
561
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
546
562
  actions: TransactionActions
@@ -559,7 +575,9 @@ Transaction:
559
575
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
560
576
  # found in the constants above, and specifies the way the player interacted with the entity.
561
577
  action_type: varint =>
578
+ # Right click interact with actor.
562
579
  0: interact
580
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
563
581
  1: attack
564
582
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
565
583
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -580,7 +598,9 @@ Transaction:
580
598
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
581
599
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
582
600
  action_type: varint =>
601
+ # Release right click and hold style item use, like firing a bow
583
602
  0: release
603
+ # Finish right click and hold style item use, like charging a crossbow
584
604
  1: consume
585
605
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
586
606
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1019,13 +1019,23 @@ packet_animate:
1019
1019
  !id: 0x2c
1020
1020
  !bound: both
1021
1021
  action_id: zigzag32 =>
1022
+ # Unused
1022
1023
  0: none
1024
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1025
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1023
1026
  1: swing_arm
1024
1027
  2: unknown
1028
+ # Client bound notification to stop sleeping in a bed
1025
1029
  3: wake_up
1030
+ # Client-bound notification to play critical hit particles
1026
1031
  4: critical_hit
1032
+ # Unused
1027
1033
  5: magic_critical_hit
1034
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1035
+ # See Player Auth Input for how to compute this in the latest protocol.
1028
1036
  128: row_right
1037
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1038
+ # See Player Auth Input for how to compute this in the latest protocol.
1029
1039
  129: row_left
1030
1040
  runtime_entity_id: varint64
1031
1041
  _: action_id ?
@@ -675,8 +675,9 @@
675
675
  "16": "minecart_display_block",
676
676
  "17": "minecart_display_offset",
677
677
  "18": "minecart_has_display",
678
- "20": "old_swell",
679
- "21": "swell_dir",
678
+ "19": "horse_type",
679
+ "20": "creeper_swell",
680
+ "21": "creeper_swell_direction",
680
681
  "22": "charge_amount",
681
682
  "23": "enderman_held_runtime_id",
682
683
  "24": "entity_age",
@@ -706,7 +707,7 @@
706
707
  "49": "wither_target_1",
707
708
  "50": "wither_target_2",
708
709
  "51": "wither_target_3",
709
- "52": "aerial_attack",
710
+ "52": "wither_aerial_attack",
710
711
  "53": "boundingbox_width",
711
712
  "54": "boundingbox_height",
712
713
  "55": "fuse_length",
@@ -714,7 +715,7 @@
714
715
  "57": "rider_rotation_locked",
715
716
  "58": "rider_max_rotation",
716
717
  "59": "rider_min_rotation",
717
- "60": "rider_rotation_offset",
718
+ "60": "rider_seat_rotation_offset",
718
719
  "61": "area_effect_cloud_radius",
719
720
  "62": "area_effect_cloud_waiting",
720
721
  "63": "area_effect_cloud_particle_id",
@@ -731,7 +732,7 @@
731
732
  "74": "controlling_rider_seat_number",
732
733
  "75": "strength",
733
734
  "76": "max_strength",
734
- "77": "spell_casting_color",
735
+ "77": "evoker_spell_casting_color",
735
736
  "78": "limited_life",
736
737
  "79": "armor_stand_pose_index",
737
738
  "80": "ender_crystal_time_offset",
@@ -749,11 +750,11 @@
749
750
  "92": "flags_extended",
750
751
  "93": "laying_amount",
751
752
  "94": "laying_amount_previous",
752
- "95": "duration",
753
- "96": "spawn_time",
754
- "97": "change_rate",
755
- "98": "change_on_pickup",
756
- "99": "pickup_count",
753
+ "95": "area_effect_cloud_duration",
754
+ "96": "area_effect_cloud_spawn_time",
755
+ "97": "area_effect_cloud_change_rate",
756
+ "98": "area_effect_cloud_change_on_pickup",
757
+ "99": "area_effect_cloud_pickup_count",
757
758
  "100": "interact_text",
758
759
  "101": "trade_tier",
759
760
  "102": "max_trade_tier",
@@ -185,8 +185,9 @@ MetadataDictionary: []varint
185
185
  16: minecart_display_block #int (id | (data << 16))
186
186
  17: minecart_display_offset #int
187
187
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
188
- 20: old_swell
189
- 21: swell_dir
188
+ 19: horse_type
189
+ 20: creeper_swell
190
+ 21: creeper_swell_direction
190
191
  22: charge_amount
191
192
  23: enderman_held_runtime_id #short
192
193
  24: entity_age #short
@@ -216,7 +217,7 @@ MetadataDictionary: []varint
216
217
  49: wither_target_1 #long
217
218
  50: wither_target_2 #long
218
219
  51: wither_target_3 #long
219
- 52: aerial_attack
220
+ 52: wither_aerial_attack
220
221
  53: boundingbox_width
221
222
  54: boundingbox_height
222
223
  55: fuse_length
@@ -224,7 +225,7 @@ MetadataDictionary: []varint
224
225
  57: rider_rotation_locked #byte
225
226
  58: rider_max_rotation #float
226
227
  59: rider_min_rotation #float
227
- 60: rider_rotation_offset
228
+ 60: rider_seat_rotation_offset
228
229
  61: area_effect_cloud_radius #float
229
230
  62: area_effect_cloud_waiting #int
230
231
  63: area_effect_cloud_particle_id #int
@@ -241,7 +242,7 @@ MetadataDictionary: []varint
241
242
  74: controlling_rider_seat_number #byte
242
243
  75: strength #int
243
244
  76: max_strength #int
244
- 77: spell_casting_color #int
245
+ 77: evoker_spell_casting_color #int
245
246
  78: limited_life
246
247
  79: armor_stand_pose_index # int
247
248
  80: ender_crystal_time_offset # int
@@ -259,11 +260,11 @@ MetadataDictionary: []varint
259
260
  92: flags_extended
260
261
  93: laying_amount
261
262
  94: laying_amount_previous
262
- 95: duration
263
- 96: spawn_time
264
- 97: change_rate
265
- 98: change_on_pickup
266
- 99: pickup_count
263
+ 95: area_effect_cloud_duration
264
+ 96: area_effect_cloud_spawn_time
265
+ 97: area_effect_cloud_change_rate
266
+ 98: area_effect_cloud_change_on_pickup
267
+ 99: area_effect_cloud_pickup_count
267
268
  100: interact_text
268
269
  101: trade_tier
269
270
  102: max_trade_tier
@@ -467,8 +468,14 @@ TransactionUseItem:
467
468
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
468
469
  # and specifies the way the player interacted with the block.
469
470
  action_type: varint =>
471
+ # Right click item use on a surface like placing a block
470
472
  0: click_block
473
+ # Start right click and hold style item use or potentially interact with nothing.
474
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
475
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
471
476
  1: click_air
477
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
478
+ # Instead, block actions are supplied in Player Auth Input.
472
479
  2: break_block
473
480
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
474
481
  # block position if ActionType is not UseItemActionClickAir.
@@ -541,10 +548,19 @@ Transaction:
541
548
  legacy: TransactionLegacy
542
549
  # What type of transaction took place
543
550
  transaction_type: varint =>
551
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
544
552
  0: normal
553
+ # Sent from server to client to reject a transaction
545
554
  1: inventory_mismatch
555
+ # Sent for a player performing right click style item use.
556
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
546
557
  2: item_use
558
+ # Sent for a player right clicking on an entity or attacking them.
559
+ # See ItemUseInventoryTransaction::ActionType for which it is.
547
560
  3: item_use_on_entity
561
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
562
+ # This is different than canceling item use early which would be in Player Auth Input.
563
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
548
564
  4: item_release
549
565
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
550
566
  actions: TransactionActions
@@ -563,7 +579,9 @@ Transaction:
563
579
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
564
580
  # found in the constants above, and specifies the way the player interacted with the entity.
565
581
  action_type: varint =>
582
+ # Right click interact with actor.
566
583
  0: interact
584
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
567
585
  1: attack
568
586
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
569
587
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -584,7 +602,9 @@ Transaction:
584
602
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
585
603
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
586
604
  action_type: varint =>
605
+ # Release right click and hold style item use, like firing a bow
587
606
  0: release
607
+ # Finish right click and hold style item use, like charging a crossbow
588
608
  1: consume
589
609
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
590
610
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1027,13 +1027,23 @@ packet_animate:
1027
1027
  !id: 0x2c
1028
1028
  !bound: both
1029
1029
  action_id: zigzag32 =>
1030
+ # Unused
1030
1031
  0: none
1032
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1033
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1031
1034
  1: swing_arm
1032
1035
  2: unknown
1036
+ # Client bound notification to stop sleeping in a bed
1033
1037
  3: wake_up
1038
+ # Client-bound notification to play critical hit particles
1034
1039
  4: critical_hit
1040
+ # Unused
1035
1041
  5: magic_critical_hit
1042
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1043
+ # See Player Auth Input for how to compute this in the latest protocol.
1036
1044
  128: row_right
1045
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1046
+ # See Player Auth Input for how to compute this in the latest protocol.
1037
1047
  129: row_left
1038
1048
  runtime_entity_id: varint64
1039
1049
  _: action_id ?
@@ -2475,8 +2485,7 @@ packet_spawn_particle_effect:
2475
2485
  particle_name: string
2476
2486
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2477
2487
  # just be left empty in most cases.
2478
- # TODO: Investigate, probably not a ByteArray...
2479
- molang_variables: ByteArray
2488
+ molang_variables?: string
2480
2489
 
2481
2490
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2482
2491
  # 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",
@@ -8309,7 +8310,10 @@
8309
8310
  },
8310
8311
  {
8311
8312
  "name": "molang_variables",
8312
- "type": "ByteArray"
8313
+ "type": [
8314
+ "option",
8315
+ "string"
8316
+ ]
8313
8317
  }
8314
8318
  ]
8315
8319
  ],