minecraft-data 3.35.0 → 3.36.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 (56) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/doc/history.md +8 -0
  3. package/index.d.ts +4 -0
  4. package/minecraft-data/data/bedrock/1.16.201/proto.yml +38 -11
  5. package/minecraft-data/data/bedrock/1.16.201/protocol.json +60 -6
  6. package/minecraft-data/data/bedrock/1.16.210/proto.yml +38 -11
  7. package/minecraft-data/data/bedrock/1.16.210/protocol.json +60 -6
  8. package/minecraft-data/data/bedrock/1.16.220/proto.yml +23 -11
  9. package/minecraft-data/data/bedrock/1.16.220/protocol.json +38 -5
  10. package/minecraft-data/data/bedrock/1.17.0/proto.yml +23 -11
  11. package/minecraft-data/data/bedrock/1.17.0/protocol.json +38 -5
  12. package/minecraft-data/data/bedrock/1.17.10/proto.yml +25 -12
  13. package/minecraft-data/data/bedrock/1.17.10/protocol.json +39 -6
  14. package/minecraft-data/data/bedrock/1.17.30/proto.yml +28 -12
  15. package/minecraft-data/data/bedrock/1.17.30/protocol.json +39 -6
  16. package/minecraft-data/data/bedrock/1.17.40/proto.yml +28 -12
  17. package/minecraft-data/data/bedrock/1.17.40/protocol.json +39 -6
  18. package/minecraft-data/data/bedrock/1.18.0/proto.yml +28 -12
  19. package/minecraft-data/data/bedrock/1.18.0/protocol.json +39 -6
  20. package/minecraft-data/data/bedrock/1.18.11/proto.yml +29 -12
  21. package/minecraft-data/data/bedrock/1.18.11/protocol.json +39 -6
  22. package/minecraft-data/data/bedrock/1.18.30/proto.yml +29 -13
  23. package/minecraft-data/data/bedrock/1.18.30/protocol.json +39 -6
  24. package/minecraft-data/data/bedrock/1.19.1/proto.yml +30 -13
  25. package/minecraft-data/data/bedrock/1.19.1/protocol.json +39 -6
  26. package/minecraft-data/data/bedrock/1.19.10/proto.yml +30 -13
  27. package/minecraft-data/data/bedrock/1.19.10/protocol.json +39 -6
  28. package/minecraft-data/data/bedrock/1.19.20/proto.yml +30 -13
  29. package/minecraft-data/data/bedrock/1.19.20/protocol.json +39 -6
  30. package/minecraft-data/data/bedrock/1.19.21/proto.yml +30 -13
  31. package/minecraft-data/data/bedrock/1.19.21/protocol.json +39 -6
  32. package/minecraft-data/data/bedrock/1.19.30/proto.yml +32 -13
  33. package/minecraft-data/data/bedrock/1.19.30/protocol.json +39 -6
  34. package/minecraft-data/data/bedrock/1.19.40/proto.yml +32 -13
  35. package/minecraft-data/data/bedrock/1.19.40/protocol.json +39 -6
  36. package/minecraft-data/data/bedrock/1.19.50/proto.yml +32 -13
  37. package/minecraft-data/data/bedrock/1.19.50/protocol.json +39 -6
  38. package/minecraft-data/data/bedrock/1.19.60/proto.yml +32 -13
  39. package/minecraft-data/data/bedrock/1.19.60/protocol.json +39 -6
  40. package/minecraft-data/data/bedrock/1.19.62/proto.yml +32 -13
  41. package/minecraft-data/data/bedrock/1.19.62/protocol.json +39 -6
  42. package/minecraft-data/data/bedrock/1.19.70/proto.yml +32 -13
  43. package/minecraft-data/data/bedrock/1.19.70/protocol.json +39 -6
  44. package/minecraft-data/data/bedrock/1.19.80/proto.yml +32 -13
  45. package/minecraft-data/data/bedrock/1.19.80/protocol.json +39 -6
  46. package/minecraft-data/data/bedrock/1.20.0/protocol.json +40 -7
  47. package/minecraft-data/data/bedrock/latest/proto.yml +33 -14
  48. package/minecraft-data/data/pc/1.19.4/entities.json +2383 -150
  49. package/minecraft-data/data/pc/1.19.4/protocol.json +67 -40
  50. package/minecraft-data/data/pc/common/features.json +5 -0
  51. package/minecraft-data/data/pc/common/protocolVersions.json +8 -0
  52. package/minecraft-data/doc/history.md +7 -1
  53. package/minecraft-data/schemas/entities_schema.json +7 -0
  54. package/minecraft-data/tools/js/extractPcEntityMetadata.js +153 -0
  55. package/minecraft-data/tools/js/package.json +2 -1
  56. package/package.json +4 -4
