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
@@ -19,6 +19,7 @@
19
19
  "entityMetadataLoop": "native",
20
20
  "topBitSetTerminatedArray": "native",
21
21
  "bitfield": "native",
22
+ "bitflags": "native",
22
23
  "container": "native",
23
24
  "switch": "native",
24
25
  "void": "native",
@@ -26,6 +27,12 @@
26
27
  "restBuffer": "native",
27
28
  "nbt": "native",
28
29
  "optionalNbt": "native",
30
+ "ByteArray": [
31
+ "buffer",
32
+ {
33
+ "countType": "varint"
34
+ }
35
+ ],
29
36
  "string": [
30
37
  "pstring",
31
38
  {
@@ -2927,7 +2934,19 @@
2927
2934
  [
2928
2935
  {
2929
2936
  "name": "action",
2930
- "type": "varint"
2937
+ "type": [
2938
+ "mapper",
2939
+ {
2940
+ "type": "varint",
2941
+ "mappings": {
2942
+ "0": "add_player",
2943
+ "1": "update_game_mode",
2944
+ "2": "update_latency",
2945
+ "3": "update_display_name",
2946
+ "4": "remove_player"
2947
+ }
2948
+ }
2949
+ ]
2931
2950
  },
2932
2951
  {
2933
2952
  "name": "data",
@@ -2939,105 +2958,101 @@
2939
2958
  "container",
2940
2959
  [
2941
2960
  {
2942
- "name": "UUID",
2961
+ "name": "uuid",
2943
2962
  "type": "UUID"
2944
2963
  },
2945
2964
  {
2946
- "name": "name",
2947
- "type": [
2948
- "switch",
2949
- {
2950
- "compareTo": "../action",
2951
- "fields": {
2952
- "0": "string"
2953
- },
2954
- "default": "void"
2955
- }
2956
- ]
2957
- },
2958
- {
2959
- "name": "properties",
2965
+ "anon": true,
2960
2966
  "type": [
2961
2967
  "switch",
2962
2968
  {
2963
2969
  "compareTo": "../action",
2964
2970
  "fields": {
2965
- "0": [
2966
- "array",
2967
- {
2968
- "countType": "varint",
2969
- "type": [
2970
- "container",
2971
- [
2972
- {
2973
- "name": "name",
2974
- "type": "string"
2975
- },
2976
- {
2977
- "name": "value",
2978
- "type": "string"
2979
- },
2971
+ "add_player": [
2972
+ "container",
2973
+ [
2974
+ {
2975
+ "name": "name",
2976
+ "type": "string"
2977
+ },
2978
+ {
2979
+ "name": "properties",
2980
+ "type": [
2981
+ "array",
2980
2982
  {
2981
- "name": "signature",
2983
+ "countType": "varint",
2982
2984
  "type": [
2983
- "option",
2984
- "string"
2985
+ "container",
2986
+ [
2987
+ {
2988
+ "name": "name",
2989
+ "type": "string"
2990
+ },
2991
+ {
2992
+ "name": "value",
2993
+ "type": "string"
2994
+ },
2995
+ {
2996
+ "name": "signature",
2997
+ "type": [
2998
+ "option",
2999
+ "string"
3000
+ ]
3001
+ }
3002
+ ]
2985
3003
  ]
2986
3004
  }
2987
3005
  ]
2988
- ]
2989
- }
2990
- ]
2991
- },
2992
- "default": "void"
2993
- }
2994
- ]
2995
- },
2996
- {
2997
- "name": "gamemode",
2998
- "type": [
2999
- "switch",
3000
- {
3001
- "compareTo": "../action",
3002
- "fields": {
3003
- "0": "varint",
3004
- "1": "varint"
3005
- },
3006
- "default": "void"
3007
- }
3008
- ]
3009
- },
3010
- {
3011
- "name": "ping",
3012
- "type": [
3013
- "switch",
3014
- {
3015
- "compareTo": "../action",
3016
- "fields": {
3017
- "0": "varint",
3018
- "2": "varint"
3019
- },
3020
- "default": "void"
3021
- }
3022
- ]
3023
- },
3024
- {
3025
- "name": "displayName",
3026
- "type": [
3027
- "switch",
3028
- {
3029
- "compareTo": "../action",
3030
- "fields": {
3031
- "0": [
3032
- "option",
3033
- "string"
3006
+ },
3007
+ {
3008
+ "name": "gamemode",
3009
+ "type": "varint"
3010
+ },
3011
+ {
3012
+ "name": "ping",
3013
+ "type": "varint"
3014
+ },
3015
+ {
3016
+ "name": "displayName",
3017
+ "type": [
3018
+ "option",
3019
+ "string"
3020
+ ]
3021
+ }
3022
+ ]
3034
3023
  ],
3035
- "3": [
3036
- "option",
3037
- "string"
3038
- ]
3039
- },
3040
- "default": "void"
3024
+ "update_game_mode": [
3025
+ "container",
3026
+ [
3027
+ {
3028
+ "name": "gamemode",
3029
+ "type": "varint"
3030
+ }
3031
+ ]
3032
+ ],
3033
+ "update_latency": [
3034
+ "container",
3035
+ [
3036
+ {
3037
+ "name": "ping",
3038
+ "type": "varint"
3039
+ }
3040
+ ]
3041
+ ],
3042
+ "update_display_name": [
3043
+ "container",
3044
+ [
3045
+ {
3046
+ "name": "displayName",
3047
+ "type": [
3048
+ "option",
3049
+ "string"
3050
+ ]
3051
+ }
3052
+ ]
3053
+ ],
3054
+ "remove_player": "void"
3055
+ }
3041
3056
  }
3042
3057
  ]
3043
3058
  }
@@ -20,6 +20,7 @@
20
20
  entityMetadataLoop: native
21
21
  topBitSetTerminatedArray: native
22
22
  bitfield: native
23
+ bitflags: native
23
24
  container: native
24
25
  switch: native
25
26
  void: native
@@ -27,12 +28,8 @@
27
28
  restBuffer: native
28
29
  nbt: native
29
30
  optionalNbt: native
30
- string: [
31
- "pstring",
32
- {
33
- "countType": "varint"
34
- }
35
- ]
31
+ ByteArray: ["buffer", { "countType": "varint" }]
32
+ string: ["pstring", { "countType": "varint" }]
36
33
  slot:
37
34
  present: bool
38
35
  _: present ?
@@ -943,37 +940,34 @@
943
940
  message: event ?
944
941
  if 2: string
945
942
  default: void
946
- packet_player_info:
947
- action: varint
943
+ # MC: ClientboundPlayerInfoPacket
944
+ packet_player_info:
945
+ action: varint =>
946
+ - add_player
947
+ - update_game_mode
948
+ - update_latency
949
+ - update_display_name
950
+ - remove_player
951
+ ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.18.1/client/net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket.java#L122
948
952
  data: []varint
949
- UUID: UUID
950
- name: ../action ?
951
- if 0: string
952
- default: void
953
- properties: ../action ?
954
- if 0: []varint
953
+ uuid: UUID
954
+ _: ../action ?
955
+ if add_player:
955
956
  name: string
956
- value: string
957
- signature?: string
958
- default: void
959
- gamemode: ../action ?
960
- if 0: varint
961
- if 1: varint
962
- default: void
963
- ping: ../action ?
964
- if 0: varint
965
- if 2: varint
966
- default: void
967
- displayName: ../action ?
968
- if 0: [
969
- "option",
970
- "string"
971
- ]
972
- if 3: [
973
- "option",
974
- "string"
975
- ]
976
- default: void
957
+ properties: []varint
958
+ name: string
959
+ value: string
960
+ signature?: string
961
+ gamemode: varint
962
+ ping: varint
963
+ displayName?: string
964
+ if update_game_mode:
965
+ gamemode: varint
966
+ if update_latency:
967
+ ping: varint
968
+ if update_display_name:
969
+ displayName?: string
970
+ if remove_player: void
977
971
  packet_position:
978
972
  x: f64
979
973
  y: f64
@@ -19,6 +19,7 @@
19
19
  "entityMetadataLoop": "native",
20
20
  "topBitSetTerminatedArray": "native",
21
21
  "bitfield": "native",
22
+ "bitflags": "native",
22
23
  "container": "native",
23
24
  "switch": "native",
24
25
  "void": "native",
@@ -26,6 +27,12 @@
26
27
  "restBuffer": "native",
27
28
  "nbt": "native",
28
29
  "optionalNbt": "native",
30
+ "ByteArray": [
31
+ "buffer",
32
+ {
33
+ "countType": "varint"
34
+ }
35
+ ],
29
36
  "string": [
30
37
  "pstring",
31
38
  {
@@ -2930,7 +2937,19 @@
2930
2937
  [
2931
2938
  {
2932
2939
  "name": "action",
2933
- "type": "varint"
2940
+ "type": [
2941
+ "mapper",
2942
+ {
2943
+ "type": "varint",
2944
+ "mappings": {
2945
+ "0": "add_player",
2946
+ "1": "update_game_mode",
2947
+ "2": "update_latency",
2948
+ "3": "update_display_name",
2949
+ "4": "remove_player"
2950
+ }
2951
+ }
2952
+ ]
2934
2953
  },
2935
2954
  {
2936
2955
  "name": "data",
@@ -2942,105 +2961,101 @@
2942
2961
  "container",
2943
2962
  [
2944
2963
  {
2945
- "name": "UUID",
2964
+ "name": "uuid",
2946
2965
  "type": "UUID"
2947
2966
  },
2948
2967
  {
2949
- "name": "name",
2950
- "type": [
2951
- "switch",
2952
- {
2953
- "compareTo": "../action",
2954
- "fields": {
2955
- "0": "string"
2956
- },
2957
- "default": "void"
2958
- }
2959
- ]
2960
- },
2961
- {
2962
- "name": "properties",
2968
+ "anon": true,
2963
2969
  "type": [
2964
2970
  "switch",
2965
2971
  {
2966
2972
  "compareTo": "../action",
2967
2973
  "fields": {
2968
- "0": [
2969
- "array",
2970
- {
2971
- "countType": "varint",
2972
- "type": [
2973
- "container",
2974
- [
2975
- {
2976
- "name": "name",
2977
- "type": "string"
2978
- },
2979
- {
2980
- "name": "value",
2981
- "type": "string"
2982
- },
2974
+ "add_player": [
2975
+ "container",
2976
+ [
2977
+ {
2978
+ "name": "name",
2979
+ "type": "string"
2980
+ },
2981
+ {
2982
+ "name": "properties",
2983
+ "type": [
2984
+ "array",
2983
2985
  {
2984
- "name": "signature",
2986
+ "countType": "varint",
2985
2987
  "type": [
2986
- "option",
2987
- "string"
2988
+ "container",
2989
+ [
2990
+ {
2991
+ "name": "name",
2992
+ "type": "string"
2993
+ },
2994
+ {
2995
+ "name": "value",
2996
+ "type": "string"
2997
+ },
2998
+ {
2999
+ "name": "signature",
3000
+ "type": [
3001
+ "option",
3002
+ "string"
3003
+ ]
3004
+ }
3005
+ ]
2988
3006
  ]
2989
3007
  }
2990
3008
  ]
2991
- ]
2992
- }
2993
- ]
2994
- },
2995
- "default": "void"
2996
- }
2997
- ]
2998
- },
2999
- {
3000
- "name": "gamemode",
3001
- "type": [
3002
- "switch",
3003
- {
3004
- "compareTo": "../action",
3005
- "fields": {
3006
- "0": "varint",
3007
- "1": "varint"
3008
- },
3009
- "default": "void"
3010
- }
3011
- ]
3012
- },
3013
- {
3014
- "name": "ping",
3015
- "type": [
3016
- "switch",
3017
- {
3018
- "compareTo": "../action",
3019
- "fields": {
3020
- "0": "varint",
3021
- "2": "varint"
3022
- },
3023
- "default": "void"
3024
- }
3025
- ]
3026
- },
3027
- {
3028
- "name": "displayName",
3029
- "type": [
3030
- "switch",
3031
- {
3032
- "compareTo": "../action",
3033
- "fields": {
3034
- "0": [
3035
- "option",
3036
- "string"
3009
+ },
3010
+ {
3011
+ "name": "gamemode",
3012
+ "type": "varint"
3013
+ },
3014
+ {
3015
+ "name": "ping",
3016
+ "type": "varint"
3017
+ },
3018
+ {
3019
+ "name": "displayName",
3020
+ "type": [
3021
+ "option",
3022
+ "string"
3023
+ ]
3024
+ }
3025
+ ]
3037
3026
  ],
3038
- "3": [
3039
- "option",
3040
- "string"
3041
- ]
3042
- },
3043
- "default": "void"
3027
+ "update_game_mode": [
3028
+ "container",
3029
+ [
3030
+ {
3031
+ "name": "gamemode",
3032
+ "type": "varint"
3033
+ }
3034
+ ]
3035
+ ],
3036
+ "update_latency": [
3037
+ "container",
3038
+ [
3039
+ {
3040
+ "name": "ping",
3041
+ "type": "varint"
3042
+ }
3043
+ ]
3044
+ ],
3045
+ "update_display_name": [
3046
+ "container",
3047
+ [
3048
+ {
3049
+ "name": "displayName",
3050
+ "type": [
3051
+ "option",
3052
+ "string"
3053
+ ]
3054
+ }
3055
+ ]
3056
+ ],
3057
+ "remove_player": "void"
3058
+ }
3044
3059
  }
3045
3060
  ]
3046
3061
  }
@@ -20,6 +20,7 @@
20
20
  entityMetadataLoop: native
21
21
  topBitSetTerminatedArray: native
22
22
  bitfield: native
23
+ bitflags: native
23
24
  container: native
24
25
  switch: native
25
26
  void: native
@@ -27,12 +28,8 @@
27
28
  restBuffer: native
28
29
  nbt: native
29
30
  optionalNbt: native
30
- string: [
31
- "pstring",
32
- {
33
- "countType": "varint"
34
- }
35
- ]
31
+ ByteArray: ["buffer", { "countType": "varint" }]
32
+ string: ["pstring", { "countType": "varint" }]
36
33
  slot:
37
34
  present: bool
38
35
  _: present ?
@@ -945,37 +942,34 @@
945
942
  playerId: varint
946
943
  entityId: i32
947
944
  message: string
948
- packet_player_info:
949
- action: varint
945
+ # MC: ClientboundPlayerInfoPacket
946
+ packet_player_info:
947
+ action: varint =>
948
+ - add_player
949
+ - update_game_mode
950
+ - update_latency
951
+ - update_display_name
952
+ - remove_player
953
+ ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.18.1/client/net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket.java#L122
950
954
  data: []varint
951
- UUID: UUID
952
- name: ../action ?
953
- if 0: string
954
- default: void
955
- properties: ../action ?
956
- if 0: []varint
955
+ uuid: UUID
956
+ _: ../action ?
957
+ if add_player:
957
958
  name: string
958
- value: string
959
- signature?: string
960
- default: void
961
- gamemode: ../action ?
962
- if 0: varint
963
- if 1: varint
964
- default: void
965
- ping: ../action ?
966
- if 0: varint
967
- if 2: varint
968
- default: void
969
- displayName: ../action ?
970
- if 0: [
971
- "option",
972
- "string"
973
- ]
974
- if 3: [
975
- "option",
976
- "string"
977
- ]
978
- default: void
959
+ properties: []varint
960
+ name: string
961
+ value: string
962
+ signature?: string
963
+ gamemode: varint
964
+ ping: varint
965
+ displayName?: string
966
+ if update_game_mode:
967
+ gamemode: varint
968
+ if update_latency:
969
+ ping: varint
970
+ if update_display_name:
971
+ displayName?: string
972
+ if remove_player: void
979
973
  packet_position:
980
974
  x: f64
981
975
  y: f64
@@ -1177,7 +1171,7 @@
1177
1171
  packet_entity_update_attributes:
1178
1172
  entityId: varint
1179
1173
  properties: []varint
1180
- key: string
1174
+ name: string
1181
1175
  value: f64
1182
1176
  modifiers: []varint
1183
1177
  uuid: UUID