minecraft-data 3.83.0 → 3.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.github/workflows/ci.yml +2 -2
  2. package/.github/workflows/npm-publish.yml +1 -1
  3. package/data.js +23 -1
  4. package/doc/history.md +8 -0
  5. package/minecraft-data/.github/workflows/bedrock-ci.yml +2 -2
  6. package/minecraft-data/.github/workflows/build-gh-pages.yml +2 -2
  7. package/minecraft-data/.github/workflows/ci.yml +1 -1
  8. package/minecraft-data/.github/workflows/update-helper.yml +1 -1
  9. package/minecraft-data/README.md +1 -1
  10. package/minecraft-data/data/bedrock/1.16.201/proto.yml +10 -0
  11. package/minecraft-data/data/bedrock/1.16.201/types.yml +13 -0
  12. package/minecraft-data/data/bedrock/1.16.210/proto.yml +10 -0
  13. package/minecraft-data/data/bedrock/1.16.210/protocol.json +11 -10
  14. package/minecraft-data/data/bedrock/1.16.210/types.yml +30 -10
  15. package/minecraft-data/data/bedrock/1.16.220/proto.yml +10 -0
  16. package/minecraft-data/data/bedrock/1.16.220/protocol.json +11 -10
  17. package/minecraft-data/data/bedrock/1.16.220/types.yml +30 -10
  18. package/minecraft-data/data/bedrock/1.17.0/proto.yml +10 -0
  19. package/minecraft-data/data/bedrock/1.17.0/protocol.json +11 -10
  20. package/minecraft-data/data/bedrock/1.17.0/types.yml +30 -10
  21. package/minecraft-data/data/bedrock/1.17.10/proto.yml +10 -0
  22. package/minecraft-data/data/bedrock/1.17.10/protocol.json +11 -10
  23. package/minecraft-data/data/bedrock/1.17.10/types.yml +30 -10
  24. package/minecraft-data/data/bedrock/1.17.30/proto.yml +10 -0
  25. package/minecraft-data/data/bedrock/1.17.30/protocol.json +11 -10
  26. package/minecraft-data/data/bedrock/1.17.30/types.yml +30 -10
  27. package/minecraft-data/data/bedrock/1.17.40/protocol.json +11 -10
  28. package/minecraft-data/data/bedrock/1.17.40/types.yml +30 -10
  29. package/minecraft-data/data/bedrock/1.18.0/proto.yml +10 -0
  30. package/minecraft-data/data/bedrock/1.18.0/protocol.json +11 -10
  31. package/minecraft-data/data/bedrock/1.18.0/types.yml +30 -10
  32. package/minecraft-data/data/bedrock/1.18.11/proto.yml +10 -0
  33. package/minecraft-data/data/bedrock/1.18.11/protocol.json +11 -10
  34. package/minecraft-data/data/bedrock/1.18.11/types.yml +30 -10
  35. package/minecraft-data/data/bedrock/1.18.30/proto.yml +11 -2
  36. package/minecraft-data/data/bedrock/1.18.30/protocol.json +15 -11
  37. package/minecraft-data/data/bedrock/1.18.30/types.yml +30 -10
  38. package/minecraft-data/data/bedrock/1.19.1/proto.yml +11 -2
  39. package/minecraft-data/data/bedrock/1.19.1/protocol.json +15 -11
  40. package/minecraft-data/data/bedrock/1.19.1/types.yml +30 -10
  41. package/minecraft-data/data/bedrock/1.19.10/proto.yml +11 -2
  42. package/minecraft-data/data/bedrock/1.19.10/protocol.json +15 -11
  43. package/minecraft-data/data/bedrock/1.19.10/types.yml +30 -10
  44. package/minecraft-data/data/bedrock/1.19.20/proto.yml +11 -2
  45. package/minecraft-data/data/bedrock/1.19.20/protocol.json +15 -11
  46. package/minecraft-data/data/bedrock/1.19.20/types.yml +30 -10
  47. package/minecraft-data/data/bedrock/1.19.21/proto.yml +11 -2
  48. package/minecraft-data/data/bedrock/1.19.21/protocol.json +15 -11
  49. package/minecraft-data/data/bedrock/1.19.21/types.yml +30 -10
  50. package/minecraft-data/data/bedrock/1.19.30/proto.yml +11 -2
  51. package/minecraft-data/data/bedrock/1.19.30/protocol.json +15 -11
  52. package/minecraft-data/data/bedrock/1.19.30/types.yml +30 -10
  53. package/minecraft-data/data/bedrock/1.19.40/proto.yml +11 -2
  54. package/minecraft-data/data/bedrock/1.19.40/protocol.json +15 -11
  55. package/minecraft-data/data/bedrock/1.19.40/types.yml +30 -10
  56. package/minecraft-data/data/bedrock/1.19.50/proto.yml +11 -2
  57. package/minecraft-data/data/bedrock/1.19.50/protocol.json +15 -11
  58. package/minecraft-data/data/bedrock/1.19.50/types.yml +30 -10
  59. package/minecraft-data/data/bedrock/1.19.60/proto.yml +11 -2
  60. package/minecraft-data/data/bedrock/1.19.60/protocol.json +15 -11
  61. package/minecraft-data/data/bedrock/1.19.60/types.yml +30 -10
  62. package/minecraft-data/data/bedrock/1.19.62/proto.yml +11 -2
  63. package/minecraft-data/data/bedrock/1.19.62/protocol.json +15 -11
  64. package/minecraft-data/data/bedrock/1.19.62/types.yml +30 -10
  65. package/minecraft-data/data/bedrock/1.19.70/proto.yml +11 -2
  66. package/minecraft-data/data/bedrock/1.19.70/protocol.json +15 -11
  67. package/minecraft-data/data/bedrock/1.19.70/types.yml +30 -10
  68. package/minecraft-data/data/bedrock/1.19.80/proto.yml +11 -2
  69. package/minecraft-data/data/bedrock/1.19.80/protocol.json +15 -11
  70. package/minecraft-data/data/bedrock/1.19.80/types.yml +30 -10
  71. package/minecraft-data/data/bedrock/1.20.0/proto.yml +11 -2
  72. package/minecraft-data/data/bedrock/1.20.0/protocol.json +15 -11
  73. package/minecraft-data/data/bedrock/1.20.0/types.yml +30 -10
  74. package/minecraft-data/data/bedrock/1.20.10/proto.yml +11 -2
  75. package/minecraft-data/data/bedrock/1.20.10/protocol.json +15 -11
  76. package/minecraft-data/data/bedrock/1.20.10/types.yml +30 -10
  77. package/minecraft-data/data/bedrock/1.20.30/proto.yml +43 -34
  78. package/minecraft-data/data/bedrock/1.20.30/protocol.json +15 -11
  79. package/minecraft-data/data/bedrock/1.20.30/types.yml +30 -10
  80. package/minecraft-data/data/bedrock/1.20.40/proto.yml +43 -34
  81. package/minecraft-data/data/bedrock/1.20.40/protocol.json +15 -11
  82. package/minecraft-data/data/bedrock/1.20.40/types.yml +30 -10
  83. package/minecraft-data/data/bedrock/1.20.50/proto.yml +43 -34
  84. package/minecraft-data/data/bedrock/1.20.50/protocol.json +15 -11
  85. package/minecraft-data/data/bedrock/1.20.50/types.yml +30 -10
  86. package/minecraft-data/data/bedrock/1.20.61/proto.yml +43 -34
  87. package/minecraft-data/data/bedrock/1.20.61/protocol.json +15 -11
  88. package/minecraft-data/data/bedrock/1.20.61/types.yml +30 -10
  89. package/minecraft-data/data/bedrock/1.20.71/proto.yml +43 -34
  90. package/minecraft-data/data/bedrock/1.20.71/protocol.json +15 -11
  91. package/minecraft-data/data/bedrock/1.20.71/types.yml +30 -10
  92. package/minecraft-data/data/bedrock/1.20.80/proto.yml +43 -34
  93. package/minecraft-data/data/bedrock/1.20.80/protocol.json +22 -12
  94. package/minecraft-data/data/bedrock/1.20.80/types.yml +36 -10
  95. package/minecraft-data/data/bedrock/1.21.0/proto.yml +43 -34
  96. package/minecraft-data/data/bedrock/1.21.0/protocol.json +34 -25
  97. package/minecraft-data/data/bedrock/1.21.0/types.yml +48 -23
  98. package/minecraft-data/data/bedrock/1.21.2/proto.yml +43 -34
  99. package/minecraft-data/data/bedrock/1.21.2/protocol.json +34 -25
  100. package/minecraft-data/data/bedrock/1.21.2/types.yml +48 -23
  101. package/minecraft-data/data/bedrock/1.21.20/proto.yml +43 -34
  102. package/minecraft-data/data/bedrock/1.21.20/protocol.json +35 -25
  103. package/minecraft-data/data/bedrock/1.21.20/types.yml +49 -23
  104. package/minecraft-data/data/bedrock/1.21.30/proto.yml +43 -34
  105. package/minecraft-data/data/bedrock/1.21.30/protocol.json +37 -25
  106. package/minecraft-data/data/bedrock/1.21.30/types.yml +51 -23
  107. package/minecraft-data/data/bedrock/1.21.42/proto.yml +44 -34
  108. package/minecraft-data/data/bedrock/1.21.42/protocol.json +44 -25
  109. package/minecraft-data/data/bedrock/1.21.42/types.yml +51 -23
  110. package/minecraft-data/data/bedrock/1.21.50/proto.yml +4410 -0
  111. package/minecraft-data/data/bedrock/1.21.50/protocol.json +44 -25
  112. package/minecraft-data/data/bedrock/1.21.50/types.yml +2466 -0
  113. package/minecraft-data/data/bedrock/1.21.60/language.json +10840 -0
  114. package/minecraft-data/data/bedrock/1.21.60/protocol.json +13244 -0
  115. package/minecraft-data/data/bedrock/1.21.60/version.json +6 -0
  116. package/minecraft-data/data/bedrock/common/features.json +5 -0
  117. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  118. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  119. package/minecraft-data/data/bedrock/latest/proto.yml +123 -46
  120. package/minecraft-data/data/bedrock/latest/types.yml +72 -33
  121. package/minecraft-data/data/dataPaths.json +24 -2
  122. package/minecraft-data/data/pc/1.21.4/entities.json +2813 -175
  123. package/minecraft-data/data/pc/common/protocolVersions.json +32 -0
  124. package/minecraft-data/doc/history.md +12 -0
  125. package/minecraft-data/tools/js/extractPcEntityMetadata.js +1 -1
  126. package/package.json +1 -1