@@ -9,7 +9,7 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
  strategy:
11
11
  matrix:
12
- node-version: [14.x]
12
+ node-version: [18.x]
13
13
  steps:
14
14
  - uses: actions/checkout@v2
15
15
  with:
package/doc/history.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # History
2
2
 
3
+ ## 3.36.1
4
+
5
+ * update `minecraft-data`
6
+
7
+ ## 3.36.0
8
+
9
+ * update `minecraft-data`
10
+
3
11
  ## 3.35.0
4
12
 
5
13
  * update `minecraft-data`
package/index.d.ts CHANGED
@@ -449,6 +449,10 @@ declare namespace MinecraftData {
449
449
  * The category of an entity : a semantic category
450
450
  */
451
451
  category?: string;
452
+ /**
453
+ * The pc metadata tags of an entity. (Naming is via mc code, with data_ and id_ prefixes stripped)
454
+ */
455
+ metadataKeys?: string[];
452
456
  }
453
457
 
454
458
 
@@ -707,7 +707,10 @@ packet_mob_effect:
707
707
  !id: 0x1c
708
708
  !bound: client
709
709
  runtime_entity_id: varint
710
- event_id: u8
710
+ event_id: u8 =>
711
+ 1: add
712
+ 2: update
713
+ 3: remove
711
714
  effect_id: zigzag32
712
715
  amplifier: zigzag32
713
716
  particles: bool
@@ -753,6 +756,7 @@ packet_interact:
753
756
  action_id: u8 =>
754
757
  3: leave_vehicle
755
758
  4: mouse_over_entity
759
+ 5: npc_open
756
760
  6: open_inventory
757
761
  # TargetEntityRuntimeID is the runtime ID of the entity that the player interacted with. This is empty
758
762
  # for the InteractActionOpenInventory action type.
@@ -1162,7 +1166,11 @@ packet_player_list:
1162
1166
  packet_simple_event:
1163
1167
  !id: 0x40
1164
1168
  !bound: client
1165
- event_type: lu16
1169
+ event_type: lu16 =>
1170
+ 0: uninitialized_subtype
1171
+ 1: enable_commands
1172
+ 2: disable_commands
1173
+ 3: unlock_world_template_settings
1166
1174
 
1167
1175
  # Event is sent by the server to send an event with additional data. It is typically sent to the client for
1168
1176
  # telemetry reasons, much like the SimpleEvent packet.
@@ -1601,9 +1609,14 @@ packet_show_store_offer:
1601
1609
  unknown0: string
1602
1610
  unknown1: bool
1603
1611
 
1612
+ # PurchaseReceipt is sent by the client to the server to notify the server it purchased an item from the
1613
+ # Marketplace store that was offered by the server. The packet is only used for partnered servers.
1604
1614
  packet_purchase_receipt:
1605
1615
  !id: 0x5c
1606
1616
  !bound: server
1617
+ # Receipts is a list of receipts, or proofs of purchases, for the offers that have been purchased by the
1618
+ # player.
1619
+ receipts: string[]varint
1607
1620
 
1608
1621
  packet_player_skin:
1609
1622
  !id: 0x5d
@@ -1614,9 +1627,18 @@ packet_player_skin:
1614
1627
  old_skin_name: string
1615
1628
  is_verified: bool
1616
1629
 
1630
+ # SubClientLogin is sent when a sub-client joins the server while another client is already connected to it.
1631
+ # The packet is sent as a result of split-screen game play, and allows up to four players to play using the
1632
+ # same network connection. After an initial Login packet from the 'main' client, each sub-client that
1633
+ # connects sends a SubClientLogin to request their own login.
1617
1634
  packet_sub_client_login:
