minecraft-data 3.36.0 → 3.37.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 (73) hide show
  1. package/data.js +48 -0
  2. package/doc/history.md +8 -0
  3. package/index.d.ts +1 -1
  4. package/minecraft-data/README.md +1 -1
  5. package/minecraft-data/data/bedrock/1.16.201/proto.yml +38 -11
  6. package/minecraft-data/data/bedrock/1.16.201/protocol.json +60 -6
  7. package/minecraft-data/data/bedrock/1.16.210/proto.yml +38 -11
  8. package/minecraft-data/data/bedrock/1.16.210/protocol.json +60 -6
  9. package/minecraft-data/data/bedrock/1.16.220/proto.yml +23 -11
  10. package/minecraft-data/data/bedrock/1.16.220/protocol.json +38 -5
  11. package/minecraft-data/data/bedrock/1.17.0/proto.yml +23 -11
  12. package/minecraft-data/data/bedrock/1.17.0/protocol.json +38 -5
  13. package/minecraft-data/data/bedrock/1.17.10/proto.yml +25 -12
  14. package/minecraft-data/data/bedrock/1.17.10/protocol.json +39 -6
  15. package/minecraft-data/data/bedrock/1.17.30/proto.yml +28 -12
  16. package/minecraft-data/data/bedrock/1.17.30/protocol.json +39 -6
  17. package/minecraft-data/data/bedrock/1.17.40/proto.yml +28 -12
  18. package/minecraft-data/data/bedrock/1.17.40/protocol.json +39 -6
  19. package/minecraft-data/data/bedrock/1.18.0/proto.yml +28 -12
  20. package/minecraft-data/data/bedrock/1.18.0/protocol.json +39 -6
  21. package/minecraft-data/data/bedrock/1.18.11/proto.yml +29 -12
  22. package/minecraft-data/data/bedrock/1.18.11/protocol.json +39 -6
  23. package/minecraft-data/data/bedrock/1.18.30/proto.yml +29 -13
  24. package/minecraft-data/data/bedrock/1.18.30/protocol.json +39 -6
  25. package/minecraft-data/data/bedrock/1.19.1/proto.yml +30 -13
  26. package/minecraft-data/data/bedrock/1.19.1/protocol.json +39 -6
  27. package/minecraft-data/data/bedrock/1.19.10/proto.yml +30 -13
  28. package/minecraft-data/data/bedrock/1.19.10/protocol.json +39 -6
  29. package/minecraft-data/data/bedrock/1.19.20/proto.yml +30 -13
  30. package/minecraft-data/data/bedrock/1.19.20/protocol.json +39 -6
  31. package/minecraft-data/data/bedrock/1.19.21/proto.yml +30 -13
  32. package/minecraft-data/data/bedrock/1.19.21/protocol.json +39 -6
  33. package/minecraft-data/data/bedrock/1.19.30/proto.yml +32 -13
  34. package/minecraft-data/data/bedrock/1.19.30/protocol.json +39 -6
  35. package/minecraft-data/data/bedrock/1.19.40/proto.yml +32 -13
  36. package/minecraft-data/data/bedrock/1.19.40/protocol.json +39 -6
  37. package/minecraft-data/data/bedrock/1.19.50/proto.yml +32 -13
  38. package/minecraft-data/data/bedrock/1.19.50/protocol.json +39 -6
  39. package/minecraft-data/data/bedrock/1.19.60/proto.yml +32 -13
  40. package/minecraft-data/data/bedrock/1.19.60/protocol.json +39 -6
  41. package/minecraft-data/data/bedrock/1.19.62/proto.yml +32 -13
  42. package/minecraft-data/data/bedrock/1.19.62/protocol.json +39 -6
  43. package/minecraft-data/data/bedrock/1.19.70/proto.yml +32 -13
  44. package/minecraft-data/data/bedrock/1.19.70/protocol.json +39 -6
  45. package/minecraft-data/data/bedrock/1.19.80/proto.yml +32 -13
  46. package/minecraft-data/data/bedrock/1.19.80/protocol.json +39 -6
  47. package/minecraft-data/data/bedrock/1.20.0/protocol.json +40 -7
  48. package/minecraft-data/data/bedrock/latest/proto.yml +33 -14
  49. package/minecraft-data/data/dataPaths.json +49 -0
  50. package/minecraft-data/data/pc/1.20/biomes.json +642 -0
  51. package/minecraft-data/data/pc/1.20/blockCollisionShapes.json +122031 -0
  52. package/minecraft-data/data/pc/1.20/blockLoot.json +13199 -0
  53. package/minecraft-data/data/pc/1.20/blocks.json +34625 -0
  54. package/minecraft-data/data/pc/1.20/effects.json +200 -0
  55. package/minecraft-data/data/pc/1.20/enchantments.json +875 -0
  56. package/minecraft-data/data/pc/1.20/entities.json +1242 -0
  57. package/minecraft-data/data/pc/1.20/entityLoot.json +1234 -0
  58. package/minecraft-data/data/pc/1.20/foods.json +402 -0
  59. package/minecraft-data/data/pc/1.20/instruments.json +94 -0
  60. package/minecraft-data/data/pc/1.20/items.json +8249 -0
  61. package/minecraft-data/data/pc/1.20/language.json +6219 -0
  62. package/minecraft-data/data/pc/1.20/materials.json +154 -0
  63. package/minecraft-data/data/pc/1.20/particles.json +382 -0
  64. package/minecraft-data/data/pc/1.20/protocol.json +6744 -0
  65. package/minecraft-data/data/pc/1.20/recipes.json +40838 -0
  66. package/minecraft-data/data/pc/1.20/tints.json +447 -0
  67. package/minecraft-data/data/pc/1.20/version.json +5 -0
  68. package/minecraft-data/data/pc/1.20.1/version.json +5 -0
  69. package/minecraft-data/data/pc/common/protocolVersions.json +8 -0
  70. package/minecraft-data/data/pc/common/versions.json +3 -1
  71. package/minecraft-data/doc/history.md +7 -1
  72. package/minecraft-data/schemas/blocks_schema.json +1 -1
  73. package/package.json +1 -1