@@ -186,8 +186,9 @@ MetadataDictionary: []varint
186
186
  16: minecart_display_block #int (id | (data << 16))
187
187
  17: minecart_display_offset #int
188
188
  18: minecart_has_display #byte (must be 1 for minecart to show block inside)
189
- 20: old_swell
190
- 21: swell_dir
189
+ 19: horse_type
190
+ 20: creeper_swell
191
+ 21: creeper_swell_direction
191
192
  22: charge_amount
192
193
  23: enderman_held_runtime_id #short
193
194
  24: entity_age #short
@@ -217,7 +218,7 @@ MetadataDictionary: []varint
217
218
  49: wither_target_1 #long
218
219
  50: wither_target_2 #long
219
220
  51: wither_target_3 #long
220
- 52: aerial_attack
221
+ 52: wither_aerial_attack
221
222
  53: boundingbox_width
222
223
  54: boundingbox_height
223
224
  55: fuse_length
@@ -225,7 +226,7 @@ MetadataDictionary: []varint
225
226
  57: rider_rotation_locked #byte
226
227
  58: rider_max_rotation #float
227
228
  59: rider_min_rotation #float
228
- 60: rider_rotation_offset
229
+ 60: rider_seat_rotation_offset
229
230
  61: area_effect_cloud_radius #float