1618
1635
  !id: 0x5e
1619
- !bound: client
1636
+ !bound: server
1637
+ # ConnectionRequest is a string containing information about the player and JWTs that may be used to
1638
+ # verify if the player is connected to XBOX Live. The connection request also contains the necessary
1639
+ # client public key to initiate encryption.
1640
+ # The ConnectionRequest in this packet is identical to the one found in the Login packet.
1641
+ tokens: '["encapsulated", { "lengthType": "varint", "type": "LoginTokens" }]'
1620
1642
 
1621
1643
  packet_initiate_web_socket_connection:
1622
1644
  !id: 0x5f
@@ -1628,9 +1650,11 @@ packet_set_last_hurt_by:
1628
1650
  !bound: client
1629
1651
  unknown: varint
1630
1652
 
1653
+ # BookEdit is sent by the client when it edits a book. It is sent each time a modification was made and the
1654
+ # player stops its typing 'session', rather than simply after closing the book.
1631
1655
  packet_book_edit:
1632
1656
  !id: 0x61
1633
- !bound: client
1657
+ !bound: server
1634
1658
  type: u8 =>
1635
1659
  0: replace_page
1636
1660
  1: add_page
@@ -1701,7 +1725,7 @@ packet_show_profile:
1701
1725
  # in the settings UI.
1702
1726
  packet_set_default_game_type:
1703
1727
  !id: 0x69
1704
- !bound: client
1728
+ !bound: server
1705
1729
  # GameType is the new game type that is set. When sent by the client, this is the requested new default
1706
1730
  # game type.
1707
1731
  gamemode: GameMode
@@ -1736,6 +1760,7 @@ packet_lab_table:
1736
1760
  action_type: u8 =>
1737
1761
  0: combine
1738
1762
  1: react
1763
+ 2: reset
1739
1764
  # Position is the position at which the lab table used was located.
1740
1765
  position: vec3i
1741
1766
  # ReactionType is the type of the reaction that took place as a result of the items put into the lab
@@ -1889,7 +1914,7 @@ packet_level_event_generic:
1889
1914
  # or if the book should be removed from it.
1890
1915
  packet_lectern_update:
1891
1916
  !id: 0x7d
1892
- !bound: client
1917
+ !bound: server
1893
1918
  # Page is the page number in the book that was opened by the player on the lectern.
1894
1919
  page: u8
1895
1920
  # PageCount is the number of pages that the book opened in the lectern has.
@@ -1905,7 +1930,9 @@ packet_video_stream_connect:
1905
1930
  !bound: client
1906
1931
  server_uri: string
1907
1932
  frame_send_frequency: lf32
1908
- action: u8
1933
+ action: u8 =>
1934
+ 1: none
1935
+ 2: close
1909
1936
  resolution_x: li32
1910
1937
  resolution_y: li32
1911
1938
 
@@ -1945,7 +1972,7 @@ packet_map_create_locked_copy:
1945
1972
 
1946
1973
  packet_structure_template_data_export_request:
1947
1974
  !id: 0x84
1948
- !bound: client
1975
+ !bound: server
1949
1976
 
1950
1977
  packet_structure_template_data_export_response:
1951
1978
  !id: 0x85
@@ -1960,7 +1987,7 @@ packet_update_block_properties:
1960
1987
  # what blobs it needs and which blobs it already has, in an ACK type system.
1961
1988
  packet_client_cache_blob_status:
1962
1989
  !id: 0x87
1963
- !bound: client
1990
+ !bound: server
1964
1991
  # The number of MISSes in this packet
1965
1992
  misses: varint
1966
1993
  # The number of HITs in this packet