@@ -5165,7 +5165,17 @@
5165
5165
  },
5166
5166
  {
5167
5167
  "name": "event_id",
5168
- "type": "u8"
5168
+ "type": [
5169
+ "mapper",
5170
+ {
5171
+ "type": "u8",
5172
+ "mappings": {
5173
+ "1": "add",
5174
+ "2": "update",
5175
+ "3": "remove"
5176
+ }
5177
+ }
5178
+ ]
5169
5179
  },
5170
5180
  {
5171
5181
  "name": "effect_id",
@@ -5273,6 +5283,7 @@
5273
5283
  "mappings": {
5274
5284
  "3": "leave_vehicle",
5275
5285
  "4": "mouse_over_entity",
5286
+ "5": "npc_open",
5276
5287
  "6": "open_inventory"
5277
5288
  }
5278
5289
  }
@@ -5920,7 +5931,18 @@
5920
5931
  [
5921
5932
  {
5922
5933
  "name": "event_type",
5923
- "type": "lu16"
5934
+ "type": [
5935
+ "mapper",
5936
+ {
5937
+ "type": "lu16",
5938
+ "mappings": {
5939
+ "0": "uninitialized_subtype",
5940
+ "1": "enable_commands",
5941
+ "2": "disable_commands",
5942
+ "3": "unlock_world_template_settings"
5943
+ }
5944
+ }
5945
+ ]
5924
5946
  }
5925
5947
  ]
5926
5948
  ],
@@ -7271,7 +7293,8 @@
7271
7293
  "2": "execute_closing_commands",
7272
7294
  "3": "set_name",
7273
7295
  "4": "set_skin",
7274
- "5": "set_interaction_text"
7296
+ "5": "set_interaction_text",
7297
+ "6": "execute_opening_commands"
7275
7298
  }
7276
7299
  }
7277
7300
  ]
@@ -7293,7 +7316,7 @@
7293
7316
  "3": "set_name",
7294
7317
  "4": "set_skin",
7295
7318
  "5": "set_interact_text",