230
231
  62: area_effect_cloud_waiting #int
231
232
  63: area_effect_cloud_particle_id #int
@@ -242,7 +243,7 @@ MetadataDictionary: []varint
242
243
  74: controlling_rider_seat_number #byte
243
244
  75: strength #int
244
245
  76: max_strength #int
245
- 77: spell_casting_color #int
246
+ 77: evoker_spell_casting_color #int
246
247
  78: limited_life
247
248
  79: armor_stand_pose_index # int
248
249
  80: ender_crystal_time_offset # int
@@ -260,11 +261,11 @@ MetadataDictionary: []varint
260
261
  92: flags_extended
261
262
  93: laying_amount
262
263
  94: laying_amount_previous
263
- 95: duration
264
- 96: spawn_time
265
- 97: change_rate
266
- 98: change_on_pickup
267
- 99: pickup_count
264
+ 95: area_effect_cloud_duration
265
+ 96: area_effect_cloud_spawn_time
266
+ 97: area_effect_cloud_change_rate
267
+ 98: area_effect_cloud_change_on_pickup
268
+ 99: area_effect_cloud_pickup_count
268
269
  100: interact_text
269
270
  101: trade_tier
270
271
  102: max_trade_tier
@@ -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",
@@ -8871,7 +8872,10 @@
8871
8872
  },
8872
8873
  {
8873
8874
  "name": "molang_variables",
8874
- "type": "ByteArray"
8875
+ "type": [
8876
+ "option",
8877
+ "string"
8878
+ ]
8875
8879
  }
