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
@@ -475,8 +476,14 @@ TransactionUseItem:
475
476
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
476
477
  # and specifies the way the player interacted with the block.
477
478
  action_type: varint =>
479
+ # Right click item use on a surface like placing a block
478
480
  0: click_block
481
+ # Start right click and hold style item use or potentially interact with nothing.
482
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
483
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
479
484
  1: click_air
485
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
486
+ # Instead, block actions are supplied in Player Auth Input.
480
487
  2: break_block
481
488
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
482
489
  # block position if ActionType is not UseItemActionClickAir.
@@ -549,10 +556,19 @@ Transaction:
549
556
  legacy: TransactionLegacy
550
557
  # What type of transaction took place
551
558
  transaction_type: varint =>
559
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
552
560
  0: normal
561
+ # Sent from server to client to reject a transaction
553
562
  1: inventory_mismatch
563
+ # Sent for a player performing right click style item use.
564
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
554
565
  2: item_use
566
+ # Sent for a player right clicking on an entity or attacking them.
567
+ # See ItemUseInventoryTransaction::ActionType for which it is.
555
568
  3: item_use_on_entity
569
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
570
+ # This is different than canceling item use early which would be in Player Auth Input.
571
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
556
572
  4: item_release
557
573
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
558
574
  actions: TransactionActions
@@ -571,7 +587,9 @@ Transaction:
571
587
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
572
588
  # found in the constants above, and specifies the way the player interacted with the entity.
573
589
  action_type: varint =>
590
+ # Right click interact with actor.
574
591
  0: interact
592
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
575
593
  1: attack
576
594
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
577
595
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -592,7 +610,9 @@ Transaction:
592
610
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
593
611
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
594
612
  action_type: varint =>
613
+ # Release right click and hold style item use, like firing a bow
595
614
  0: release
615
+ # Finish right click and hold style item use, like charging a crossbow
596
616
  1: consume
597
617
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
598
618
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1037,13 +1037,23 @@ packet_animate:
1037
1037
  !id: 0x2c
1038
1038
  !bound: both
1039
1039
  action_id: zigzag32 =>
1040
+ # Unused
1040
1041
  0: none
1042
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1043
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1041
1044
  1: swing_arm
1042
1045
  2: unknown
1046
+ # Client bound notification to stop sleeping in a bed
1043
1047
  3: wake_up
1048
+ # Client-bound notification to play critical hit particles
1044
1049
  4: critical_hit
1050
+ # Unused
1045
1051
  5: magic_critical_hit
1052
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1053
+ # See Player Auth Input for how to compute this in the latest protocol.
1046
1054
  128: row_right
1055
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1056
+ # See Player Auth Input for how to compute this in the latest protocol.
1047
1057
  129: row_left
1048
1058
  runtime_entity_id: varint64
1049
1059
  _: action_id ?
@@ -2489,8 +2499,7 @@ packet_spawn_particle_effect:
2489
2499
  particle_name: string
2490
2500
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2491
2501
  # just be left empty in most cases.
2492
- # TODO: Investigate, probably not a ByteArray...
2493
- molang_variables: ByteArray
2502
+ molang_variables?: string
2494
2503
 
2495
2504
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2496
2505
  # 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",
@@ -8360,7 +8361,10 @@
8360
8361
  },
8361
8362
  {
8362
8363
  "name": "molang_variables",
8363
- "type": "ByteArray"
8364
+ "type": [
8365
+ "option",
8366
+ "string"
8367
+ ]
8364
8368
  }
8365
8369
  ]
8366
8370
  ],
@@ -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
@@ -475,8 +476,14 @@ TransactionUseItem:
475
476
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
476
477
  # and specifies the way the player interacted with the block.
477
478
  action_type: varint =>
479
+ # Right click item use on a surface like placing a block
478
480
  0: click_block
481
+ # Start right click and hold style item use or potentially interact with nothing.
482
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
483
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
479
484
  1: click_air
485
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
486
+ # Instead, block actions are supplied in Player Auth Input.
480
487
  2: break_block
481
488
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
482
489
  # block position if ActionType is not UseItemActionClickAir.
@@ -549,10 +556,19 @@ Transaction:
549
556
  legacy: TransactionLegacy
550
557
  # What type of transaction took place
551
558
  transaction_type: varint =>
559
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
552
560
  0: normal
561
+ # Sent from server to client to reject a transaction
553
562
  1: inventory_mismatch
563
+ # Sent for a player performing right click style item use.
564
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
554
565
  2: item_use