7296
- "6": "execute_openining_commands"
7319
+ "6": "execute_opening_commands"
7297
7320
  }
7298
7321
  }
7299
7322
  ]
@@ -7545,7 +7568,8 @@
7545
7568
  "type": "u8",
7546
7569
  "mappings": {
7547
7570
  "0": "combine",
7548
- "1": "react"
7571
+ "1": "react",
7572
+ "2": "reset"
7549
7573
  }
7550
7574
  }
7551
7575
  ]
@@ -7935,7 +7959,16 @@
7935
7959
  },
7936
7960
  {
7937
7961
  "name": "action",
7938
- "type": "u8"
7962
+ "type": [
7963
+ "mapper",
7964
+ {
7965
+ "type": "u8",
7966
+ "mappings": {
7967
+ "1": "none",
7968
+ "2": "close"
7969
+ }
7970
+ }
7971
+ ]
7939
7972
  },
7940
7973
  {
7941
7974
  "name": "resolution_x",
@@ -867,7 +867,10 @@ packet_mob_effect:
867
867
  !id: 0x1c
868
868
  !bound: client
869
869
  runtime_entity_id: varint64
870
- event_id: u8
870
+ event_id: u8 =>
871
+ 1: add
872
+ 2: update
873
+ 3: remove
871
874
  effect_id: zigzag32
872
875
  amplifier: zigzag32
873
876
  particles: bool
@@ -917,6 +920,7 @@ packet_interact:
917
920
  action_id: u8 =>
918
921
  3: leave_vehicle
919
922
  4: mouse_over_entity
923
+ 5: npc_open
920
924
  6: open_inventory
921
925
  # TargetEntityRuntimeID is the runtime ID of the entity that the player interacted with. This is empty
922
926
  # for the InteractActionOpenInventory action type.
@@ -1338,7 +1342,11 @@ packet_player_list:
1338
1342
  packet_simple_event:
1339
1343
  !id: 0x40
1340
1344
  !bound: client
1341
- event_type: lu16
1345
+ event_type: lu16 =>
1346
+ 0: uninitialized_subtype
1347
+ 1: enable_commands
1348
+ 2: disable_commands
1349
+ 3: unlock_world_template_settings
1342
1350
 
1343
1351
  # Event is sent by the server to send an event with additional data. It is typically sent to the client for
1344
1352
  # telemetry reasons, much like the SimpleEvent packet.
@@ -2026,7 +2034,7 @@ packet_player_skin:
2026
2034
  # connects sends a SubClientLogin to request their own login.
2027
2035
  packet_sub_client_login:
2028
2036
  !id: 0x5e
2029
- !bound: client
2037
+ !bound: server
2030
2038
  # ConnectionRequest is a string containing information about the player and JWTs that may be used to
2031
2039
  # verify if the player is connected to XBOX Live. The connection request also contains the necessary
2032
2040
  # client public key to initiate encryption.
@@ -2056,7 +2064,7 @@ packet_set_last_hurt_by:
2056
2064
  # player stops its typing 'session', rather than simply after closing the book.
2057
2065
  packet_book_edit:
2058
2066
  !id: 0x61
2059
- !bound: client
2067
+ !bound: server
2060
2068
  type: u8 =>
2061
2069
  0: replace_page
2062
2070
  1: add_page
@@ -2099,6 +2107,7 @@ packet_npc_request:
2099
2107
  3: set_name
2100
2108
  4: set_skin
2101
2109
  5: set_interaction_text
2110
+ 6: execute_opening_commands
2102
2111
  # CommandString is the command string set in the NPC. It may consist of multiple commands, depending on
2103
2112
  # what the player set in it.
2104
2113
  command: string
@@ -2110,7 +2119,7 @@ packet_npc_request:
2110
2119
  3: set_name
2111
2120
  4: set_skin
2112
2121
  5: set_interact_text
2113
- 6: execute_openining_commands
2122
+ 6: execute_opening_commands
2114
2123
  # SceneName is the name of the scene.
2115
2124
  scene_name: string
2116
2125
 
@@ -2202,7 +2211,7 @@ packet_show_profile:
2202
2211
  # in the settings UI.
2203
2212
  packet_set_default_game_type:
2204
2213
  !id: 0x69
2205
- !bound: client
2214
+ !bound: server
2206
2215
  # GameType is the new game type that is set. When sent by the client, this is the requested new default
2207
2216
  # game type.
2208
2217
  gamemode: GameMode
@@ -2274,6 +2283,7 @@ packet_lab_table:
2274
2283
  action_type: u8 =>
2275
2284
  0: combine
2276
2285
  1: react
2286
+ 2: reset
2277
2287
  # Position is the position at which the lab table used was located.
2278
2288
  position: vec3i
2279
2289
  # ReactionType is the type of the reaction that took place as a result of the items put into the lab
@@ -2529,7 +2539,7 @@ packet_level_event_generic:
2529
2539
  # or if the book should be removed from it.
2530
2540
  packet_lectern_update:
2531
2541
  !id: 0x7d
2532
- !bound: client
2542
+ !bound: server
2533
2543
  # Page is the page number in the book that was opened by the player on the lectern.
2534
2544
  page: u8
2535
2545
  # PageCount is the number of pages that the book opened in the lectern has.
@@ -2546,7 +2556,9 @@ packet_video_stream_connect:
2546
2556
  !bound: client
2547
2557
  server_uri: string
2548
2558
  frame_send_frequency: lf32
2549
- action: u8
2559
+ action: u8 =>
2560
+ 1: none
2561
+ 2: close
2550
2562
  resolution_x: li32
2551
2563
  resolution_y: li32
2552
2564
 
@@ -2607,7 +2619,7 @@ packet_map_create_locked_copy:
2607
2619
  # StructureTemplateDataRequest is sent by the client to request data of a structure.
2608
2620
  packet_structure_template_data_export_request:
2609
2621
  !id: 0x84
2610
- !bound: client
2622
+ !bound: server
2611
2623
  # StructureName is the name of the structure that was set in the structure block's UI. This is the name
2612
2624
  # used to export the structure to a file.
2613
2625
  name: string
@@ -2647,7 +2659,7 @@ packet_update_block_properties:
2647
2659
  # what blobs it needs and which blobs it already has, in an ACK type system.
2648
2660
  packet_client_cache_blob_status:
2649
2661
  !id: 0x87
2650
- !bound: client
2662
+ !bound: server
2651
2663
  # The number of MISSes in this packet
2652
2664
  misses: varint
2653
2665
  # The number of HITs in this packet
@@ -2983,7 +2995,7 @@ ArmorDamageType: [ "bitflags",
2983
2995
  # identical to the SetPlayerGameType packet.
2984
2996
  packet_update_player_game_type:
2985
2997
  !id: 0x97
2986
- !bound: server
2998
+ !bound: client
2987
2999
  # GameType is the new game type of the player. It is one of the constants that can be found in
2988
3000
  # set_player_game_type.go. Some of these game types require additional flags to be set in an
2989
3001
  # AdventureSettings packet for the game mode to obtain its full functionality.
@@ -3166,7 +3178,7 @@ packet_item_component:
3166
3178
  # safer version of the text.
3167
3179
  packet_filter_text_packet:
3168
3180
  !id: 0xa3
3169
- !bound: client
3181
+ !bound: both
3170
3182
  # Text is either the text from the client or the safer version of the text sent by the server.
3171
3183
  text: string
3172
3184
  # FromServer indicates if the packet was sent by the server or not.
@@ -3238,6 +3250,7 @@ packet_simulation_type:
3238
3250
  # NPCDialogue is a packet that allows the client to display dialog boxes for interacting with NPCs.
3239
3251
  packet_npc_dialogue:
3240
3252
  !id: 0xa9
3253
+ !bound: client
3241
3254
  # ActorUniqueID is the ID of the NPC being requested.
3242
3255
  entity_id: lu64
3243
3256
  # ActionType is the type of action for the packet.
@@ -3261,6 +3274,7 @@ packet_edu_uri_resource_packet:
3261
3274
  # This packet only works on the Education Edition version of Minecraft.
3262
3275
  packet_create_photo:
3263
3276
  !id: 0xab
3277
+ !bound: client
3264
3278
  # EntityUniqueID is the unique ID of the entity.
3265
3279
  entity_unique_id: li64
3266
3280
  # PhotoName is the name of the photo.
@@ -3271,6 +3285,7 @@ packet_create_photo:
3271
3285
  # UpdateSubChunkBlocks is essentially just UpdateBlock packet, however for a set of blocks in a sub chunk.
3272
3286
  packet_update_subchunk_blocks:
3273
3287
  !id: 0xac
3288
+ !bound: client
3274
3289
  # SubChunkX, SubChunkY, and SubChunkZ help identify the sub chunk.
3275
3290
  x: zigzag32
3276
3291
  y: zigzag32
@@ -3282,6 +3297,7 @@ packet_update_subchunk_blocks:
3282
3297
 
3283
3298
  packet_photo_info_request:
3284
3299
  !id: 0xad
3300
+ !bound: server
3285
3301
  photo_id: zigzag64
3286
3302
 
3287
3303
  SubChunkEntryWithoutCaching: []lu32
@@ -3373,6 +3389,7 @@ packet_script_message:
3373
3389
  # CodeBuilderSource is an Education Edition packet sent by the client to the server to run an operation with a
3374
3390
  packet_code_builder_source:
3375
3391
  !id: 0xb2
3392
+ !bound: server
3376
3393
  # Operation is used to distinguish the operation performed. It is always one of the constants listed above.
3377
3394
  operation: u8 =>
3378
3395
  - none
@@ -5200,7 +5200,17 @@
5200
5200
  },
5201
5201
  {
5202
5202
  "name": "event_id",
5203
- "type": "u8"
5203
+ "type": [
5204
+ "mapper",
5205
+ {
5206
+ "type": "u8",
5207
+ "mappings": {
5208
+ "1": "add",
5209
+ "2": "update",
5210
+ "3": "remove"
5211
+ }
5212
+ }
5213
+ ]
5204
5214
  },
5205
5215
  {
5206
5216
  "name": "effect_id",
@@ -5308,6 +5318,7 @@
5308
5318
  "mappings": {
5309
5319
  "3": "leave_vehicle",
5310
5320
  "4": "mouse_over_entity",
5321
+ "5": "npc_open",
5311
5322
  "6": "open_inventory"
5312
5323
  }
5313
5324
  }
@@ -5968,7 +5979,18 @@
5968
5979
  [
5969
5980
  {
5970
5981
  "name": "event_type",
5971
- "type": "lu16"
5982
+ "type": [
5983
+ "mapper",
5984
+ {
5985
+ "type": "lu16",
5986
+ "mappings": {
5987
+ "0": "uninitialized_subtype",
5988
+ "1": "enable_commands",
5989
+ "2": "disable_commands",
5990
+ "3": "unlock_world_template_settings"
5991
+ }
5992
+ }
5993
+ ]
5972
5994
  }
5973
5995
  ]
5974
5996
  ],
