minecraft-data 3.43.0 → 3.44.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 (72) hide show
  1. package/doc/history.md +8 -0
  2. package/minecraft-data/data/bedrock/1.16.201/proto.yml +19 -0
  3. package/minecraft-data/data/bedrock/1.16.201/protocol.json +30 -1
  4. package/minecraft-data/data/bedrock/1.16.210/proto.yml +19 -0
  5. package/minecraft-data/data/bedrock/1.16.210/protocol.json +30 -1
  6. package/minecraft-data/data/bedrock/1.16.220/proto.yml +19 -0
  7. package/minecraft-data/data/bedrock/1.16.220/protocol.json +33 -4
  8. package/minecraft-data/data/bedrock/1.16.220/types.yml +3 -3
  9. package/minecraft-data/data/bedrock/1.17.0/proto.yml +19 -0
  10. package/minecraft-data/data/bedrock/1.17.0/protocol.json +33 -4
  11. package/minecraft-data/data/bedrock/1.17.0/types.yml +3 -3
  12. package/minecraft-data/data/bedrock/1.17.10/proto.yml +19 -0
  13. package/minecraft-data/data/bedrock/1.17.10/protocol.json +33 -4
  14. package/minecraft-data/data/bedrock/1.17.10/types.yml +3 -3
  15. package/minecraft-data/data/bedrock/1.17.30/proto.yml +19 -0
  16. package/minecraft-data/data/bedrock/1.17.30/protocol.json +33 -4
  17. package/minecraft-data/data/bedrock/1.17.30/types.yml +3 -3
  18. package/minecraft-data/data/bedrock/1.17.40/proto.yml +19 -0
  19. package/minecraft-data/data/bedrock/1.17.40/protocol.json +33 -4
  20. package/minecraft-data/data/bedrock/1.17.40/types.yml +3 -3
  21. package/minecraft-data/data/bedrock/1.18.0/proto.yml +19 -0
  22. package/minecraft-data/data/bedrock/1.18.0/protocol.json +33 -4
  23. package/minecraft-data/data/bedrock/1.18.0/types.yml +3 -3
  24. package/minecraft-data/data/bedrock/1.18.11/proto.yml +19 -0
  25. package/minecraft-data/data/bedrock/1.18.11/protocol.json +33 -4
  26. package/minecraft-data/data/bedrock/1.18.11/types.yml +3 -3
  27. package/minecraft-data/data/bedrock/1.18.30/proto.yml +19 -0
  28. package/minecraft-data/data/bedrock/1.18.30/protocol.json +33 -4
  29. package/minecraft-data/data/bedrock/1.18.30/types.yml +3 -3
  30. package/minecraft-data/data/bedrock/1.19.1/proto.yml +19 -0
  31. package/minecraft-data/data/bedrock/1.19.1/protocol.json +33 -4
  32. package/minecraft-data/data/bedrock/1.19.1/types.yml +3 -3
  33. package/minecraft-data/data/bedrock/1.19.10/proto.yml +19 -0
  34. package/minecraft-data/data/bedrock/1.19.10/protocol.json +33 -4
  35. package/minecraft-data/data/bedrock/1.19.10/types.yml +3 -3
  36. package/minecraft-data/data/bedrock/1.19.20/proto.yml +19 -0
  37. package/minecraft-data/data/bedrock/1.19.20/protocol.json +33 -4
  38. package/minecraft-data/data/bedrock/1.19.20/types.yml +3 -3
  39. package/minecraft-data/data/bedrock/1.19.21/proto.yml +19 -0
  40. package/minecraft-data/data/bedrock/1.19.21/protocol.json +33 -4
  41. package/minecraft-data/data/bedrock/1.19.21/types.yml +3 -3
  42. package/minecraft-data/data/bedrock/1.19.30/proto.yml +19 -0
  43. package/minecraft-data/data/bedrock/1.19.30/protocol.json +33 -4
  44. package/minecraft-data/data/bedrock/1.19.30/types.yml +3 -3
  45. package/minecraft-data/data/bedrock/1.19.40/proto.yml +19 -0
  46. package/minecraft-data/data/bedrock/1.19.40/protocol.json +33 -4
  47. package/minecraft-data/data/bedrock/1.19.40/types.yml +3 -3
  48. package/minecraft-data/data/bedrock/1.19.50/proto.yml +19 -0
  49. package/minecraft-data/data/bedrock/1.19.50/protocol.json +33 -4
  50. package/minecraft-data/data/bedrock/1.19.50/types.yml +3 -3
  51. package/minecraft-data/data/bedrock/1.19.60/proto.yml +19 -0
  52. package/minecraft-data/data/bedrock/1.19.60/protocol.json +33 -4
  53. package/minecraft-data/data/bedrock/1.19.60/types.yml +3 -3
  54. package/minecraft-data/data/bedrock/1.19.62/proto.yml +19 -0
  55. package/minecraft-data/data/bedrock/1.19.62/protocol.json +33 -4
  56. package/minecraft-data/data/bedrock/1.19.62/types.yml +3 -3
  57. package/minecraft-data/data/bedrock/1.19.70/proto.yml +19 -0
  58. package/minecraft-data/data/bedrock/1.19.70/protocol.json +33 -4
  59. package/minecraft-data/data/bedrock/1.19.70/types.yml +3 -3
  60. package/minecraft-data/data/bedrock/1.19.80/proto.yml +19 -0
  61. package/minecraft-data/data/bedrock/1.19.80/protocol.json +33 -4
  62. package/minecraft-data/data/bedrock/1.19.80/types.yml +3 -3
  63. package/minecraft-data/data/bedrock/1.20.0/proto.yml +19 -0
  64. package/minecraft-data/data/bedrock/1.20.0/protocol.json +33 -4
  65. package/minecraft-data/data/bedrock/1.20.0/types.yml +3 -3
  66. package/minecraft-data/data/bedrock/1.20.10/protocol.json +33 -4
  67. package/minecraft-data/data/bedrock/latest/proto.yml +18 -0
  68. package/minecraft-data/data/bedrock/latest/types.yml +3 -3
  69. package/minecraft-data/data/pc/1.19.4/protocol.json +4 -4
  70. package/minecraft-data/data/pc/common/features.json +30 -0
  71. package/minecraft-data/doc/history.md +8 -0
  72. package/package.json +2 -2