566
+ # Sent for a player right clicking on an entity or attacking them.
567
+ # See ItemUseInventoryTransaction::ActionType for which it is.
555
568
  3: item_use_on_entity
569
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
570
+ # This is different than canceling item use early which would be in Player Auth Input.
571
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
556
572
  4: item_release
557
573
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
558
574
  actions: TransactionActions
@@ -571,7 +587,9 @@ Transaction:
571
587
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
572
588
  # found in the constants above, and specifies the way the player interacted with the entity.
573
589
  action_type: varint =>
590
+ # Right click interact with actor.
574
591
  0: interact
592
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
575
593
  1: attack
576
594
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
577
595
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -592,7 +610,9 @@ Transaction:
592
610
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
593
611
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
594
612
  action_type: varint =>
613
+ # Release right click and hold style item use, like firing a bow
595
614
  0: release
615
+ # Finish right click and hold style item use, like charging a crossbow
596
616
  1: consume
597
617
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
598
618
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1093,13 +1093,23 @@ packet_animate:
1093
1093
  !id: 0x2c
1094
1094
  !bound: both
1095
1095
  action_id: zigzag32 =>
1096
+ # Unused
1096
1097
  0: none
1098
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1099
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1097
1100
  1: swing_arm
1098
1101
  2: unknown
1102
+ # Client bound notification to stop sleeping in a bed
1099
1103
  3: wake_up
1104
+ # Client-bound notification to play critical hit particles
1100
1105
  4: critical_hit
1106
+ # Unused
1101
1107
  5: magic_critical_hit
1108
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1109
+ # See Player Auth Input for how to compute this in the latest protocol.
1102
1110
  128: row_right
1111
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1112
+ # See Player Auth Input for how to compute this in the latest protocol.
1103
1113
  129: row_left
1104
1114
  runtime_entity_id: varint64
1105
1115
  _: action_id ?
@@ -2540,8 +2550,7 @@ packet_spawn_particle_effect:
2540
2550
  particle_name: string
2541
2551
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2542
2552
  # just be left empty in most cases.
2543
- # TODO: Investigate, probably not a ByteArray...
2544
- molang_variables: ByteArray
2553
+ molang_variables?: string
2545
2554
 
2546
2555
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2547
2556
  # 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",
@@ -8453,7 +8454,10 @@
8453
8454
  },
8454
8455
  {
8455
8456
  "name": "molang_variables",
8456
- "type": "ByteArray"
8457
+ "type": [
8458
+ "option",
8459
+ "string"
8460
+ ]
8457
8461
  }
8458
8462
  ]
8459
8463
  ],
@@ -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
@@ -475,8 +476,14 @@ TransactionUseItem:
475
476
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
476
477
  # and specifies the way the player interacted with the block.
477
478
  action_type: varint =>
479
+ # Right click item use on a surface like placing a block
478
480
  0: click_block
481
+ # Start right click and hold style item use or potentially interact with nothing.
482
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
483
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
479
484
  1: click_air
485
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
486
+ # Instead, block actions are supplied in Player Auth Input.
480
487
  2: break_block
481
488
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
482
489
  # block position if ActionType is not UseItemActionClickAir.
@@ -549,10 +556,19 @@ Transaction:
549
556
  legacy: TransactionLegacy
550
557
  # What type of transaction took place
551
558
  transaction_type: varint =>
559
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
552
560
  0: normal
561
+ # Sent from server to client to reject a transaction
553
562
  1: inventory_mismatch
563
+ # Sent for a player performing right click style item use.
564
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
554
565
  2: item_use
566
+ # Sent for a player right clicking on an entity or attacking them.
567
+ # See ItemUseInventoryTransaction::ActionType for which it is.
555
568
  3: item_use_on_entity
569
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
570
+ # This is different than canceling item use early which would be in Player Auth Input.
571
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
556
572
  4: item_release
557
573
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
558
574
  actions: TransactionActions
@@ -571,7 +587,9 @@ Transaction:
571
587
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
572
588
  # found in the constants above, and specifies the way the player interacted with the entity.
573
589
  action_type: varint =>
590
+ # Right click interact with actor.
574
591
  0: interact
592
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
575
593
  1: attack
576
594
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
577
595
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -592,7 +610,9 @@ Transaction:
592
610
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
593
611
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
594
612
  action_type: varint =>
613
+ # Release right click and hold style item use, like firing a bow
595
614
  0: release
615
+ # Finish right click and hold style item use, like charging a crossbow
596
616
  1: consume
597
617
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
598
618
  # 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
  ],