@@ -7329,7 +7351,8 @@
7329
7351
  "2": "execute_closing_commands",
7330
7352
  "3": "set_name",
7331
7353
  "4": "set_skin",
7332
- "5": "set_interaction_text"
7354
+ "5": "set_interaction_text",
7355
+ "6": "execute_opening_commands"
7333
7356
  }
7334
7357
  }
7335
7358
  ]
@@ -7351,7 +7374,7 @@
7351
7374
  "3": "set_name",
7352
7375
  "4": "set_skin",
7353
7376
  "5": "set_interact_text",
7354
- "6": "execute_openining_commands"
7377
+ "6": "execute_opening_commands"
7355
7378
  }
7356
7379
  }
7357
7380
  ]
@@ -7603,7 +7626,8 @@
7603
7626
  "type": "u8",
7604
7627
  "mappings": {
7605
7628
  "0": "combine",
7606
- "1": "react"
7629
+ "1": "react",
7630
+ "2": "reset"
7607
7631
  }
7608
7632
  }
7609
7633
  ]
@@ -7993,7 +8017,16 @@
7993
8017
  },
7994
8018
  {
7995
8019
  "name": "action",
7996
- "type": "u8"
8020
+ "type": [
8021
+ "mapper",
8022
+ {
8023
+ "type": "u8",
8024
+ "mappings": {
8025
+ "1": "none",
8026
+ "2": "close"
8027
+ }
8028
+ }
8029
+ ]
7997
8030
  },