@@ -2224,7 +2251,7 @@ ArmorDamageType: [ "bitflags",
2224
2251
  # identical to the SetPlayerGameType packet.
2225
2252
  packet_update_player_game_type:
2226
2253
  !id: 0x97
2227
- !bound: server
2254
+ !bound: client
2228
2255
  # GameType is the new game type of the player. It is one of the constants that can be found in
2229
2256
  # set_player_game_type.go. Some of these game types require additional flags to be set in an
2230
2257
  # AdventureSettings packet for the game mode to obtain its full functionality.
@@ -2399,7 +2426,7 @@ packet_item_component:
2399
2426
  # safer version of the text.
2400
2427
  packet_filter_text_packet:
2401
2428
  !id: 0xa3
2402
- !bound: client
2429
+ !bound: both
2403
2430
  # Text is either the text from the client or the safer version of the text sent by the server.
2404
2431
  text: string
2405
2432
  # FromServer indicates if the packet was sent by the server or not.
@@ -4231,7 +4231,17 @@
4231
4231
  },
4232
4232
  {
4233
4233
  "name": "event_id",
4234
- "type": "u8"
4234
+ "type": [
4235
+ "mapper",
4236
+ {
4237
+ "type": "u8",
4238
+ "mappings": {
4239
+ "1": "add",
4240
+ "2": "update",
4241
+ "3": "remove"
4242
+ }
4243
+ }
4244
+ ]
4235
4245
  },
4236
4246
  {
4237
4247
  "name": "effect_id",
@@ -4339,6 +4349,7 @@
4339
4349
  "mappings": {
4340
4350
  "3": "leave_vehicle",
4341
4351
  "4": "mouse_over_entity",
4352
+ "5": "npc_open",
4342
4353
  "6": "open_inventory"
4343
4354
  }
4344
4355
  }
@@ -4992,7 +5003,18 @@
4992
5003
  [
4993
5004
  {
4994
5005
  "name": "event_type",
4995
- "type": "lu16"
5006
+ "type": [
5007
+ "mapper",
5008
+ {
5009
+ "type": "lu16",
5010
+ "mappings": {
5011
+ "0": "uninitialized_subtype",
5012
+ "1": "enable_commands",
5013
+ "2": "disable_commands",
5014
+ "3": "unlock_world_template_settings"
5015
+ }
5016
+ }
5017
+ ]
4996
5018
  }
4997
5019
  ]
4998
5020
  ],
@@ -5889,7 +5911,18 @@
5889
5911
  ],
5890
5912
  "packet_purchase_receipt": [
5891
5913
  "container",
5892
- []
5914
+ [
5915
+ {
5916
+ "name": "receipts",
5917
+ "type": [
5918
+ "array",
5919
+ {
5920
+ "countType": "varint",
5921
+ "type": "string"
5922
+ }
5923
+ ]
5924
+ }
5925
+ ]
5893
5926
  ],
5894
5927
  "packet_player_skin": [
5895
5928
  "container",
@@ -5918,7 +5951,18 @@
5918
5951
  ],
5919
5952
  "packet_sub_client_login": [
5920
5953
  "container",
5921
- []
5954
+ [
5955
+ {
5956
+ "name": "tokens",
5957
+ "type": [
5958
+ "encapsulated",
5959
+ {
5960
+ "lengthType": "varint",
5961
+ "type": "LoginTokens"
5962
+ }
5963
+ ]
5964
+ }
5965
+ ]
5922
5966
  ],
5923
5967
  "packet_initiate_web_socket_connection": [
5924
5968
  "container",
@@ -6201,7 +6245,8 @@
6201
6245
  "type": "u8",
6202
6246
  "mappings": {
6203
6247
  "0": "combine",
6204
- "1": "react"
6248
+ "1": "react",
6249
+ "2": "reset"
6205
6250
  }
6206
6251
  }
6207
6252
  ]
@@ -6541,7 +6586,16 @@
6541
6586
  },
6542
6587
  {
6543
6588
  "name": "action",
6544
- "type": "u8"
6589
+ "type": [
6590
+ "mapper",
6591
+ {
6592
+ "type": "u8",
6593
+ "mappings": {
6594
+ "1": "none",
6595
+ "2": "close"
6596
+ }
6597
+ }
6598
+ ]
6545
6599
  },
