minecraft-data 3.83.1 → 3.84.1

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 (124) 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 +4405 -0
  111. package/minecraft-data/data/bedrock/1.21.50/protocol.json +87 -98
  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 +13214 -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 +135 -63
  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/common/protocolVersions.json +40 -0
  123. package/minecraft-data/doc/history.md +13 -0
  124. 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
@@ -493,8 +494,14 @@ TransactionUseItem:
493
494
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
494
495
  # and specifies the way the player interacted with the block.
495
496
  action_type: varint =>
497
+ # Right click item use on a surface like placing a block
496
498
  0: click_block
499
+ # Start right click and hold style item use or potentially interact with nothing.
500
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
501
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
497
502
  1: click_air
503
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
504
+ # Instead, block actions are supplied in Player Auth Input.
498
505
  2: break_block
499
506
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
500
507
  # block position if ActionType is not UseItemActionClickAir.
@@ -567,10 +574,19 @@ Transaction:
567
574
  legacy: TransactionLegacy
568
575
  # What type of transaction took place
569
576
  transaction_type: varint =>
577
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
570
578
  0: normal
579
+ # Sent from server to client to reject a transaction
571
580
  1: inventory_mismatch
581
+ # Sent for a player performing right click style item use.
582
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
572
583
  2: item_use
584
+ # Sent for a player right clicking on an entity or attacking them.
585
+ # See ItemUseInventoryTransaction::ActionType for which it is.
573
586
  3: item_use_on_entity
587
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
588
+ # This is different than canceling item use early which would be in Player Auth Input.
589
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
574
590
  4: item_release
575
591
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
576
592
  actions: TransactionActions
@@ -589,7 +605,9 @@ Transaction:
589
605
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
590
606
  # found in the constants above, and specifies the way the player interacted with the entity.
591
607
  action_type: varint =>
608
+ # Right click interact with actor.
592
609
  0: interact
610
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
593
611
  1: attack
594
612
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
595
613
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -610,7 +628,9 @@ Transaction:
610
628
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
611
629
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
612
630
  action_type: varint =>
631
+ # Release right click and hold style item use, like firing a bow
613
632
  0: release
633
+ # Finish right click and hold style item use, like charging a crossbow
614
634
  1: consume
615
635
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
616
636
  # 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",
@@ -8799,7 +8800,10 @@
8799
8800
  },
8800
8801
  {
8801
8802
  "name": "molang_variables",
8802
- "type": "ByteArray"
8803
+ "type": [
8804
+ "option",
8805
+ "string"
8806
+ ]
8803
8807
  }
8804
8808
  ]
8805
8809
  ],
@@ -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
@@ -497,8 +498,14 @@ TransactionUseItem:
497
498
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
498
499
  # and specifies the way the player interacted with the block.
499
500
  action_type: varint =>
501
+ # Right click item use on a surface like placing a block
500
502
  0: click_block
503
+ # Start right click and hold style item use or potentially interact with nothing.
504
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
505
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
501
506
  1: click_air
507
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
508
+ # Instead, block actions are supplied in Player Auth Input.
502
509
  2: break_block
503
510
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
504
511
  # block position if ActionType is not UseItemActionClickAir.
@@ -571,10 +578,19 @@ Transaction:
571
578
  legacy: TransactionLegacy
572
579
  # What type of transaction took place
573
580
  transaction_type: varint =>
581
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
574
582
  0: normal
583
+ # Sent from server to client to reject a transaction
575
584
  1: inventory_mismatch
585
+ # Sent for a player performing right click style item use.
586
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
576
587
  2: item_use
588
+ # Sent for a player right clicking on an entity or attacking them.
589
+ # See ItemUseInventoryTransaction::ActionType for which it is.
577
590
  3: item_use_on_entity
591
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
592
+ # This is different than canceling item use early which would be in Player Auth Input.
593
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
578
594
  4: item_release
579
595
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
580
596
  actions: TransactionActions
@@ -593,7 +609,9 @@ Transaction:
593
609
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
594
610
  # found in the constants above, and specifies the way the player interacted with the entity.
595
611
  action_type: varint =>
612
+ # Right click interact with actor.
596
613
  0: interact
614
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
597
615
  1: attack
598
616
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
599
617
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -614,7 +632,9 @@ Transaction:
614
632
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
615
633
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
616
634
  action_type: varint =>
635
+ # Release right click and hold style item use, like firing a bow
617
636
  0: release
637
+ # Finish right click and hold style item use, like charging a crossbow
618
638
  1: consume
619
639
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
620
640
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1120,13 +1120,23 @@ packet_animate:
1120
1120
  !id: 0x2c
1121
1121
  !bound: both
1122
1122
  action_id: zigzag32 =>
1123
+ # Unused
1123
1124
  0: none
1125
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1126
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1124
1127
  1: swing_arm
1125
1128
  2: unknown
