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
  }
@@ -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,12 +26,8 @@
25
26
  restBuffer: native
26
27
  nbt: native
27
28
  optionalNbt: native
28
- string: [
29
- "pstring",
30
- {
31
- "countType": "varint"
32
- }
33
- ]
29
+ ByteArray: ["buffer", { "countType": "varint" }]
30
+ string: ["pstring", { "countType": "varint" }]
34
31
  slot:
35
32
  present: bool
36
33
  _: present ?
@@ -875,37 +872,34 @@
875
872
  message: event ?
876
873
  if 2: string
877
874
  default: void
878
- packet_player_info:
879
- action: varint
875
+ # MC: ClientboundPlayerInfoPacket
876
+ packet_player_info:
877
+ action: varint =>
878
+ - add_player
879
+ - update_game_mode
880
+ - update_latency
881
+ - update_display_name
882
+ - remove_player
883
+ ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.18.1/client/net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket.java#L122
880
884
  data: []varint
881
- UUID: UUID
882
- name: ../action ?
883
- if 0: string
884
- default: void
885
- properties: ../action ?
886
- if 0: []varint
885
+ uuid: UUID
886
+ _: ../action ?
887
+ if add_player:
887
888
  name: string
888
- value: string
889
- signature?: string
890
- default: void
891
- gamemode: ../action ?
892
- if 0: varint
893
- if 1: varint
894
- default: void
895
- ping: ../action ?
896
- if 0: varint
897
- if 2: varint
898
- default: void
899
- displayName: ../action ?
900
- if 0: [
901
- "option",
902
- "string"
903
- ]
904
- if 3: [
905
- "option",
906
- "string"
907
- ]
908
- default: void
889
+ properties: []varint
890
+ name: string
891
+ value: string
892
+ signature?: string
893
+ gamemode: varint
894
+ ping: varint
895
+ displayName?: string
896
+ if update_game_mode:
897
+ gamemode: varint
898
+ if update_latency:
899
+ ping: varint
900
+ if update_display_name:
901
+ displayName?: string
902
+ if remove_player: void
909
903
  packet_position:
910
904
  x: f64
911
905
  y: f64
@@ -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
  }
@@ -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,12 +26,8 @@
25
26
  restBuffer: native
26
27
  nbt: native
27
28
  optionalNbt: native
28
- string: [
29
- "pstring",
30
- {
31
- "countType": "varint"
32
- }
33
- ]
29
+ ByteArray: ["buffer", { "countType": "varint" }]
30
+ string: ["pstring", { "countType": "varint" }]
34
31
  slot:
35
32
  present: bool
36
33
  _: present ?
@@ -875,37 +872,34 @@
875
872
  message: event ?
876
873
  if 2: string
877
874
  default: void
878
- packet_player_info:
879
- action: varint
875
+ # MC: ClientboundPlayerInfoPacket
876
+ packet_player_info:
877
+ action: varint =>
878
+ - add_player
879
+ - update_game_mode
880
+ - update_latency
881
+ - update_display_name
882
+ - remove_player
883
+ ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.18.1/client/net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket.java#L122
880
884
  data: []varint
881
- UUID: UUID
882
- name: ../action ?
883
- if 0: string
884
- default: void
885
- properties: ../action ?
886
- if 0: []varint
885
+ uuid: UUID
886
+ _: ../action ?
887
+ if add_player:
887
888
  name: string
888
- value: string
889
- signature?: string
890
- default: void
891
- gamemode: ../action ?
892
- if 0: varint
893
- if 1: varint
894
- default: void
895
- ping: ../action ?
896
- if 0: varint
897
- if 2: varint
898
- default: void
899
- displayName: ../action ?
900
- if 0: [
901
- "option",
902
- "string"
903
- ]
904
- if 3: [
905
- "option",
906
- "string"
907
- ]
908
- default: void
889
+ properties: []varint
890
+ name: string
891
+ value: string
892
+ signature?: string
893
+ gamemode: varint
894
+ ping: varint
895
+ displayName?: string
896
+ if update_game_mode:
897
+ gamemode: varint
898
+ if update_latency:
899
+ ping: varint
900
+ if update_display_name:
901
+ displayName?: string
902
+ if remove_player: void
909
903
  packet_position:
910
904
  x: f64
911
905
  y: f64