6546
6600
  {
6547
6601
  "name": "resolution_x",
@@ -746,7 +746,10 @@ packet_mob_effect:
746
746
  !id: 0x1c
747
747
  !bound: client
748
748
  runtime_entity_id: varint64
749
- event_id: u8
749
+ event_id: u8 =>
750
+ 1: add
751
+ 2: update
752
+ 3: remove
750
753
  effect_id: zigzag32
751
754
  amplifier: zigzag32
752
755
  particles: bool
@@ -796,6 +799,7 @@ packet_interact:
796
799
  action_id: u8 =>
797
800
  3: leave_vehicle
798
801
  4: mouse_over_entity
802
+ 5: npc_open
799
803
  6: open_inventory
800
804
  # TargetEntityRuntimeID is the runtime ID of the entity that the player interacted with. This is empty
801
805
  # for the InteractActionOpenInventory action type.
@@ -1194,7 +1198,11 @@ packet_player_list:
1194
1198
  packet_simple_event:
1195
1199
  !id: 0x40
1196
1200
  !bound: client
1197
- event_type: lu16
1201
+ event_type: lu16 =>
1202
+ 0: uninitialized_subtype
1203
+ 1: enable_commands
1204
+ 2: disable_commands
1205
+ 3: unlock_world_template_settings
1198
1206
 
1199
1207
  # Event is sent by the server to send an event with additional data. It is typically sent to the client for
1200
1208
  # telemetry reasons, much like the SimpleEvent packet.
@@ -1669,9 +1677,14 @@ packet_show_store_offer:
1669
1677
  unknown0: string
1670
1678
  unknown1: bool
1671
1679
 
1680
+ # PurchaseReceipt is sent by the client to the server to notify the server it purchased an item from the
1681
+ # Marketplace store that was offered by the server. The packet is only used for partnered servers.
1672
1682
  packet_purchase_receipt:
1673
1683
  !id: 0x5c
1674
1684
  !bound: server
1685
+ # Receipts is a list of receipts, or proofs of purchases, for the offers that have been purchased by the
1686
+ # player.
1687
+ receipts: string[]varint
1675
1688
 
1676
1689
  packet_player_skin:
1677
1690
  !id: 0x5d
@@ -1682,9 +1695,18 @@ packet_player_skin:
1682
1695
  old_skin_name: string
1683
1696
  is_verified: bool
1684
1697
 
1698
+ # SubClientLogin is sent when a sub-client joins the server while another client is already connected to it.
1699
+ # The packet is sent as a result of split-screen game play, and allows up to four players to play using the
1700
+ # same network connection. After an initial Login packet from the 'main' client, each sub-client that
1701
+ # connects sends a SubClientLogin to request their own login.
1685
1702
  packet_sub_client_login:
1686
1703
  !id: 0x5e
1687
- !bound: client
1704
+ !bound: server
1705
+ # ConnectionRequest is a string containing information about the player and JWTs that may be used to
1706
+ # verify if the player is connected to XBOX Live. The connection request also contains the necessary
1707
+ # client public key to initiate encryption.
1708
+ # The ConnectionRequest in this packet is identical to the one found in the Login packet.
1709
+ tokens: '["encapsulated", { "lengthType": "varint", "type": "LoginTokens" }]'
1688
1710
 
1689
1711
  packet_initiate_web_socket_connection:
1690
1712
  !id: 0x5f
@@ -1696,9 +1718,11 @@ packet_set_last_hurt_by:
1696
1718
  !bound: client
1697
1719
  unknown: varint
1698
1720
 
1721
+ # BookEdit is sent by the client when it edits a book. It is sent each time a modification was made and the
1722
+ # player stops its typing 'session', rather than simply after closing the book.
1699
1723
  packet_book_edit:
1700
1724
  !id: 0x61
1701
- !bound: client
1725
+ !bound: server
1702
1726
  type: u8 =>
1703
1727
  0: replace_page
1704
1728
  1: add_page
@@ -1769,7 +1793,7 @@ packet_show_profile:
1769
1793
  # in the settings UI.
1770
1794
  packet_set_default_game_type:
1771
1795
  !id: 0x69
1772
- !bound: client
1796
+ !bound: server
1773
1797
  # GameType is the new game type that is set. When sent by the client, this is the requested new default
1774
1798
  # game type.
1775
1799
  gamemode: GameMode
@@ -1804,6 +1828,7 @@ packet_lab_table:
1804
1828
  action_type: u8 =>
1805
1829
  0: combine
1806
1830
  1: react
1831
+ 2: reset
1807
1832
  # Position is the position at which the lab table used was located.
1808
1833
  position: vec3i
1809
1834
  # ReactionType is the type of the reaction that took place as a result of the items put into the lab
@@ -1980,7 +2005,7 @@ packet_level_event_generic:
1980
2005
  # or if the book should be removed from it.
1981
2006
  packet_lectern_update:
1982
2007
  !id: 0x7d
1983
- !bound: client
2008
+ !bound: server
1984
2009
  # Page is the page number in the book that was opened by the player on the lectern.
1985
2010
  page: u8
1986
2011
  # PageCount is the number of pages that the book opened in the lectern has.
@@ -1996,7 +2021,9 @@ packet_video_stream_connect:
1996
2021
  !bound: client
1997
2022
  server_uri: string
1998
2023
  frame_send_frequency: lf32
1999
- action: u8
2024
+ action: u8 =>
2025
+ 1: none
2026
+ 2: close
2000
2027
  resolution_x: li32
2001
2028
  resolution_y: li32
2002
2029
 
@@ -2036,7 +2063,7 @@ packet_map_create_locked_copy:
2036
2063
 
2037
2064
  packet_structure_template_data_export_request:
2038
2065
  !id: 0x84
2039
- !bound: client
2066
+ !bound: server
2040
2067
 
2041
2068
  packet_structure_template_data_export_response:
2042
2069
  !id: 0x85
@@ -2051,7 +2078,7 @@ packet_update_block_properties:
2051
2078
  # what blobs it needs and which blobs it already has, in an ACK type system.
2052
2079
  packet_client_cache_blob_status:
2053
2080
  !id: 0x87
2054
- !bound: client
2081
+ !bound: server
2055
2082
  # The number of MISSes in this packet
2056
2083
  misses: varint
2057
2084
  # The number of HITs in this packet
@@ -2351,7 +2378,7 @@ ArmorDamageType: [ "bitflags",
2351
2378
  # identical to the SetPlayerGameType packet.
2352
2379
  packet_update_player_game_type:
2353
2380
  !id: 0x97
2354
- !bound: server
2381
+ !bound: client
2355
2382
  # GameType is the new game type of the player. It is one of the constants that can be found in
2356
2383
  # set_player_game_type.go. Some of these game types require additional flags to be set in an
2357
2384
  # AdventureSettings packet for the game mode to obtain its full functionality.
@@ -2531,7 +2558,7 @@ packet_item_component:
2531
2558
  # safer version of the text.
2532
2559
  packet_filter_text_packet:
2533
2560
  !id: 0xa3
2534
- !bound: client
2561
+ !bound: both
2535
2562
  # Text is either the text from the client or the safer version of the text sent by the server.
2536
2563
  text: string
2537
2564
  # FromServer indicates if the packet was sent by the server or not.
@@ -4415,7 +4415,17 @@
4415
4415
  },
4416
4416
  {
4417
4417
  "name": "event_id",
4418
- "type": "u8"
4418
+ "type": [
4419
+ "mapper",
4420
+ {
4421
+ "type": "u8",
4422
+ "mappings": {
4423
+ "1": "add",
4424
+ "2": "update",
4425
+ "3": "remove"
4426
+ }
4427
+ }
4428
+ ]
4419
4429
  },
4420
4430
  {
4421
4431
  "name": "effect_id",
@@ -4523,6 +4533,7 @@
4523
4533
  "mappings": {
4524
4534
  "3": "leave_vehicle",
4525
4535
  "4": "mouse_over_entity",
4536
+ "5": "npc_open",
4526
4537
  "6": "open_inventory"
4527
4538
  }
4528
4539
  }
@@ -5156,7 +5167,18 @@
5156
5167
  [
5157
5168
  {
5158
5169
  "name": "event_type",
5159
- "type": "lu16"
5170
+ "type": [
5171
+ "mapper",
5172
+ {
5173
+ "type": "lu16",
5174
+ "mappings": {
5175
+ "0": "uninitialized_subtype",
5176
+ "1": "enable_commands",
5177
+ "2": "disable_commands",
5178
+ "3": "unlock_world_template_settings"
5179
+ }
5180
+ }
5181
+ ]
5160
5182
  }
5161
5183
  ]
5162
5184
  ],