7998
8031
  {
7999
8032
  "name": "resolution_x",
@@ -875,7 +875,10 @@ packet_mob_effect:
875
875
  !id: 0x1c
876
876
  !bound: client
877
877
  runtime_entity_id: varint64
878
- event_id: u8
878
+ event_id: u8 =>
879
+ 1: add
880
+ 2: update
881
+ 3: remove
879
882
  effect_id: zigzag32
880
883
  amplifier: zigzag32
881
884
  particles: bool
@@ -925,6 +928,7 @@ packet_interact:
925
928
  action_id: u8 =>
926
929
  3: leave_vehicle
927
930
  4: mouse_over_entity
931
+ 5: npc_open
928
932
  6: open_inventory
929
933
  # TargetEntityRuntimeID is the runtime ID of the entity that the player interacted with. This is empty
930
934
  # for the InteractActionOpenInventory action type.
@@ -1346,7 +1350,11 @@ packet_player_list:
1346
1350
  packet_simple_event:
1347
1351
  !id: 0x40
1348
1352
  !bound: client
1349
- event_type: lu16
1353
+ event_type: lu16 =>
1354
+ 0: uninitialized_subtype
1355
+ 1: enable_commands
1356
+ 2: disable_commands
1357
+ 3: unlock_world_template_settings
1350
1358
 
1351
1359
  # Event is sent by the server to send an event with additional data. It is typically sent to the client for
1352
1360
  # telemetry reasons, much like the SimpleEvent packet.
@@ -2036,7 +2044,7 @@ packet_player_skin:
2036
2044
  # connects sends a SubClientLogin to request their own login.
2037
2045
  packet_sub_client_login:
2038
2046
  !id: 0x5e
2039
- !bound: client
2047
+ !bound: server
2040
2048
  # ConnectionRequest is a string containing information about the player and JWTs that may be used to
2041
2049
  # verify if the player is connected to XBOX Live. The connection request also contains the necessary
2042
2050
  # client public key to initiate encryption.
@@ -2066,7 +2074,7 @@ packet_set_last_hurt_by:
2066
2074
  # player stops its typing 'session', rather than simply after closing the book.
2067
2075
  packet_book_edit:
2068
2076
  !id: 0x61
2069
- !bound: client
2077
+ !bound: server
2070
2078
  type: u8 =>
2071
2079
  0: replace_page
2072
2080
  1: add_page
@@ -2109,6 +2117,7 @@ packet_npc_request:
2109
2117
  3: set_name
2110
2118
  4: set_skin
2111
2119
  5: set_interaction_text
2120
+ 6: execute_opening_commands
2112
2121
  # CommandString is the command string set in the NPC. It may consist of multiple commands, depending on
2113
2122
  # what the player set in it.
2114
2123
  command: string
@@ -2120,7 +2129,7 @@ packet_npc_request:
2120
2129
  3: set_name
2121
2130
  4: set_skin
2122
2131
  5: set_interact_text
2123
- 6: execute_openining_commands
2132
+ 6: execute_opening_commands
2124
2133
  # SceneName is the name of the scene.
2125
2134
  scene_name: string
2126
2135
 
@@ -2212,7 +2221,7 @@ packet_show_profile:
2212
2221
  # in the settings UI.
2213
2222
  packet_set_default_game_type:
2214
2223
  !id: 0x69
2215
- !bound: client
2224
+ !bound: server
2216
2225
  # GameType is the new game type that is set. When sent by the client, this is the requested new default
2217
2226
  # game type.
2218
2227
  gamemode: GameMode
@@ -2284,6 +2293,7 @@ packet_lab_table:
2284
2293
  action_type: u8 =>
2285
2294
  0: combine
2286
2295
  1: react
2296
+ 2: reset
2287
2297
  # Position is the position at which the lab table used was located.
2288
2298
  position: vec3i
2289
2299
  # ReactionType is the type of the reaction that took place as a result of the items put into the lab
@@ -2543,7 +2553,7 @@ packet_level_event_generic:
2543
2553
  # or if the book should be removed from it.
2544
2554
  packet_lectern_update:
2545
2555
  !id: 0x7d
2546
- !bound: client
2556
+ !bound: server
2547
2557
  # Page is the page number in the book that was opened by the player on the lectern.
2548
2558
  page: u8
2549
2559
  # PageCount is the number of pages that the book opened in the lectern has.
@@ -2560,7 +2570,9 @@ packet_video_stream_connect:
2560
2570
  !bound: client
2561
2571
  server_uri: string
2562
2572
  frame_send_frequency: lf32
2563
- action: u8
2573
+ action: u8 =>
2574
+ 1: none
2575
+ 2: close
2564
2576
  resolution_x: li32
2565
2577
  resolution_y: li32
2566
2578
 
@@ -2621,7 +2633,7 @@ packet_map_create_locked_copy:
2621
2633
  # StructureTemplateDataRequest is sent by the client to request data of a structure.
2622
2634
  packet_structure_template_data_export_request:
2623
2635
  !id: 0x84
2624
- !bound: client
2636
+ !bound: server
2625
2637
  # StructureName is the name of the structure that was set in the structure block's UI. This is the name
2626
2638
  # used to export the structure to a file.
2627
2639
  name: string
@@ -2661,7 +2673,7 @@ packet_update_block_properties:
2661
2673
  # what blobs it needs and which blobs it already has, in an ACK type system.
2662
2674
  packet_client_cache_blob_status:
2663
2675
  !id: 0x87
2664
- !bound: client
2676
+ !bound: server
2665
2677
  # The number of MISSes in this packet
2666
2678
  misses: varint
2667
2679
  # The number of HITs in this packet
@@ -2997,7 +3009,7 @@ ArmorDamageType: [ "bitflags",
2997
3009
  # identical to the SetPlayerGameType packet.
2998
3010
  packet_update_player_game_type:
2999
3011
  !id: 0x97
3000
- !bound: server
3012
+ !bound: client
3001
3013
  # GameType is the new game type of the player. It is one of the constants that can be found in
3002
3014
  # set_player_game_type.go. Some of these game types require additional flags to be set in an
3003
3015
  # AdventureSettings packet for the game mode to obtain its full functionality.
@@ -3180,7 +3192,7 @@ packet_item_component:
3180
3192
  # safer version of the text.
3181
3193
  packet_filter_text_packet:
3182
3194
  !id: 0xa3
3183
- !bound: client
3195
+ !bound: both
3184
3196
  # Text is either the text from the client or the safer version of the text sent by the server.
3185
3197
  text: string
3186
3198
  # FromServer indicates if the packet was sent by the server or not.
@@ -3256,6 +3268,7 @@ packet_simulation_type:
3256
3268
  # NPCDialogue is a packet that allows the client to display dialog boxes for interacting with NPCs.
3257
3269
  packet_npc_dialogue:
3258
3270
  !id: 0xa9
3271
+ !bound: client
3259
3272
  # ActorUniqueID is the ID of the NPC being requested.
3260
3273
  entity_id: lu64
3261
3274
  # ActionType is the type of action for the packet.
@@ -3279,6 +3292,7 @@ packet_edu_uri_resource_packet:
3279
3292
  # This packet only works on the Education Edition version of Minecraft.
3280
3293
  packet_create_photo:
3281
3294
  !id: 0xab
3295
+ !bound: client
3282
3296
  # EntityUniqueID is the unique ID of the entity.
3283
3297
  entity_unique_id: li64
3284
3298
  # PhotoName is the name of the photo.
@@ -3289,6 +3303,7 @@ packet_create_photo:
3289
3303
  # UpdateSubChunkBlocks is essentially just UpdateBlock packet, however for a set of blocks in a sub chunk.
3290
3304
  packet_update_subchunk_blocks:
3291
3305
  !id: 0xac
3306
+ !bound: client
3292
3307
  # SubChunkX, SubChunkY, and SubChunkZ help identify the sub chunk.
3293
3308
  x: zigzag32
3294
3309
  y: zigzag32
@@ -3300,6 +3315,7 @@ packet_update_subchunk_blocks:
3300
3315
 
3301
3316
  packet_photo_info_request:
3302
3317
  !id: 0xad
3318
+ !bound: server
3303
3319
  photo_id: zigzag64
3304
3320
 
3305
3321
  SubChunkEntryWithoutCaching: []lu32
@@ -3395,7 +3411,7 @@ packet_script_message:
3395
3411
  # CodeBuilderSource is an Education Edition packet sent by the client to the server to run an operation with a
3396
3412
  packet_code_builder_source:
3397
3413
  !id: 0xb2
3398
- !bound: client
3414
+ !bound: server
3399
3415
  # Operation is used to distinguish the operation performed. It is always one of the constants listed above.
3400
3416
  operation: u8 =>
3401
3417
  - none
@@ -5283,7 +5283,17 @@
5283
5283
  },
5284
5284
  {
5285
5285
  "name": "event_id",
5286
- "type": "u8"
5286
+ "type": [
5287
+ "mapper",
5288
+ {
5289
+ "type": "u8",
5290
+ "mappings": {
5291
+ "1": "add",
5292
+ "2": "update",
5293
+ "3": "remove"
5294
+ }
5295
+ }
5296
+ ]
5287
5297
  },
5288
5298
  {
5289
5299
  "name": "effect_id",
@@ -5391,6 +5401,7 @@
5391
5401
  "mappings": {
5392
5402
  "3": "leave_vehicle",
5393
5403
  "4": "mouse_over_entity",
5404
+ "5": "npc_open",
5394
5405
  "6": "open_inventory"
5395
5406
  }
5396
5407
  }
@@ -6051,7 +6062,18 @@
6051
6062
  [
6052
6063
  {
6053
6064
  "name": "event_type",
6054
- "type": "lu16"
6065
+ "type": [
6066
+ "mapper",
6067
+ {
6068
+ "type": "lu16",
6069
+ "mappings": {
6070
+ "0": "uninitialized_subtype",
6071
+ "1": "enable_commands",
6072
+ "2": "disable_commands",
6073
+ "3": "unlock_world_template_settings"
6074
+ }
6075
+ }
6076
+ ]
6055
6077
  }
6056
6078
  ]
6057
6079
  ],