8876
8880
  ]
8877
8881
  ],
@@ -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
@@ -501,8 +502,14 @@ TransactionUseItem:
501
502
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
502
503
  # and specifies the way the player interacted with the block.
503
504
  action_type: varint =>
505
+ # Right click item use on a surface like placing a block
504
506
  0: click_block
507
+ # Start right click and hold style item use or potentially interact with nothing.
508
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
509
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
505
510
  1: click_air
511
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
512
+ # Instead, block actions are supplied in Player Auth Input.
506
513
  2: break_block
507
514
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
508
515
  # block position if ActionType is not UseItemActionClickAir.
@@ -575,10 +582,19 @@ Transaction:
575
582
  legacy: TransactionLegacy
576
583
  # What type of transaction took place
577
584
  transaction_type: varint =>
585
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
578
586
  0: normal
587
+ # Sent from server to client to reject a transaction
579
588
  1: inventory_mismatch
589
+ # Sent for a player performing right click style item use.
590
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
580
591
  2: item_use
592
+ # Sent for a player right clicking on an entity or attacking them.
593
+ # See ItemUseInventoryTransaction::ActionType for which it is.
581
594
  3: item_use_on_entity
595
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
596
+ # This is different than canceling item use early which would be in Player Auth Input.
597
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
582
598
  4: item_release
583
599
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
584
600
  actions: TransactionActions
@@ -597,7 +613,9 @@ Transaction:
597
613
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
598
614
  # found in the constants above, and specifies the way the player interacted with the entity.
599
615
  action_type: varint =>
616
+ # Right click interact with actor.
600
617
  0: interact
618
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
601
619
  1: attack
602
620
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
603
621
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -618,7 +636,9 @@ Transaction:
618
636
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
619
637
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
620
638
  action_type: varint =>
639
+ # Release right click and hold style item use, like firing a bow
621
640
  0: release
641
+ # Finish right click and hold style item use, like charging a crossbow
622
642
  1: consume
623
643
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
624
644
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1131,13 +1131,23 @@ packet_animate:
1131
1131
  !id: 0x2c
1132
1132
  !bound: both
1133
1133
  action_id: zigzag32 =>
1134
+ # Unused
1134
1135
  0: none
1136
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1137
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1135
1138
  1: swing_arm
1136
1139
  2: unknown
1140
+ # Client bound notification to stop sleeping in a bed
1137
1141
  3: wake_up
1142
+ # Client-bound notification to play critical hit particles
1138
1143
  4: critical_hit
1144
+ # Unused
1139
1145
  5: magic_critical_hit
1146
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1147
+ # See Player Auth Input for how to compute this in the latest protocol.
1140
1148
  128: row_right
1149
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1150
+ # See Player Auth Input for how to compute this in the latest protocol.
1141
1151
  129: row_left
1142
1152
  runtime_entity_id: varint64
1143
1153
  _: action_id ?
@@ -2601,8 +2611,7 @@ packet_spawn_particle_effect:
2601
2611
  particle_name: string
2602
2612
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2603
2613
  # just be left empty in most cases.
2604
- # TODO: Investigate, probably not a ByteArray...
2605
- molang_variables: ByteArray
2614
+ molang_variables?: string
2606
2615
 
2607
2616
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2608
2617
  # 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",
@@ -8934,7 +8935,10 @@
8934
8935
  },
8935
8936
  {
8936
8937
  "name": "molang_variables",
8937
- "type": "ByteArray"
8938
+ "type": [
8939
+ "option",
8940
+ "string"
8941
+ ]
8938
8942
  }
8939
8943
  ]
8940
8944
  ],
@@ -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
@@ -501,8 +502,14 @@ TransactionUseItem:
501
502
  # ActionType is the type of the UseItem inventory transaction. It is one of the action types found above,
502
503
  # and specifies the way the player interacted with the block.
503
504
  action_type: varint =>
505
+ # Right click item use on a surface like placing a block
504
506
  0: click_block
507
+ # Start right click and hold style item use or potentially interact with nothing.
508
+ # If it is a usable item like food the server is expected to send a SetActorDataPacket with ActorFlags::USINGITEM along with the transaction response.
509
+ # While using an item, movement speed is slowed which will be reflected in the move vector in Player Auth Input.
505
510
  1: click_air
511
+ # Block breaking like left click. When using server auth block breaking as specified in StartGamePacket this is never sent.
512
+ # Instead, block actions are supplied in Player Auth Input.
506
513
  2: break_block