@@ -6100,7 +6122,18 @@
6100
6122
  ],
6101
6123
  "packet_purchase_receipt": [
6102
6124
  "container",
6103
- []
6125
+ [
6126
+ {
6127
+ "name": "receipts",
6128
+ "type": [
6129
+ "array",
6130
+ {
6131
+ "countType": "varint",
6132
+ "type": "string"
6133
+ }
6134
+ ]
6135
+ }
6136
+ ]
6104
6137
  ],
6105
6138
  "packet_player_skin": [
6106
6139
  "container",
@@ -6129,7 +6162,18 @@
6129
6162
  ],
6130
6163
  "packet_sub_client_login": [
6131
6164
  "container",
6132
- []
6165
+ [
6166
+ {
6167
+ "name": "tokens",
6168
+ "type": [
6169
+ "encapsulated",
6170
+ {
6171
+ "lengthType": "varint",
6172
+ "type": "LoginTokens"
6173
+ }
6174
+ ]
6175
+ }
6176
+ ]
6133
6177
  ],
6134
6178
  "packet_initiate_web_socket_connection": [
6135
6179
  "container",
@@ -6412,7 +6456,8 @@
6412
6456
  "type": "u8",
6413
6457
  "mappings": {
6414
6458
  "0": "combine",
6415
- "1": "react"
6459
+ "1": "react",
6460
+ "2": "reset"
6416
6461
  }
6417
6462
  }