@@ -7414,7 +7436,8 @@
7414
7436
  "2": "execute_closing_commands",
7415
7437
  "3": "set_name",
7416
7438
  "4": "set_skin",
7417
- "5": "set_interaction_text"
7439
+ "5": "set_interaction_text",
7440
+ "6": "execute_opening_commands"
7418
7441
  }
7419
7442
  }
7420
7443
  ]
@@ -7436,7 +7459,7 @@
7436
7459
  "3": "set_name",
7437
7460
  "4": "set_skin",
7438
7461
  "5": "set_interact_text",
7439
- "6": "execute_openining_commands"
7462
+ "6": "execute_opening_commands"
7440
7463
  }
7441
7464
  }
7442
7465
  ]
@@ -7688,7 +7711,8 @@
7688
7711
  "type": "u8",
7689
7712
  "mappings": {
7690
7713
  "0": "combine",
7691
- "1": "react"
7714
+ "1": "react",
7715
+ "2": "reset"
7692
7716
  }
7693
7717
  }
7694
7718
  ]
@@ -8082,7 +8106,16 @@
8082
8106
  },
8083
8107
  {
8084
8108
  "name": "action",
8085
- "type": "u8"
8109
+ "type": [
8110
+ "mapper",
8111
+ {
8112
+ "type": "u8",
8113
+ "mappings": {
8114
+ "1": "none",
8115
+ "2": "close"
8116
+ }
8117
+ }
8118
+ ]
8086
8119
  },
8087
8120
  {
8088
8121
  "name": "resolution_x",