minecraft-data 3.90.0 → 3.92.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 (149) hide show
  1. package/data.js +54 -0
  2. package/doc/history.md +8 -0
  3. package/index.d.ts +5 -2
  4. package/minecraft-data/data/dataPaths.json +54 -0
  5. package/minecraft-data/data/pc/1.10/proto.yml +29 -35
  6. package/minecraft-data/data/pc/1.10/protocol.json +101 -86
  7. package/minecraft-data/data/pc/1.10-pre1/proto.yml +29 -35
  8. package/minecraft-data/data/pc/1.10-pre1/protocol.json +101 -86
  9. package/minecraft-data/data/pc/1.11/proto.yml +29 -35
  10. package/minecraft-data/data/pc/1.11/protocol.json +101 -86
  11. package/minecraft-data/data/pc/1.12/proto.yml +29 -35
  12. package/minecraft-data/data/pc/1.12/protocol.json +101 -86
  13. package/minecraft-data/data/pc/1.12-pre4/proto.yml +29 -35
  14. package/minecraft-data/data/pc/1.12-pre4/protocol.json +101 -86
  15. package/minecraft-data/data/pc/1.12.1/proto.yml +29 -35
  16. package/minecraft-data/data/pc/1.12.1/protocol.json +101 -86
  17. package/minecraft-data/data/pc/1.12.2/proto.yml +29 -35
  18. package/minecraft-data/data/pc/1.12.2/protocol.json +101 -86
  19. package/minecraft-data/data/pc/1.13/proto.yml +29 -35
  20. package/minecraft-data/data/pc/1.13/protocol.json +101 -86
  21. package/minecraft-data/data/pc/1.13.1/proto.yml +29 -35
  22. package/minecraft-data/data/pc/1.13.1/protocol.json +101 -86
  23. package/minecraft-data/data/pc/1.13.2/proto.yml +29 -35
  24. package/minecraft-data/data/pc/1.13.2/protocol.json +101 -86
  25. package/minecraft-data/data/pc/1.13.2-pre1/proto.yml +29 -35
  26. package/minecraft-data/data/pc/1.13.2-pre1/protocol.json +101 -86
  27. package/minecraft-data/data/pc/1.13.2-pre2/proto.yml +29 -35
  28. package/minecraft-data/data/pc/1.13.2-pre2/protocol.json +101 -86
  29. package/minecraft-data/data/pc/1.14/proto.yml +29 -35
  30. package/minecraft-data/data/pc/1.14/protocol.json +101 -86
  31. package/minecraft-data/data/pc/1.14.1/proto.yml +29 -35
  32. package/minecraft-data/data/pc/1.14.1/protocol.json +101 -86
  33. package/minecraft-data/data/pc/1.14.3/proto.yml +29 -35
  34. package/minecraft-data/data/pc/1.14.3/protocol.json +101 -86
  35. package/minecraft-data/data/pc/1.14.4/proto.yml +29 -35
  36. package/minecraft-data/data/pc/1.14.4/protocol.json +101 -86
  37. package/minecraft-data/data/pc/1.15/proto.yml +29 -35
  38. package/minecraft-data/data/pc/1.15/protocol.json +101 -86
  39. package/minecraft-data/data/pc/1.15.1/proto.yml +29 -35
  40. package/minecraft-data/data/pc/1.15.1/protocol.json +101 -86
  41. package/minecraft-data/data/pc/1.15.2/proto.yml +29 -35
  42. package/minecraft-data/data/pc/1.15.2/protocol.json +101 -86
  43. package/minecraft-data/data/pc/1.16/proto.yml +29 -35
  44. package/minecraft-data/data/pc/1.16/protocol.json +101 -86
  45. package/minecraft-data/data/pc/1.16-rc1/proto.yml +29 -35
  46. package/minecraft-data/data/pc/1.16-rc1/protocol.json +101 -86
  47. package/minecraft-data/data/pc/1.16.1/proto.yml +29 -35
  48. package/minecraft-data/data/pc/1.16.1/protocol.json +101 -86
  49. package/minecraft-data/data/pc/1.16.2/proto.yml +29 -35
  50. package/minecraft-data/data/pc/1.16.2/protocol.json +101 -86
  51. package/minecraft-data/data/pc/1.17/proto.yml +30 -36
  52. package/minecraft-data/data/pc/1.17/protocol.json +102 -87
  53. package/minecraft-data/data/pc/1.17.1/proto.yml +30 -36
  54. package/minecraft-data/data/pc/1.17.1/protocol.json +102 -87
  55. package/minecraft-data/data/pc/1.18/proto.yml +30 -36
  56. package/minecraft-data/data/pc/1.18/protocol.json +102 -87
  57. package/minecraft-data/data/pc/1.18.2/proto.yml +30 -36
  58. package/minecraft-data/data/pc/1.18.2/protocol.json +102 -87
  59. package/minecraft-data/data/pc/1.19/proto.yml +34 -67
  60. package/minecraft-data/data/pc/1.19/protocol.json +123 -127
  61. package/minecraft-data/data/pc/1.19.2/proto.yml +35 -68
  62. package/minecraft-data/data/pc/1.19.2/protocol.json +123 -127
  63. package/minecraft-data/data/pc/1.19.3/proto.yml +39 -309
  64. package/minecraft-data/data/pc/1.19.3/protocol.json +65 -324
  65. package/minecraft-data/data/pc/1.19.4/proto.yml +39 -309
  66. package/minecraft-data/data/pc/1.19.4/protocol.json +65 -324
  67. package/minecraft-data/data/pc/1.20/proto.yml +40 -310
  68. package/minecraft-data/data/pc/1.20/protocol.json +65 -324
  69. package/minecraft-data/data/pc/1.20.2/proto.yml +40 -310
  70. package/minecraft-data/data/pc/1.20.2/protocol.json +65 -324
  71. package/minecraft-data/data/pc/1.20.3/proto.yml +156 -327
  72. package/minecraft-data/data/pc/1.20.3/protocol.json +186 -369
  73. package/minecraft-data/data/pc/1.20.5/proto.yml +427 -845
  74. package/minecraft-data/data/pc/1.20.5/protocol.json +669 -931
  75. package/minecraft-data/data/pc/1.21.1/proto.yml +415 -898
  76. package/minecraft-data/data/pc/1.21.1/protocol.json +585 -1058
  77. package/minecraft-data/data/pc/1.21.3/proto.yml +429 -572
  78. package/minecraft-data/data/pc/1.21.3/protocol.json +760 -920
  79. package/minecraft-data/data/pc/1.21.4/protocol.json +766 -917
  80. package/minecraft-data/data/pc/1.21.5/attributes.json +226 -0
  81. package/minecraft-data/data/pc/1.21.5/biomes.json +652 -0
  82. package/minecraft-data/data/pc/1.21.5/blockCollisionShapes.json +142530 -0
  83. package/minecraft-data/data/pc/1.21.5/blocks.json +41307 -0
  84. package/minecraft-data/data/pc/1.21.5/effects.json +236 -0
  85. package/minecraft-data/data/pc/1.21.5/enchantments.json +959 -0
  86. package/minecraft-data/data/pc/1.21.5/entities.json +1502 -0
  87. package/minecraft-data/data/pc/1.21.5/foods.json +402 -0
  88. package/minecraft-data/data/pc/1.21.5/instruments.json +94 -0
  89. package/minecraft-data/data/pc/1.21.5/items.json +9164 -0
  90. package/minecraft-data/data/pc/1.21.5/language.json +7163 -0
  91. package/minecraft-data/data/pc/1.21.5/materials.json +206 -0
  92. package/minecraft-data/data/pc/1.21.5/particles.json +458 -0
  93. package/minecraft-data/data/pc/1.21.5/recipes.json +29948 -0
  94. package/minecraft-data/data/pc/1.21.5/sounds.json +6810 -0
  95. package/minecraft-data/data/pc/1.21.5/tints.json +465 -0
  96. package/minecraft-data/data/pc/1.21.5/version.json +6 -0
  97. package/minecraft-data/data/pc/1.21.6/attributes.json +247 -0
  98. package/minecraft-data/data/pc/1.21.6/biomes.json +652 -0
  99. package/minecraft-data/data/pc/1.21.6/blockCollisionShapes.json +142541 -0
  100. package/minecraft-data/data/pc/1.21.6/blocks.json +41360 -0
  101. package/minecraft-data/data/pc/1.21.6/effects.json +236 -0
  102. package/minecraft-data/data/pc/1.21.6/enchantments.json +959 -0
  103. package/minecraft-data/data/pc/1.21.6/entities.json +1512 -0
  104. package/minecraft-data/data/pc/1.21.6/foods.json +402 -0
  105. package/minecraft-data/data/pc/1.21.6/instruments.json +94 -0
  106. package/minecraft-data/data/pc/1.21.6/items.json +9278 -0
  107. package/minecraft-data/data/pc/1.21.6/language.json +7389 -0
  108. package/minecraft-data/data/pc/1.21.6/materials.json +206 -0
  109. package/minecraft-data/data/pc/1.21.6/particles.json +458 -0
  110. package/minecraft-data/data/pc/1.21.6/recipes.json +30473 -0
  111. package/minecraft-data/data/pc/1.21.6/sounds.json +6910 -0
  112. package/minecraft-data/data/pc/1.21.6/tints.json +465 -0
  113. package/minecraft-data/data/pc/1.21.6/version.json +6 -0
  114. package/minecraft-data/data/pc/1.7/proto.yml +3 -6
  115. package/minecraft-data/data/pc/1.7/protocol.json +7 -0
  116. package/minecraft-data/data/pc/1.8/proto.yml +29 -35
  117. package/minecraft-data/data/pc/1.8/protocol.json +101 -86
  118. package/minecraft-data/data/pc/1.9/proto.yml +29 -35
  119. package/minecraft-data/data/pc/1.9/protocol.json +101 -86
  120. package/minecraft-data/data/pc/1.9.1-pre2/proto.yml +29 -35
  121. package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +101 -86
  122. package/minecraft-data/data/pc/1.9.2/proto.yml +29 -35
  123. package/minecraft-data/data/pc/1.9.2/protocol.json +101 -86
  124. package/minecraft-data/data/pc/1.9.4/proto.yml +29 -35
  125. package/minecraft-data/data/pc/1.9.4/protocol.json +101 -86
  126. package/minecraft-data/data/pc/15w40b/proto.yml +29 -35
  127. package/minecraft-data/data/pc/15w40b/protocol.json +101 -86
  128. package/minecraft-data/data/pc/16w20a/proto.yml +29 -35
  129. package/minecraft-data/data/pc/16w20a/protocol.json +101 -86
  130. package/minecraft-data/data/pc/16w35a/proto.yml +29 -35
  131. package/minecraft-data/data/pc/16w35a/protocol.json +101 -86
  132. package/minecraft-data/data/pc/17w15a/proto.yml +29 -35
  133. package/minecraft-data/data/pc/17w15a/protocol.json +101 -86
  134. package/minecraft-data/data/pc/17w18b/proto.yml +29 -35
  135. package/minecraft-data/data/pc/17w18b/protocol.json +101 -86
  136. package/minecraft-data/data/pc/17w50a/proto.yml +29 -35
  137. package/minecraft-data/data/pc/17w50a/protocol.json +101 -86
  138. package/minecraft-data/data/pc/20w13b/proto.yml +29 -35
  139. package/minecraft-data/data/pc/20w13b/protocol.json +101 -86
  140. package/minecraft-data/data/pc/21w07a/proto.yml +29 -35
  141. package/minecraft-data/data/pc/21w07a/protocol.json +101 -86
  142. package/minecraft-data/data/pc/common/features.json +7 -2
  143. package/minecraft-data/data/pc/common/protocolVersions.json +203 -36
  144. package/minecraft-data/data/pc/common/versions.json +2 -1
  145. package/minecraft-data/data/pc/latest/proto.yml +427 -572
  146. package/minecraft-data/doc/history.md +12 -0
  147. package/minecraft-data/doc/protocol.md +6 -4
  148. package/package.json +2 -2
  149. package/test/load.js +8 -0