6418
6463
  ]
@@ -6762,7 +6807,16 @@
6762
6807
  },
6763
6808
  {
6764
6809
  "name": "action",
6765
- "type": "u8"
6810
+ "type": [
6811
+ "mapper",
6812
+ {
6813
+ "type": "u8",
6814
+ "mappings": {
6815
+ "1": "none",
6816
+ "2": "close"
6817
+ }
6818
+ }
6819
+ ]
6766
6820
  },
6767
6821
  {
6768
6822
  "name": "resolution_x",
@@ -776,7 +776,10 @@ packet_mob_effect:
776
776
  !id: 0x1c
777
777
  !bound: client
778
778
  runtime_entity_id: varint64
779
- event_id: u8
779
+ event_id: u8 =>
780
+ 1: add
781
+ 2: update
782
+ 3: remove
780
783
  effect_id: zigzag32
781
784
  amplifier: zigzag32
782
785
  particles: bool
@@ -826,6 +829,7 @@ packet_interact:
826
829
  action_id: u8 =>
827
830
  3: leave_vehicle
828
831
  4: mouse_over_entity
832
+ 5: npc_open
829
833
  6: open_inventory
830
834
  # TargetEntityRuntimeID is the runtime ID of the entity that the player interacted with. This is empty
831
835
  # for the InteractActionOpenInventory action type.
@@ -1231,7 +1235,11 @@ packet_player_list:
1231
1235
  packet_simple_event:
1232
1236
  !id: 0x40
1233
1237
  !bound: client
1234
- event_type: lu16
1238
+ event_type: lu16 =>
1239
+ 0: uninitialized_subtype
1240
+ 1: enable_commands
1241
+ 2: disable_commands
1242
+ 3: unlock_world_template_settings
1235
1243
 
1236
1244
  # Event is sent by the server to send an event with additional data. It is typically sent to the client for
1237
1245
  # telemetry reasons, much like the SimpleEvent packet.
@@ -1909,7 +1917,7 @@ packet_player_skin:
1909
1917
  # connects sends a SubClientLogin to request their own login.
1910
1918
  packet_sub_client_login:
1911
1919
  !id: 0x5e
1912
- !bound: client
1920
+ !bound: server
1913
1921
  # ConnectionRequest is a string containing information about the player and JWTs that may be used to
1914
1922
  # verify if the player is connected to XBOX Live. The connection request also contains the necessary
1915
1923
  # client public key to initiate encryption.
@@ -1939,7 +1947,7 @@ packet_set_last_hurt_by:
1939
1947
  # player stops its typing 'session', rather than simply after closing the book.
1940
1948
  packet_book_edit:
1941
1949
  !id: 0x61
1942
- !bound: client
1950
+ !bound: server
1943
1951
  type: u8 =>
1944
1952
  0: replace_page
1945
1953
  1: add_page
@@ -1982,6 +1990,7 @@ packet_npc_request:
1982
1990
  3: set_name
1983
1991
  4: set_skin
1984
1992
  5: set_interaction_text
1993
+ 6: execute_opening_commands
1985
1994
  # CommandString is the command string set in the NPC. It may consist of multiple commands, depending on
1986
1995
  # what the player set in it.
1987
1996
  command: string
@@ -2068,7 +2077,7 @@ packet_show_profile:
2068
2077
  # in the settings UI.
2069
2078
  packet_set_default_game_type:
2070
2079
  !id: 0x69
2071
- !bound: client
2080
+ !bound: server
2072
2081
  # GameType is the new game type that is set. When sent by the client, this is the requested new default
2073
2082
  # game type.
2074
2083
  gamemode: GameMode
@@ -2140,6 +2149,7 @@ packet_lab_table:
2140
2149
  action_type: u8 =>
2141
2150
  0: combine
2142
2151
  1: react
2152
+ 2: reset
2143
2153
  # Position is the position at which the lab table used was located.
2144
2154
  position: vec3i
2145
2155
  # ReactionType is the type of the reaction that took place as a result of the items put into the lab
@@ -2400,7 +2410,7 @@ packet_level_event_generic:
2400
2410
  # or if the book should be removed from it.
2401
2411
  packet_lectern_update:
2402
2412
  !id: 0x7d
2403
- !bound: client
2413
+ !bound: server
2404
2414
  # Page is the page number in the book that was opened by the player on the lectern.
2405
2415
  page: u8
2406
2416
  # PageCount is the number of pages that the book opened in the lectern has.
@@ -2417,7 +2427,9 @@ packet_video_stream_connect:
2417
2427
  !bound: client
2418
2428
  server_uri: string
2419
2429
  frame_send_frequency: lf32
2420
- action: u8
2430
+ action: u8 =>
2431
+ 1: none
2432
+ 2: close
2421
2433
  resolution_x: li32
2422
2434
  resolution_y: li32
2423
2435
 
@@ -2478,7 +2490,7 @@ packet_map_create_locked_copy:
2478
2490
  # StructureTemplateDataRequest is sent by the client to request data of a structure.
2479
2491
  packet_structure_template_data_export_request:
2480
2492
  !id: 0x84
2481
- !bound: client
2493
+ !bound: server
2482
2494
  # StructureName is the name of the structure that was set in the structure block's UI. This is the name
2483
2495
  # used to export the structure to a file.
2484
2496
  name: string
@@ -2518,7 +2530,7 @@ packet_update_block_properties:
2518
2530
  # what blobs it needs and which blobs it already has, in an ACK type system.
2519
2531
  packet_client_cache_blob_status:
2520
2532
  !id: 0x87
2521
- !bound: client
2533
+ !bound: server
2522
2534
  # The number of MISSes in this packet
2523
2535
  misses: varint
2524
2536
  # The number of HITs in this packet
@@ -2841,7 +2853,7 @@ ArmorDamageType: [ "bitflags",
2841
2853
  # identical to the SetPlayerGameType packet.
2842
2854
  packet_update_player_game_type:
2843
2855
  !id: 0x97
2844
- !bound: server
2856
+ !bound: client
2845
2857
  # GameType is the new game type of the player. It is one of the constants that can be found in
2846
2858
  # set_player_game_type.go. Some of these game types require additional flags to be set in an
2847
2859
  # AdventureSettings packet for the game mode to obtain its full functionality.
@@ -3021,7 +3033,7 @@ packet_item_component:
3021
3033
  # safer version of the text.
3022
3034
  packet_filter_text_packet:
3023
3035
  !id: 0xa3
3024
- !bound: client
3036
+ !bound: both
3025
3037
  # Text is either the text from the client or the safer version of the text sent by the server.
3026
3038
  text: string
3027
3039
  # FromServer indicates if the packet was sent by the server or not.