@@ -2075,7 +2075,7 @@
2075
2075
  [
2076
2076
  {
2077
2077
  "name": "request_id",
2078
- "type": "varint"
2078
+ "type": "zigzag32"
2079
2079
  },
2080
2080
  {
2081
2081
  "name": "actions",
@@ -2377,7 +2377,7 @@
2377
2377
  },
2378
2378
  {
2379
2379
  "name": "request_id",
2380
- "type": "varint"
2380
+ "type": "zigzag32"
2381
2381
  },
2382
2382
  {
2383
2383
  "anon": true,
@@ -2425,7 +2425,7 @@
2425
2425
  },
2426
2426
  {
2427
2427
  "name": "item_stack_id",
2428
- "type": "varint"
2428
+ "type": "zigzag32"
2429
2429
  },
2430
2430
  {
2431
2431
  "name": "custom_name",
@@ -7737,7 +7737,36 @@
7737
7737
  ],
7738
7738
  "packet_update_soft_enum": [
7739
7739
  "container",
7740
- []
7740
+ [
7741
+ {
7742
+ "name": "enum_type",
7743
+ "type": "string"
7744
+ },
7745
+ {
7746
+ "name": "options",
7747
+ "type": [
7748
+ "array",
7749
+ {
7750
+ "countType": "varint",
7751
+ "type": "string"
7752
+ }
7753
+ ]
7754
+ },
7755
+ {
7756
+ "name": "action_type",
7757
+ "type": [
7758
+ "mapper",
7759
+ {
7760
+ "type": "u8",
7761
+ "mappings": {
7762
+ "0": "add",
7763
+ "1": "remove",
7764
+ "2": "update"
7765
+ }
7766
+ }
7767
+ ]
7768
+ }
7769
+ ]
7741
7770
  ],
7742
7771
  "packet_network_stack_latency": [
7743
7772
  "container",
@@ -787,7 +787,7 @@ StackRequestSlotInfo:
787
787
  ItemStackRequest:
788
788
  # RequestID is a unique ID for the request. This ID is used by the server to send a response for this
789
789
  # specific request in the ItemStackResponse packet.
790
- request_id: varint
790
+ request_id: zigzag32
791
791
  actions: []varint
792
792
  type_id: u8 =>
793
793
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
@@ -938,7 +938,7 @@ ItemStackResponses: []varint
938
938
  1: error
939
939
  # RequestID is the unique ID of the request that this response is in reaction to. If rejected, the client
940
940
  # will undo the actions from the request with this ID.
941
- request_id: varint
941
+ request_id: zigzag32
942
942
  _: status ?
943
943
  if ok:
944
944
  # ContainerInfo holds information on the containers that had their contents changed as a result of the
@@ -959,7 +959,7 @@ ItemStackResponses: []varint
959
959
  # sent to the client.
960
960
  count: u8
961
961
  # StackNetworkID is the network ID of the new stack at a specific slot.
962
- item_stack_id: varint
962
+ item_stack_id: zigzag32
963
963
  # CustomName is the custom name of the item stack. It is used in relation to text filtering.
964
964
  custom_name: string
965
965
  # DurabilityCorrection is the current durability of the item stack. This durability will be shown
@@ -2385,9 +2385,28 @@ packet_set_local_player_as_initialized:
2385
2385
  # StartGame packet.
2386
2386
  runtime_entity_id: varint64
2387
2387
 
2388
+ # UpdateSoftEnum is sent by the server to update a soft enum, also known as a dynamic enum, previously sent
2389
+ # in the AvailableCommands packet. It is sent whenever the enum should get new options or when some of its
2390
+ # options should be removed.
2391
+ # The UpdateSoftEnum packet will apply for enums that have been set in the AvailableCommands packet with the
2392
+ # 'Dynamic' field of the CommandEnum set to true.
2388
2393
  packet_update_soft_enum:
2389
2394
  !id: 0x72
2390
2395
  !bound: client
2396
+ # EnumType is the type of the enum. This type must be identical to the one set in the AvailableCommands
2397
+ # packet, because the client uses this to recognise which enum to update.
2398
+ enum_type: string
2399
+ # Options is a list of options that should be updated. Depending on the ActionType field, either these
2400
+ # options will be added to the enum, the enum options will be set to these options or all of these
2401
+ # options will be removed from the enum.
2402
+ options: string[]varint
2403
+ # ActionType is the type of the action to execute on the enum. The Options field has a different result,
2404
+ # depending on what ActionType is used.
2405
+ action_type: u8 =>
2406
+ 0: add
2407
+ 1: remove
2408
+ 2: update
2409
+
2391
2410
 
2392
2411
  # NetworkStackLatency is sent by the server (and the client, on development builds) to measure the latency
2393
2412
  # over the entire Minecraft stack, rather than the RakNet latency. It has other usages too, such as the
@@ -2075,7 +2075,7 @@
2075
2075
  [
2076
2076
  {
2077
2077
  "name": "request_id",
2078
- "type": "varint"
2078
+ "type": "zigzag32"
2079
2079
  },
2080
2080
  {
2081
2081
  "name": "actions",
@@ -2377,7 +2377,7 @@
2377
2377
  },
2378
2378
  {
2379
2379
  "name": "request_id",
2380
- "type": "varint"
2380
+ "type": "zigzag32"
2381
2381
  },
2382
2382
  {
2383
2383
  "anon": true,
@@ -2425,7 +2425,7 @@
2425
2425
  },
2426
2426
  {
2427
2427
  "name": "item_stack_id",
2428
- "type": "varint"
2428
+ "type": "zigzag32"
2429
2429
  },
2430
2430
  {
2431
2431
  "name": "custom_name",
@@ -7782,7 +7782,36 @@
7782
7782
  ],
7783
7783
  "packet_update_soft_enum": [
7784
7784
  "container",
7785
- []
7785
+ [
7786
+ {
7787
+ "name": "enum_type",
7788
+ "type": "string"
7789
+ },
7790
+ {
7791
+ "name": "options",
7792
+ "type": [
7793
+ "array",
7794
+ {
7795
+ "countType": "varint",
7796
+ "type": "string"
7797
+ }
7798
+ ]
7799
+ },
7800
+ {
7801
+ "name": "action_type",
7802
+ "type": [
7803
+ "mapper",
7804
+ {
7805
+ "type": "u8",
7806
+ "mappings": {
7807
+ "0": "add",
7808
+ "1": "remove",
7809
+ "2": "update"
7810
+ }
7811
+ }
7812
+ ]
7813
+ }
7814
+ ]
7786
7815
  ],
7787
7816
  "packet_network_stack_latency": [
7788
7817
  "container",
@@ -787,7 +787,7 @@ StackRequestSlotInfo:
787
787
  ItemStackRequest:
788
788
  # RequestID is a unique ID for the request. This ID is used by the server to send a response for this
789
789
  # specific request in the ItemStackResponse packet.
790
- request_id: varint
790
+ request_id: zigzag32
791
791
  actions: []varint
792
792
  type_id: u8 =>
793
793
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
@@ -938,7 +938,7 @@ ItemStackResponses: []varint
938
938
  1: error
939
939
  # RequestID is the unique ID of the request that this response is in reaction to. If rejected, the client
940
940
  # will undo the actions from the request with this ID.
941
- request_id: varint
941
+ request_id: zigzag32
942
942
  _: status ?
943
943
  if ok:
944
944
  # ContainerInfo holds information on the containers that had their contents changed as a result of the
@@ -959,7 +959,7 @@ ItemStackResponses: []varint
959
959
  # sent to the client.
960
960
  count: u8
961
961
  # StackNetworkID is the network ID of the new stack at a specific slot.
962
- item_stack_id: varint
962
+ item_stack_id: zigzag32
963
963
  # CustomName is the custom name of the item stack. It is used in relation to text filtering.
964
964
  custom_name: string
965
965
  # DurabilityCorrection is the current durability of the item stack. This durability will be shown
@@ -2392,9 +2392,28 @@ packet_set_local_player_as_initialized:
2392
2392
  # StartGame packet.
2393
2393
  runtime_entity_id: varint64
2394
2394
 
2395
+ # UpdateSoftEnum is sent by the server to update a soft enum, also known as a dynamic enum, previously sent
2396
+ # in the AvailableCommands packet. It is sent whenever the enum should get new options or when some of its
2397
+ # options should be removed.
2398
+ # The UpdateSoftEnum packet will apply for enums that have been set in the AvailableCommands packet with the
2399
+ # 'Dynamic' field of the CommandEnum set to true.
2395
2400
  packet_update_soft_enum:
2396
2401
  !id: 0x72
2397
2402
  !bound: client
2403
+ # EnumType is the type of the enum. This type must be identical to the one set in the AvailableCommands
2404
+ # packet, because the client uses this to recognise which enum to update.
2405
+ enum_type: string
2406
+ # Options is a list of options that should be updated. Depending on the ActionType field, either these
2407
+ # options will be added to the enum, the enum options will be set to these options or all of these
2408
+ # options will be removed from the enum.
2409
+ options: string[]varint
2410
+ # ActionType is the type of the action to execute on the enum. The Options field has a different result,
2411
+ # depending on what ActionType is used.
2412
+ action_type: u8 =>
2413
+ 0: add
2414
+ 1: remove
2415
+ 2: update
2416
+
2398
2417
 
2399
2418
  # NetworkStackLatency is sent by the server (and the client, on development builds) to measure the latency
2400
2419
  # over the entire Minecraft stack, rather than the RakNet latency. It has other usages too, such as the
@@ -2075,7 +2075,7 @@
2075
2075
  [
2076
2076
  {
2077
2077
  "name": "request_id",
2078
- "type": "varint"
2078
+ "type": "zigzag32"
2079
2079
  },
2080
2080
  {
2081
2081
  "name": "actions",
@@ -2379,7 +2379,7 @@
2379
2379
  },
2380
2380
  {
2381
2381
  "name": "request_id",
2382
- "type": "varint"
2382
+ "type": "zigzag32"
2383
2383
  },
2384
2384
  {
2385
2385
  "anon": true,
@@ -2427,7 +2427,7 @@
2427
2427
  },
2428
2428
  {
2429
2429
  "name": "item_stack_id",
2430
- "type": "varint"
2430
+ "type": "zigzag32"
2431
2431
  },
2432
2432
  {
2433
2433
  "name": "custom_name",
@@ -7840,7 +7840,36 @@
7840
7840
  ],
7841
7841
  "packet_update_soft_enum": [
7842
7842
  "container",
7843
- []
7843
+ [
7844
+ {
7845
+ "name": "enum_type",
7846
+ "type": "string"
7847
+ },
7848
+ {
7849
+ "name": "options",
7850
+ "type": [
7851
+ "array",
7852
+ {
7853
+ "countType": "varint",
7854
+ "type": "string"
7855
+ }
7856
+ ]
7857
+ },
7858
+ {
7859
+ "name": "action_type",
7860
+ "type": [
7861
+ "mapper",
7862
+ {
7863
+ "type": "u8",
7864
+ "mappings": {
7865
+ "0": "add",
7866
+ "1": "remove",
7867
+ "2": "update"
7868
+ }
7869
+ }
7870
+ ]
7871
+ }
7872
+ ]
7844
7873
  ],
7845
7874
  "packet_network_stack_latency": [
7846
7875
  "container",
@@ -791,7 +791,7 @@ StackRequestSlotInfo:
791
791
  ItemStackRequest:
792
792
  # RequestID is a unique ID for the request. This ID is used by the server to send a response for this
793
793
  # specific request in the ItemStackResponse packet.
794
- request_id: varint
794
+ request_id: zigzag32
795
795
  actions: []varint
796
796
  type_id: u8 =>
797
797
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
@@ -946,7 +946,7 @@ ItemStackResponses: []varint
946
946
  1: error
947
947
  # RequestID is the unique ID of the request that this response is in reaction to. If rejected, the client
948
948
  # will undo the actions from the request with this ID.
949
- request_id: varint
949
+ request_id: zigzag32
950
950
  _: status ?
951
951
  if ok:
952
952
  # ContainerInfo holds information on the containers that had their contents changed as a result of the
@@ -967,7 +967,7 @@ ItemStackResponses: []varint
967
967
  # sent to the client.
968
968
  count: u8
969
969
  # StackNetworkID is the network ID of the new stack at a specific slot.
970
- item_stack_id: varint
970
+ item_stack_id: zigzag32
971
971
  # CustomName is the custom name of the item stack. It is used in relation to text filtering.
972
972
  custom_name: string
973
973
  # DurabilityCorrection is the current durability of the item stack. This durability will be shown
@@ -2402,9 +2402,28 @@ packet_set_local_player_as_initialized:
2402
2402
  # StartGame packet.
2403
2403
  runtime_entity_id: varint64
2404
2404
 
2405
+ # UpdateSoftEnum is sent by the server to update a soft enum, also known as a dynamic enum, previously sent
2406
+ # in the AvailableCommands packet. It is sent whenever the enum should get new options or when some of its
2407
+ # options should be removed.
2408
+ # The UpdateSoftEnum packet will apply for enums that have been set in the AvailableCommands packet with the
2409
+ # 'Dynamic' field of the CommandEnum set to true.
2405
2410
  packet_update_soft_enum:
2406
2411
  !id: 0x72
2407
2412
  !bound: client
2413
+ # EnumType is the type of the enum. This type must be identical to the one set in the AvailableCommands
2414
+ # packet, because the client uses this to recognise which enum to update.
2415
+ enum_type: string
2416
+ # Options is a list of options that should be updated. Depending on the ActionType field, either these
2417
+ # options will be added to the enum, the enum options will be set to these options or all of these
2418
+ # options will be removed from the enum.
2419
+ options: string[]varint
2420
+ # ActionType is the type of the action to execute on the enum. The Options field has a different result,
2421
+ # depending on what ActionType is used.
2422
+ action_type: u8 =>
2423
+ 0: add
2424
+ 1: remove
2425
+ 2: update
2426
+
2408
2427
 
2409
2428
  # NetworkStackLatency is sent by the server (and the client, on development builds) to measure the latency
2410
2429
  # over the entire Minecraft stack, rather than the RakNet latency. It has other usages too, such as the
@@ -2079,7 +2079,7 @@
2079
2079
  [
2080
2080
  {
2081
2081
  "name": "request_id",
2082
- "type": "varint"
2082
+ "type": "zigzag32"
2083
2083
  },
2084
2084
  {
2085
2085
  "name": "actions",
@@ -2383,7 +2383,7 @@
2383
2383
  },
2384
2384
  {
2385
2385
  "name": "request_id",
2386
- "type": "varint"
2386
+ "type": "zigzag32"
2387
2387
  },
2388
2388
  {
2389
2389
  "anon": true,
@@ -2431,7 +2431,7 @@
2431
2431
  },
2432
2432
  {
2433
2433
  "name": "item_stack_id",
2434
- "type": "varint"
2434
+ "type": "zigzag32"
2435
2435
  },
2436
2436
  {
2437
2437
  "name": "custom_name",
@@ -7925,7 +7925,36 @@
7925
7925
  ],
7926
7926
  "packet_update_soft_enum": [
7927
7927
  "container",
7928
- []
7928
+ [
7929
+ {
7930
+ "name": "enum_type",
7931
+ "type": "string"
7932
+ },
7933
+ {
7934
+ "name": "options",
7935
+ "type": [
7936
+ "array",
7937
+ {
7938
+ "countType": "varint",
7939
+ "type": "string"
7940
+ }
7941
+ ]
7942
+ },
7943
+ {
7944
+ "name": "action_type",
7945
+ "type": [
7946
+ "mapper",
7947
+ {
7948
+ "type": "u8",
7949
+ "mappings": {
7950
+ "0": "add",
7951
+ "1": "remove",
7952
+ "2": "update"
7953
+ }
7954
+ }
7955
+ ]
7956
+ }
7957
+ ]
7929
7958
  ],
7930
7959
  "packet_network_stack_latency": [
7931
7960
  "container",
@@ -799,7 +799,7 @@ StackRequestSlotInfo:
799
799
  ItemStackRequest:
800
800
  # RequestID is a unique ID for the request. This ID is used by the server to send a response for this
801
801
  # specific request in the ItemStackResponse packet.
802
- request_id: varint
802
+ request_id: zigzag32
803
803
  actions: []varint
804
804
  type_id: u8 =>
805
805
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
@@ -954,7 +954,7 @@ ItemStackResponses: []varint
954
954
  1: error
955
955
  # RequestID is the unique ID of the request that this response is in reaction to. If rejected, the client
956
956
  # will undo the actions from the request with this ID.
957
- request_id: varint
957
+ request_id: zigzag32
958
958
  _: status ?
959
959
  if ok:
960
960
  # ContainerInfo holds information on the containers that had their contents changed as a result of the
@@ -975,7 +975,7 @@ ItemStackResponses: []varint
975
975
  # sent to the client.
976
976
  count: u8
977
977
  # StackNetworkID is the network ID of the new stack at a specific slot.
978
- item_stack_id: varint
978
+ item_stack_id: zigzag32
979
979
  # CustomName is the custom name of the item stack. It is used in relation to text filtering.
980
980
  custom_name: string
981
981
  # DurabilityCorrection is the current durability of the item stack. This durability will be shown
@@ -2416,9 +2416,28 @@ packet_set_local_player_as_initialized:
2416
2416
  # StartGame packet.
2417
2417
  runtime_entity_id: varint64
2418
2418
 
2419
+ # UpdateSoftEnum is sent by the server to update a soft enum, also known as a dynamic enum, previously sent
2420
+ # in the AvailableCommands packet. It is sent whenever the enum should get new options or when some of its
2421
+ # options should be removed.
2422
+ # The UpdateSoftEnum packet will apply for enums that have been set in the AvailableCommands packet with the
2423
+ # 'Dynamic' field of the CommandEnum set to true.
2419
2424
  packet_update_soft_enum:
2420
2425
  !id: 0x72
2421
2426
  !bound: client
2427
+ # EnumType is the type of the enum. This type must be identical to the one set in the AvailableCommands
2428
+ # packet, because the client uses this to recognise which enum to update.
2429
+ enum_type: string
2430
+ # Options is a list of options that should be updated. Depending on the ActionType field, either these
2431
+ # options will be added to the enum, the enum options will be set to these options or all of these
2432
+ # options will be removed from the enum.
2433
+ options: string[]varint
2434
+ # ActionType is the type of the action to execute on the enum. The Options field has a different result,
2435
+ # depending on what ActionType is used.
2436
+ action_type: u8 =>
2437
+ 0: add
2438
+ 1: remove
2439
+ 2: update
2440
+
2422
2441
 
2423
2442
  # NetworkStackLatency is sent by the server (and the client, on development builds) to measure the latency
2424
2443
  # over the entire Minecraft stack, rather than the RakNet latency. It has other usages too, such as the
@@ -2081,7 +2081,7 @@
2081
2081
  [
2082
2082
  {
2083
2083
  "name": "request_id",
2084
- "type": "varint"
2084
+ "type": "zigzag32"
2085
2085
  },
2086
2086
  {
2087
2087
  "name": "actions",
@@ -2385,7 +2385,7 @@
2385
2385
  },
2386
2386
  {
2387
2387
  "name": "request_id",
2388
- "type": "varint"
2388
+ "type": "zigzag32"
2389
2389
  },
2390
2390
  {
2391
2391
  "anon": true,
@@ -2433,7 +2433,7 @@
2433
2433
  },
2434
2434
  {
2435
2435
  "name": "item_stack_id",
2436
- "type": "varint"
2436
+ "type": "zigzag32"
2437
2437
  },
2438
2438
  {
2439
2439
  "name": "custom_name",
@@ -7976,7 +7976,36 @@
7976
7976
  ],
7977
7977
  "packet_update_soft_enum": [
7978
7978
  "container",
7979
- []
7979
+ [
7980
+ {
7981
+ "name": "enum_type",
7982
+ "type": "string"
7983
+ },
7984
+ {
7985
+ "name": "options",
7986
+ "type": [
7987
+ "array",
7988
+ {
7989
+ "countType": "varint",
7990
+ "type": "string"
7991
+ }
7992
+ ]
7993
+ },
7994
+ {
7995
+ "name": "action_type",
7996
+ "type": [
7997
+ "mapper",
7998
+ {
7999
+ "type": "u8",
8000
+ "mappings": {
8001
+ "0": "add",
8002
+ "1": "remove",
8003
+ "2": "update"
8004
+ }
8005
+ }
8006
+ ]
8007
+ }
8008
+ ]
7980
8009
  ],
7981
8010
  "packet_network_stack_latency": [
7982
8011
  "container",
@@ -801,7 +801,7 @@ StackRequestSlotInfo:
801
801
  ItemStackRequest:
802
802
  # RequestID is a unique ID for the request. This ID is used by the server to send a response for this
803
803
  # specific request in the ItemStackResponse packet.
804
- request_id: varint
804
+ request_id: zigzag32
805
805
  actions: []varint
806
806
  type_id: u8 =>
807
807
  # TakeStackRequestAction is sent by the client to the server to take x amount of items from one slot in a
@@ -956,7 +956,7 @@ ItemStackResponses: []varint
956
956
  1: error
957
957
  # RequestID is the unique ID of the request that this response is in reaction to. If rejected, the client
958
958
  # will undo the actions from the request with this ID.
959
- request_id: varint
959
+ request_id: zigzag32
960
960
  _: status ?
961
961
  if ok:
962
962
  # ContainerInfo holds information on the containers that had their contents changed as a result of the
@@ -977,7 +977,7 @@ ItemStackResponses: []varint
977
977
  # sent to the client.
978
978
  count: u8
979
979
  # StackNetworkID is the network ID of the new stack at a specific slot.
980
- item_stack_id: varint
980
+ item_stack_id: zigzag32
981
981
  # CustomName is the custom name of the item stack. It is used in relation to text filtering.
982
982
  custom_name: string
983
983
  # DurabilityCorrection is the current durability of the item stack. This durability will be shown
@@ -2467,9 +2467,28 @@ packet_set_local_player_as_initialized:
2467
2467
  # StartGame packet.
2468
2468
  runtime_entity_id: varint64
2469
2469
 
2470
+ # UpdateSoftEnum is sent by the server to update a soft enum, also known as a dynamic enum, previously sent
2471
+ # in the AvailableCommands packet. It is sent whenever the enum should get new options or when some of its
2472
+ # options should be removed.
2473
+ # The UpdateSoftEnum packet will apply for enums that have been set in the AvailableCommands packet with the
2474
+ # 'Dynamic' field of the CommandEnum set to true.
2470
2475
  packet_update_soft_enum:
2471
2476
  !id: 0x72
2472
2477
  !bound: client
2478
+ # EnumType is the type of the enum. This type must be identical to the one set in the AvailableCommands
2479
+ # packet, because the client uses this to recognise which enum to update.
2480
+ enum_type: string
2481
+ # Options is a list of options that should be updated. Depending on the ActionType field, either these
2482
+ # options will be added to the enum, the enum options will be set to these options or all of these
2483
+ # options will be removed from the enum.
2484
+ options: string[]varint
2485
+ # ActionType is the type of the action to execute on the enum. The Options field has a different result,
2486
+ # depending on what ActionType is used.
2487
+ action_type: u8 =>
2488
+ 0: add
2489
+ 1: remove
2490
+ 2: update
2491
+
2473
2492
 
2474
2493
  # NetworkStackLatency is sent by the server (and the client, on development builds) to measure the latency
2475
2494
  # over the entire Minecraft stack, rather than the RakNet latency. It has other usages too, such as the
@@ -2081,7 +2081,7 @@
2081
2081
  [
2082
2082
  {
2083
2083
  "name": "request_id",
2084
- "type": "varint"
2084
+ "type": "zigzag32"
2085
2085
  },
2086
2086
  {
2087
2087
  "name": "actions",
@@ -2385,7 +2385,7 @@
2385
2385
  },
2386
2386
  {
2387
2387
  "name": "request_id",
2388
- "type": "varint"
2388
+ "type": "zigzag32"
2389
2389
  },
2390
2390
  {
2391
2391
  "anon": true,
@@ -2433,7 +2433,7 @@
2433
2433
  },
2434
2434
  {
2435
2435
  "name": "item_stack_id",
2436
- "type": "varint"
2436
+ "type": "zigzag32"
2437
2437
  },
2438
2438
  {
2439
2439
  "name": "custom_name",
@@ -8044,7 +8044,36 @@
8044
8044
  ],
8045
8045
  "packet_update_soft_enum": [
8046
8046
  "container",
8047
- []
8047
+ [
8048
+ {
8049
+ "name": "enum_type",
8050
+ "type": "string"
8051
+ },
8052
+ {
8053
+ "name": "options",
8054
+ "type": [
8055
+ "array",
8056
+ {
8057
+ "countType": "varint",
8058
+ "type": "string"
8059
+ }
8060
+ ]
8061
+ },
8062
+ {
8063
+ "name": "action_type",
8064
+ "type": [
8065
+ "mapper",
8066
+ {
8067
+ "type": "u8",
8068
+ "mappings": {
8069
+ "0": "add",
8070
+ "1": "remove",
8071
+ "2": "update"
8072
+ }
8073
+ }
8074
+ ]
8075
+ }
8076
+ ]
8048
8077
  ],
8049
8078
  "packet_network_stack_latency": [
8050
8079
  "container",