1129
+ # Client bound notification to stop sleeping in a bed
1126
1130
  3: wake_up
1131
+ # Client-bound notification to play critical hit particles
1127
1132
  4: critical_hit
1133
+ # Unused
1128
1134
  5: magic_critical_hit
1135
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1136
+ # See Player Auth Input for how to compute this in the latest protocol.
1129
1137
  128: row_right
1138
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1139
+ # See Player Auth Input for how to compute this in the latest protocol.
1130
1140
  129: row_left
1131
1141
  runtime_entity_id: varint64
1132
1142
  _: action_id ?
@@ -2588,8 +2598,7 @@ packet_spawn_particle_effect:
2588
2598
  particle_name: string
2589
2599
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2590
2600
  # just be left empty in most cases.
2591
- # TODO: Investigate, probably not a ByteArray...
2592
- molang_variables: ByteArray
2601
+ molang_variables?: string
2593
2602
 
2594
2603
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2595
2604
  # 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",
@@ -8844,7 +8845,10 @@
8844
8845
  },
8845
8846
  {
8846
8847
  "name": "molang_variables",
8847
- "type": "ByteArray"
8848
+ "type": [
8849
+ "option",
8850
+ "string"
8851
+ ]
8848
8852
  }
8849
8853
  ]
8850
8854
  ],
@@ -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
@@ -497,8 +498,14 @@ TransactionUseItem:
497
498
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
498
499
  # and specifies the way the player interacted with the block.
499
500
  action_type: varint =>
501
+ # Right click item use on a surface like placing a block
500
502
  0: click_block
503
+ # Start right click and hold style item use or potentially interact with nothing.
504
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
505
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
501
506
  1: click_air
507
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
508
+ # Instead, block actions are supplied in Player Auth Input.
502
509
  2: break_block
503
510
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
504
511
  # block position if ActionType is not UseItemActionClickAir.
@@ -571,10 +578,19 @@ Transaction:
571
578
  legacy: TransactionLegacy
572
579
  # What type of transaction took place
573
580
  transaction_type: varint =>
581
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
574
582
  0: normal
583
+ # Sent from server to client to reject a transaction
575
584
  1: inventory_mismatch
585
+ # Sent for a player performing right click style item use.
586
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
576
587
  2: item_use
588
+ # Sent for a player right clicking on an entity or attacking them.
589
+ # See ItemUseInventoryTransaction::ActionType for which it is.
577
590
  3: item_use_on_entity
591
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
592
+ # This is different than canceling item use early which would be in Player Auth Input.
593
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
578
594
  4: item_release
579
595
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
580
596
  actions: TransactionActions
@@ -593,7 +609,9 @@ Transaction:
593
609
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
594
610
  # found in the constants above, and specifies the way the player interacted with the entity.
595
611
  action_type: varint =>
612
+ # Right click interact with actor.
596
613
  0: interact
614
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
597
615
  1: attack
598
616
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
599
617
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -614,7 +632,9 @@ Transaction:
614
632
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
615
633
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
616
634
  action_type: varint =>
635
+ # Release right click and hold style item use, like firing a bow
617
636
  0: release
637
+ # Finish right click and hold style item use, like charging a crossbow
618
638
  1: consume
619
639
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
620
640
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1120,13 +1120,23 @@ packet_animate:
1120
1120
  !id: 0x2c
1121
1121
  !bound: both
1122
1122
  action_id: zigzag32 =>
1123
+ # Unused
1123
1124
  0: none
1125
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1126
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1124
1127
  1: swing_arm
1125
1128
  2: unknown
1129
+ # Client bound notification to stop sleeping in a bed
1126
1130
  3: wake_up
1131
+ # Client-bound notification to play critical hit particles
1127
1132
  4: critical_hit
1133
+ # Unused
1128
1134
  5: magic_critical_hit
1135
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1136
+ # See Player Auth Input for how to compute this in the latest protocol.
1129
1137
  128: row_right
1138
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1139
+ # See Player Auth Input for how to compute this in the latest protocol.
1130
1140
  129: row_left
1131
1141
  runtime_entity_id: varint64
1132
1142
  _: action_id ?
@@ -2589,8 +2599,7 @@ packet_spawn_particle_effect:
2589
2599
  particle_name: string
2590
2600
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2591
2601
  # just be left empty in most cases.
2592
- # TODO: Investigate, probably not a ByteArray...
2593
- molang_variables: ByteArray
2602
+ molang_variables?: string
2594
2603
 
2595
2604
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2596
2605
  # 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",
@@ -8848,7 +8849,10 @@
8848
8849
  },
8849
8850
  {
8850
8851
  "name": "molang_variables",
8851
- "type": "ByteArray"
8852
+ "type": [
8853
+ "option",
8854
+ "string"
8855
+ ]
8852
8856
  }
8853
8857
  ]
8854
8858
  ],