@@ -17,6 +17,7 @@
17
17
  "option": "native",
18
18
  "entityMetadataLoop": "native",
19
19
  "bitfield": "native",
20
+ "bitflags": "native",
20
21
  "container": "native",
21
22
  "switch": "native",
22
23
  "void": "native",
@@ -24,6 +25,12 @@
24
25
  "restBuffer": "native",
25
26
  "nbt": "native",
26
27
  "optionalNbt": "native",
28
+ "ByteArray": [
29
+ "buffer",
30
+ {
31
+ "countType": "varint"
32
+ }
33
+ ],
27
34
  "string": [
28
35
  "pstring",
29
36
  {
@@ -2688,7 +2695,19 @@
2688
2695
  [
2689
2696
  {
2690
2697
  "name": "action",
2691
- "type": "varint"
2698
+ "type": [
2699
+ "mapper",
2700
+ {
2701
+ "type": "varint",
2702
+ "mappings": {
2703
+ "0": "add_player",
2704
+ "1": "update_game_mode",
2705
+ "2": "update_latency",
2706
+ "3": "update_display_name",
2707
+ "4": "remove_player"
2708
+ }
2709
+ }
2710
+ ]
2692
2711
  },
2693
2712
  {
2694
2713
  "name": "data",
@@ -2700,105 +2719,101 @@
2700
2719
  "container",
2701
2720
  [
2702
2721
  {
2703
- "name": "UUID",
2722
+ "name": "uuid",
2704
2723
  "type": "UUID"
2705
2724
  },
2706
2725
  {
2707
- "name": "name",
2708
- "type": [
2709
- "switch",
2710
- {
2711
- "compareTo": "../action",
2712
- "fields": {
2713
- "0": "string"
2714
- },
2715
- "default": "void"
2716
- }
2717
- ]
2718
- },
2719
- {
2720
- "name": "properties",
2726
+ "anon": true,
2721
2727
  "type": [
2722
2728
  "switch",
2723
2729
  {
2724
2730
  "compareTo": "../action",
2725
2731
  "fields": {
2726
- "0": [
2727
- "array",
2728
- {
2729
- "countType": "varint",
2730
- "type": [
2731
- "container",
2732
- [
2733
- {
2734
- "name": "name",
2735
- "type": "string"
2736
- },
2737
- {
2738
- "name": "value",
2739
- "type": "string"
2740
- },
2732
+ "add_player": [
2733
+ "container",
2734
+ [
2735
+ {
2736
+ "name": "name",
2737
+ "type": "string"
2738
+ },
2739
+ {
2740
+ "name": "properties",
2741
+ "type": [
2742
+ "array",
2741
2743
  {
2742
- "name": "signature",
2744
+ "countType": "varint",
2743
2745
  "type": [
2744
- "option",
2745
- "string"
2746
+ "container",
2747
+ [
2748
+ {
2749
+ "name": "name",
2750
+ "type": "string"
2751
+ },
2752
+ {
2753
+ "name": "value",
2754
+ "type": "string"
2755
+ },
2756
+ {
2757
+ "name": "signature",
2758
+ "type": [
2759
+ "option",
2760
+ "string"
2761
+ ]
2762
+ }
2763
+ ]
2746
2764
  ]
2747
2765
  }
2748
2766
  ]
2749
- ]
2750
- }
2751
- ]
2752
- },
2753
- "default": "void"
2754
- }
2755
- ]
2756
- },
2757
- {
2758
- "name": "gamemode",
2759
- "type": [
2760
- "switch",
2761
- {
2762
- "compareTo": "../action",
2763
- "fields": {
2764
- "0": "varint",
2765
- "1": "varint"
2766
- },
2767
- "default": "void"
2768
- }
2769
- ]
2770
- },
2771
- {
2772
- "name": "ping",
2773
- "type": [
2774
- "switch",
2775
- {
2776
- "compareTo": "../action",
2777
- "fields": {
2778
- "0": "varint",
2779
- "2": "varint"
2780
- },
2781
- "default": "void"
2782
- }
2783
- ]
2784
- },
2785
- {
2786
- "name": "displayName",
2787
- "type": [
2788
- "switch",
2789
- {
2790
- "compareTo": "../action",
2791
- "fields": {
2792
- "0": [
2793
- "option",
2794
- "string"
2767
+ },
2768
+ {
2769
+ "name": "gamemode",
2770
+ "type": "varint"
2771
+ },
2772
+ {
2773
+ "name": "ping",
2774
+ "type": "varint"
2775
+ },
2776
+ {
2777
+ "name": "displayName",
2778
+ "type": [
2779
+ "option",
2780
+ "string"
2781
+ ]
2782
+ }
2783
+ ]
2795
2784
  ],
2796
- "3": [
2797
- "option",
2798
- "string"
2799
- ]
2800
- },
2801
- "default": "void"
2785
+ "update_game_mode": [
2786
+ "container",
2787
+ [
2788
+ {
2789
+ "name": "gamemode",
2790
+ "type": "varint"
2791
+ }
2792
+ ]
2793
+ ],
2794
+ "update_latency": [
2795
+ "container",
2796
+ [
2797
+ {
2798
+ "name": "ping",
2799
+ "type": "varint"
2800
+ }
2801
+ ]
2802
+ ],
2803
+ "update_display_name": [
2804
+ "container",
2805
+ [
2806
+ {
2807
+ "name": "displayName",
2808
+ "type": [
2809
+ "option",
2810
+ "string"
2811
+ ]
2812
+ }
2813
+ ]
2814
+ ],
2815
+ "remove_player": "void"
2816
+ }
2802
2817
  }
2803
2818
  ]
2804
2819
  }
@@ -19,6 +19,7 @@
19
19
  option: native
20
20
  entityMetadataLoop: native
21
21
  bitfield: native
22
+ bitflags: native
22
23
  container: native
23
24
  switch: native
24
25
  void: native
@@ -26,12 +27,8 @@
26
27
  restBuffer: native
27
28
  nbt: native
28
29
  optionalNbt: native
29
- string: [
30
- "pstring",
31
- {
32
- "countType": "varint"
33
- }
34
- ]
30
+ ByteArray: ["buffer", { "countType": "varint" }]
31
+ string: ["pstring", { "countType": "varint" }]
35
32
  slot:
36
33
  present: bool
37
34
  _: present ?
@@ -919,37 +916,34 @@
919
916
  message: event ?
920
917
  if 2: string
921
918
  default: void
922
- packet_player_info:
923
- action: varint
919
+ # MC: ClientboundPlayerInfoPacket
920
+ packet_player_info:
921
+ action: varint =>
922
+ - add_player
923
+ - update_game_mode
924
+ - update_latency
925
+ - update_display_name
926
+ - remove_player
927
+ ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.18.1/client/net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket.java#L122
924
928
  data: []varint
925
- UUID: UUID
926
- name: ../action ?
927
- if 0: string
928
- default: void
929
- properties: ../action ?
930
- if 0: []varint
929
+ uuid: UUID
930
+ _: ../action ?
931
+ if add_player:
931
932
  name: string
932
- value: string
933
- signature?: string
934
- default: void
935
- gamemode: ../action ?
936
- if 0: varint
937
- if 1: varint
938
- default: void
939
- ping: ../action ?
940
- if 0: varint
941
- if 2: varint
942
- default: void
943
- displayName: ../action ?
944
- if 0: [
945
- "option",
946
- "string"
947
- ]
948
- if 3: [
949
- "option",
950
- "string"
951
- ]
952
- default: void
933
+ properties: []varint
934
+ name: string
935
+ value: string
936
+ signature?: string
937
+ gamemode: varint
938
+ ping: varint
939
+ displayName?: string
940
+ if update_game_mode:
941
+ gamemode: varint
942
+ if update_latency:
943
+ ping: varint
944
+ if update_display_name:
945
+ displayName?: string
946
+ if remove_player: void
953
947
  packet_position:
954
948
  x: f64
955
949
  y: f64
@@ -18,6 +18,7 @@
18
18
  "option": "native",
19
19
  "entityMetadataLoop": "native",
20
20
  "bitfield": "native",
21
+ "bitflags": "native",
21
22
  "container": "native",
22
23
  "switch": "native",
23
24
  "void": "native",
@@ -25,6 +26,12 @@
25
26
  "restBuffer": "native",
26
27
  "nbt": "native",
27
28
  "optionalNbt": "native",
29
+ "ByteArray": [
30
+ "buffer",
31
+ {
32
+ "countType": "varint"
33
+ }
34
+ ],
28
35
  "string": [
29
36
  "pstring",
30
37
  {
@@ -2886,7 +2893,19 @@
2886
2893
  [
2887
2894
  {
2888
2895
  "name": "action",
2889
- "type": "varint"
2896
+ "type": [
2897
+ "mapper",
2898
+ {
2899
+ "type": "varint",
2900
+ "mappings": {
2901
+ "0": "add_player",
2902
+ "1": "update_game_mode",
2903
+ "2": "update_latency",
2904
+ "3": "update_display_name",
2905
+ "4": "remove_player"
2906
+ }
2907
+ }
2908
+ ]
2890
2909
  },
2891
2910
  {
2892
2911
  "name": "data",
@@ -2898,105 +2917,101 @@
2898
2917
  "container",
2899
2918
  [
2900
2919
  {
2901
- "name": "UUID",
2920
+ "name": "uuid",
2902
2921
  "type": "UUID"
2903
2922
  },
2904
2923
  {
2905
- "name": "name",
2906
- "type": [
2907
- "switch",
2908
- {
2909
- "compareTo": "../action",
2910
- "fields": {
2911
- "0": "string"
2912
- },
2913
- "default": "void"
2914
- }
2915
- ]
2916
- },
2917
- {
2918
- "name": "properties",
2924
+ "anon": true,
2919
2925
  "type": [
2920
2926
  "switch",
2921
2927
  {
2922
2928
  "compareTo": "../action",
2923
2929
  "fields": {
2924
- "0": [
2925
- "array",
2926
- {
2927
- "countType": "varint",
2928
- "type": [
2929
- "container",
2930
- [
2931
- {
2932
- "name": "name",
2933
- "type": "string"
2934
- },
2935
- {
2936
- "name": "value",
2937
- "type": "string"
2938
- },
2930
+ "add_player": [
2931
+ "container",
2932
+ [
2933
+ {
2934
+ "name": "name",
2935
+ "type": "string"
2936
+ },
2937
+ {
2938
+ "name": "properties",
2939
+ "type": [
2940
+ "array",
2939
2941
  {
2940
- "name": "signature",
2942
+ "countType": "varint",
2941
2943
  "type": [
2942
- "option",
2943
- "string"
2944
+ "container",
2945
+ [
2946
+ {
2947
+ "name": "name",
2948
+ "type": "string"
2949
+ },
2950
+ {
2951
+ "name": "value",
2952
+ "type": "string"
2953
+ },
2954
+ {
2955
+ "name": "signature",
2956
+ "type": [
2957
+ "option",
2958
+ "string"
2959
+ ]
2960
+ }
2961
+ ]
2944
2962
  ]
2945
2963
  }
2946
2964
  ]
2947
- ]
2948
- }
2949
- ]
2950
- },
2951
- "default": "void"
2952
- }
2953
- ]
2954
- },
2955
- {
2956
- "name": "gamemode",
2957
- "type": [
2958
- "switch",
2959
- {
2960
- "compareTo": "../action",
2961
- "fields": {
2962
- "0": "varint",
2963
- "1": "varint"
2964
- },
2965
- "default": "void"
2966
- }
2967
- ]
2968
- },
2969
- {
2970
- "name": "ping",
2971
- "type": [
2972
- "switch",
2973
- {
2974
- "compareTo": "../action",
2975
- "fields": {
2976
- "0": "varint",
2977
- "2": "varint"
2978
- },
2979
- "default": "void"
2980
- }
2981
- ]
2982
- },
2983
- {
2984
- "name": "displayName",
2985
- "type": [
2986
- "switch",
2987
- {
2988
- "compareTo": "../action",
2989
- "fields": {
2990
- "0": [
2991
- "option",
2992
- "string"
2965
+ },
2966
+ {
2967
+ "name": "gamemode",
2968
+ "type": "varint"
2969
+ },
2970
+ {
2971
+ "name": "ping",
2972
+ "type": "varint"
2973
+ },
2974
+ {
2975
+ "name": "displayName",
2976
+ "type": [
2977
+ "option",
2978
+ "string"
2979
+ ]
2980
+ }
2981
+ ]
2993
2982
  ],
2994
- "3": [
2995
- "option",
2996
- "string"
2997
- ]
2998
- },
2999
- "default": "void"
2983
+ "update_game_mode": [
2984
+ "container",
2985
+ [
2986
+ {
2987
+ "name": "gamemode",
2988
+ "type": "varint"
2989
+ }
2990
+ ]
2991
+ ],
2992
+ "update_latency": [
2993
+ "container",
2994
+ [
2995
+ {
2996
+ "name": "ping",
2997
+ "type": "varint"
2998
+ }
2999
+ ]
3000
+ ],
3001
+ "update_display_name": [
3002
+ "container",
3003
+ [
3004
+ {
3005
+ "name": "displayName",
3006
+ "type": [
3007
+ "option",
3008
+ "string"
3009
+ ]
3010
+ }
3011
+ ]
3012
+ ],
3013
+ "remove_player": "void"
3014
+ }
3000
3015
  }
3001
3016
  ]
3002
3017
  }
@@ -19,6 +19,7 @@
19
19
  option: native
20
20
  entityMetadataLoop: native
21
21
  bitfield: native
22
+ bitflags: native
22
23
  container: native
23
24
  switch: native
24
25
  void: native
@@ -26,12 +27,8 @@
26
27
  restBuffer: native
27
28
  nbt: native
28
29
  optionalNbt: native
29
- string: [
30
- "pstring",
31
- {
32
- "countType": "varint"
33
- }
34
- ]
30
+ ByteArray: ["buffer", { "countType": "varint" }]
31
+ string: ["pstring", { "countType": "varint" }]
35
32
  slot:
36
33
  present: bool
37
34
  _: present ?
@@ -919,37 +916,34 @@
919
916
  message: event ?
920
917
  if 2: string
921
918
  default: void
922
- packet_player_info:
923
- action: varint
919
+ # MC: ClientboundPlayerInfoPacket
920
+ packet_player_info:
921
+ action: varint =>
922
+ - add_player
923
+ - update_game_mode
924
+ - update_latency
925
+ - update_display_name
926
+ - remove_player
927
+ ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.18.1/client/net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket.java#L122
924
928
  data: []varint
925
- UUID: UUID
926
- name: ../action ?
927
- if 0: string
928
- default: void
929
- properties: ../action ?
930
- if 0: []varint
929
+ uuid: UUID
930
+ _: ../action ?
931
+ if add_player:
931
932
  name: string
932
- value: string
933
- signature?: string
934
- default: void
935
- gamemode: ../action ?
936
- if 0: varint
937
- if 1: varint
938
- default: void
939
- ping: ../action ?
940
- if 0: varint
941
- if 2: varint
942
- default: void
943
- displayName: ../action ?
944
- if 0: [
945
- "option",
946
- "string"
947
- ]
948
- if 3: [
949
- "option",
950
- "string"
951
- ]
952
- default: void
933
+ properties: []varint
934
+ name: string
935
+ value: string
936
+ signature?: string
937
+ gamemode: varint
938
+ ping: varint
939
+ displayName?: string
940
+ if update_game_mode:
941
+ gamemode: varint
942
+ if update_latency:
943
+ ping: varint
944
+ if update_display_name:
945
+ displayName?: string
946
+ if remove_player: void
953
947
  packet_position:
954
948
  x: f64
955
949
  y: f64