507
514
  # BlockPosition is the position of the block that was interacted with. This is only really a correct
508
515
  # block position if ActionType is not UseItemActionClickAir.
@@ -575,10 +582,19 @@ Transaction:
575
582
  legacy: TransactionLegacy
576
583
  # What type of transaction took place
577
584
  transaction_type: varint =>
585
+ # Sent for container UI operations depending on if ItemStackNetManager is enabled
578
586
  0: normal
587
+ # Sent from server to client to reject a transaction
579
588
  1: inventory_mismatch
589
+ # Sent for a player performing right click style item use.
590
+ # See the contained ItemUseInventoryTransaction::ActionType for the expected use case.
580
591
  2: item_use
592
+ # Sent for a player right clicking on an entity or attacking them.
593
+ # See ItemUseInventoryTransaction::ActionType for which it is.
581
594
  3: item_use_on_entity
595
+ # Sent when releasing right click on a chargeable item like a bow or finishing charging like a crossbow.
596
+ # This is different than canceling item use early which would be in Player Auth Input.
597
+ # See ItemReleaseInventoryTransaction::ActionType for which it is.
582
598
  4: item_release
583
599
  # The list of inventory internal actions in this packet, e.g. inventory GUI actions
584
600
  actions: TransactionActions
@@ -597,7 +613,9 @@ Transaction:
597
613
  # ActionType is the type of the UseItemOnEntity inventory transaction. It is one of the action types
598
614
  # found in the constants above, and specifies the way the player interacted with the entity.
599
615
  action_type: varint =>
616
+ # Right click interact with actor.
600
617
  0: interact
618
+ # Left click style attack of actor or elytra spin attack. Server is expected to deal damage to the entity with visuals.
601
619
  1: attack
602
620
  # HotBarSlot is the hot bar slot that the player was holding while clicking the entity. It should be used
603
621
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -618,7 +636,9 @@ Transaction:
618
636
  # As of 1.13, the ActionType is always 0. This field can be ignored, because releasing food (by consuming
619
637
  # it) or releasing a bow (to shoot an arrow) is essentially the same.
620
638
  action_type: varint =>
639
+ # Release right click and hold style item use, like firing a bow
621
640
  0: release
641
+ # Finish right click and hold style item use, like charging a crossbow
622
642
  1: consume
623
643
  # HotBarSlot is the hot bar slot that the player was holding while releasing the item. It should be used
624
644
  # to ensure that the hot bar slot and held item are correctly synchronised with the server.
@@ -1135,13 +1135,23 @@ packet_animate:
1135
1135
  !id: 0x2c
1136
1136
  !bound: both
1137
1137
  action_id: zigzag32 =>
1138
+ # Unused
1138
1139
  0: none
1140
+ # Server bound notification to swing the player's arm. Server is expected to rebroadcast to all that should see the arm move.
1141
+ # See also PlayerAuthInputPacket::InputData::MissedSwing for a very similar action
1139
1142
  1: swing_arm
1140
1143
  2: unknown
1144
+ # Client bound notification to stop sleeping in a bed
1141
1145
  3: wake_up
1146
+ # Client-bound notification to play critical hit particles
1142
1147
  4: critical_hit
1148
+ # Unused
1143
1149
  5: magic_critical_hit
1150
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1151
+ # See Player Auth Input for how to compute this in the latest protocol.
1144
1152
  128: row_right
1153
+ # Sent every tick the client is in a boat exclusively in legacy client authoritative movement.
1154
+ # See Player Auth Input for how to compute this in the latest protocol.
1145
1155
  129: row_left
1146
1156
  runtime_entity_id: varint64
1147
1157
  _: action_id ?
@@ -2606,8 +2616,7 @@ packet_spawn_particle_effect:
2606
2616
  particle_name: string
2607
2617
  # MoLangVariables is an encoded JSON map of MoLang variables that may be applicable to the particle spawn. This can
2608
2618
  # just be left empty in most cases.
2609
- # TODO: Investigate, probably not a ByteArray...
2610
- molang_variables: ByteArray
2619
+ molang_variables?: string
2611
2620
 
2612
2621
  # AvailableActorIdentifiers is sent by the server at the start of the game to let the client know all
2613
2622
  # 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",
@@ -8945,7 +8946,10 @@
8945
8946
  },
8946
8947
  {
8947
8948
  "name": "molang_variables",
8948
- "type": "ByteArray"
8949
+ "type": [
8950
+ "option",
8951
+ "string"
8952
+ ]
8949
8953
  }
8950
8954
  ]
8951
8955
  ],