minecraft-data 3.67.0 → 3.68.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 (155) hide show
  1. package/data.js +124 -51
  2. package/doc/history.md +4 -0
  3. package/index.d.ts +30 -24
  4. package/minecraft-data/README.md +1 -1
  5. package/minecraft-data/data/bedrock/1.16.201/protocol.json +33 -66
  6. package/minecraft-data/data/bedrock/1.16.210/protocol.json +39 -78
  7. package/minecraft-data/data/bedrock/1.16.220/protocol.json +46 -92
  8. package/minecraft-data/data/bedrock/1.17.0/protocol.json +46 -92
  9. package/minecraft-data/data/bedrock/1.17.10/protocol.json +46 -92
  10. package/minecraft-data/data/bedrock/1.17.30/protocol.json +48 -96
  11. package/minecraft-data/data/bedrock/1.17.40/protocol.json +48 -96
  12. package/minecraft-data/data/bedrock/1.18.0/protocol.json +50 -100
  13. package/minecraft-data/data/bedrock/1.18.11/protocol.json +52 -104
  14. package/minecraft-data/data/bedrock/1.18.30/protocol.json +52 -104
  15. package/minecraft-data/data/bedrock/1.19.1/protocol.json +52 -104
  16. package/minecraft-data/data/bedrock/1.19.10/protocol.json +52 -104
  17. package/minecraft-data/data/bedrock/1.19.20/protocol.json +54 -108
  18. package/minecraft-data/data/bedrock/1.19.21/protocol.json +54 -108
  19. package/minecraft-data/data/bedrock/1.19.30/protocol.json +55 -110
  20. package/minecraft-data/data/bedrock/1.19.40/protocol.json +55 -110
  21. package/minecraft-data/data/bedrock/1.19.50/protocol.json +55 -110
  22. package/minecraft-data/data/bedrock/1.19.60/protocol.json +55 -110
  23. package/minecraft-data/data/bedrock/1.19.62/protocol.json +55 -110
  24. package/minecraft-data/data/bedrock/1.19.70/protocol.json +55 -110
  25. package/minecraft-data/data/bedrock/1.19.80/protocol.json +55 -110
  26. package/minecraft-data/data/bedrock/1.20.0/protocol.json +55 -110
  27. package/minecraft-data/data/bedrock/1.20.10/protocol.json +55 -110
  28. package/minecraft-data/data/bedrock/1.20.30/protocol.json +55 -110
  29. package/minecraft-data/data/bedrock/1.20.40/protocol.json +55 -110
  30. package/minecraft-data/data/bedrock/1.20.50/protocol.json +55 -110
  31. package/minecraft-data/data/bedrock/1.20.61/protocol.json +56 -112
  32. package/minecraft-data/data/bedrock/1.20.71/protocol.json +56 -112
  33. package/minecraft-data/data/bedrock/1.20.80/proto.yml +3 -0
  34. package/minecraft-data/data/bedrock/1.20.80/protocol.json +70 -114
  35. package/minecraft-data/data/bedrock/1.21.0/proto.yml +3 -0
  36. package/minecraft-data/data/bedrock/1.21.0/protocol.json +71 -116
  37. package/minecraft-data/data/bedrock/1.21.2/proto.yml +4195 -0
  38. package/minecraft-data/data/bedrock/1.21.2/protocol.json +58 -116
  39. package/minecraft-data/data/bedrock/1.21.2/types.yml +2373 -0
  40. package/minecraft-data/data/bedrock/1.21.20/protocol.json +12554 -0
  41. package/minecraft-data/data/bedrock/1.21.20/version.json +6 -0
  42. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  43. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  44. package/minecraft-data/data/bedrock/latest/proto.yml +33 -6
  45. package/minecraft-data/data/bedrock/latest/types.yml +31 -0
  46. package/minecraft-data/data/dataPaths.json +124 -51
  47. package/minecraft-data/data/pc/0.30c/proto.yml +138 -0
  48. package/minecraft-data/data/pc/0.30c/protocol.json +6 -6
  49. package/minecraft-data/data/pc/1.10/proto.yml +1101 -0
  50. package/minecraft-data/data/pc/1.10/protocol.json +34 -13
  51. package/minecraft-data/data/pc/1.10-pre1/proto.yml +1101 -0
  52. package/minecraft-data/data/pc/1.10-pre1/protocol.json +34 -13
  53. package/minecraft-data/data/pc/1.11/proto.yml +1103 -0
  54. package/minecraft-data/data/pc/1.11/protocol.json +34 -13
  55. package/minecraft-data/data/pc/1.12/proto.yml +1202 -0
  56. package/minecraft-data/data/pc/1.12/protocol.json +71 -34
  57. package/minecraft-data/data/pc/1.12-pre4/proto.yml +1174 -0
  58. package/minecraft-data/data/pc/1.12-pre4/protocol.json +51 -30
  59. package/minecraft-data/data/pc/1.12.1/proto.yml +1200 -0
  60. package/minecraft-data/data/pc/1.12.1/protocol.json +68 -31
  61. package/minecraft-data/data/pc/1.12.2/proto.yml +1200 -0
  62. package/minecraft-data/data/pc/1.12.2/protocol.json +68 -31
  63. package/minecraft-data/data/pc/1.13/proto.yml +1631 -0
  64. package/minecraft-data/data/pc/1.13/protocol.json +531 -463
  65. package/minecraft-data/data/pc/1.13.1/proto.yml +1632 -0
  66. package/minecraft-data/data/pc/1.13.1/protocol.json +535 -467
  67. package/minecraft-data/data/pc/1.13.2/proto.yml +1633 -0
  68. package/minecraft-data/data/pc/1.13.2/protocol.json +241 -174
  69. package/minecraft-data/data/pc/1.13.2-pre1/proto.yml +1633 -0
  70. package/minecraft-data/data/pc/1.13.2-pre1/protocol.json +241 -174
  71. package/minecraft-data/data/pc/1.13.2-pre2/proto.yml +1633 -0
  72. package/minecraft-data/data/pc/1.13.2-pre2/protocol.json +241 -174
  73. package/minecraft-data/data/pc/1.14/proto.yml +1717 -0
  74. package/minecraft-data/data/pc/1.14/protocol.json +304 -226
  75. package/minecraft-data/data/pc/1.14.1/proto.yml +1717 -0
  76. package/minecraft-data/data/pc/1.14.1/protocol.json +304 -226
  77. package/minecraft-data/data/pc/1.14.3/proto.yml +1718 -0
  78. package/minecraft-data/data/pc/1.14.3/protocol.json +304 -226
  79. package/minecraft-data/data/pc/1.14.4/proto.yml +1726 -0
  80. package/minecraft-data/data/pc/1.14.4/protocol.json +308 -230
  81. package/minecraft-data/data/pc/1.15/proto.yml +1730 -0
  82. package/minecraft-data/data/pc/1.15/protocol.json +315 -234
  83. package/minecraft-data/data/pc/1.15.1/proto.yml +1730 -0
  84. package/minecraft-data/data/pc/1.15.1/protocol.json +315 -234
  85. package/minecraft-data/data/pc/1.15.2/proto.yml +1730 -0
  86. package/minecraft-data/data/pc/1.15.2/protocol.json +315 -234
  87. package/minecraft-data/data/pc/1.16/proto.yml +1762 -0
  88. package/minecraft-data/data/pc/1.16/protocol.json +357 -264
  89. package/minecraft-data/data/pc/1.16-rc1/proto.yml +1762 -0
  90. package/minecraft-data/data/pc/1.16-rc1/protocol.json +357 -264
  91. package/minecraft-data/data/pc/1.16.1/proto.yml +1762 -0
  92. package/minecraft-data/data/pc/1.16.1/protocol.json +357 -264
  93. package/minecraft-data/data/pc/1.16.2/proto.yml +1776 -0
  94. package/minecraft-data/data/pc/1.16.2/protocol.json +354 -260
  95. package/minecraft-data/data/pc/1.17/proto.yml +1796 -0
  96. package/minecraft-data/data/pc/1.17/protocol.json +5 -5
  97. package/minecraft-data/data/pc/1.17.1/proto.yml +1800 -0
  98. package/minecraft-data/data/pc/1.17.1/protocol.json +5 -5
  99. package/minecraft-data/data/pc/1.18/proto.yml +1836 -0
  100. package/minecraft-data/data/pc/1.18/protocol.json +5 -5
  101. package/minecraft-data/data/pc/1.18.2/proto.yml +1836 -0
  102. package/minecraft-data/data/pc/1.18.2/protocol.json +5 -5
  103. package/minecraft-data/data/pc/1.19/proto.yml +1990 -0
  104. package/minecraft-data/data/pc/1.19/protocol.json +5 -5
  105. package/minecraft-data/data/pc/1.19.2/proto.yml +2085 -0
  106. package/minecraft-data/data/pc/1.19.2/protocol.json +5 -5
  107. package/minecraft-data/data/pc/1.19.3/proto.yml +2322 -0
  108. package/minecraft-data/data/pc/1.19.3/protocol.json +215 -119
  109. package/minecraft-data/data/pc/1.19.4/proto.yml +2413 -0
  110. package/minecraft-data/data/pc/1.20/proto.yml +2409 -0
  111. package/minecraft-data/data/pc/1.20.2/proto.yml +2508 -0
  112. package/minecraft-data/data/pc/1.20.2/protocol.json +1 -1
  113. package/minecraft-data/data/pc/1.20.3/protocol.json +1 -1
  114. package/minecraft-data/data/pc/1.7/proto.yml +922 -0
  115. package/minecraft-data/data/pc/1.7/protocol.json +1 -1
  116. package/minecraft-data/data/pc/1.8/proto.yml +1035 -0
  117. package/minecraft-data/data/pc/1.8/protocol.json +28 -8
  118. package/minecraft-data/data/pc/1.9/proto.yml +1109 -0
  119. package/minecraft-data/data/pc/1.9/protocol.json +30 -10
  120. package/minecraft-data/data/pc/1.9.1-pre2/proto.yml +1109 -0
  121. package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +30 -10
  122. package/minecraft-data/data/pc/1.9.2/proto.yml +1109 -0
  123. package/minecraft-data/data/pc/1.9.2/protocol.json +30 -10
  124. package/minecraft-data/data/pc/1.9.4/proto.yml +1102 -0
  125. package/minecraft-data/data/pc/1.9.4/protocol.json +34 -13
  126. package/minecraft-data/data/pc/15w40b/proto.yml +1070 -0
  127. package/minecraft-data/data/pc/15w40b/protocol.json +107 -87
  128. package/minecraft-data/data/pc/16w20a/proto.yml +1102 -0
  129. package/minecraft-data/data/pc/16w20a/protocol.json +34 -13
  130. package/minecraft-data/data/pc/16w35a/proto.yml +1102 -0
  131. package/minecraft-data/data/pc/16w35a/protocol.json +34 -13
  132. package/minecraft-data/data/pc/17w15a/proto.yml +1165 -0
  133. package/minecraft-data/data/pc/17w15a/protocol.json +44 -23
  134. package/minecraft-data/data/pc/17w18b/proto.yml +1163 -0
  135. package/minecraft-data/data/pc/17w18b/protocol.json +52 -31
  136. package/minecraft-data/data/pc/17w50a/proto.yml +1418 -0
  137. package/minecraft-data/data/pc/17w50a/protocol.json +535 -346
  138. package/minecraft-data/data/pc/20w13b/proto.yml +1732 -0
  139. package/minecraft-data/data/pc/20w13b/protocol.json +315 -235
  140. package/minecraft-data/data/pc/21w07a/proto.yml +1785 -0
  141. package/minecraft-data/data/pc/21w07a/protocol.json +408 -295
  142. package/minecraft-data/data/pc/common/protocolVersions.json +24 -0
  143. package/minecraft-data/data/pc/latest/proto.yml +2762 -0
  144. package/minecraft-data/doc/add-data-new-version.md +3 -0
  145. package/minecraft-data/doc/history.md +4 -0
  146. package/minecraft-data/doc/protocol.md +154 -0
  147. package/minecraft-data/tools/js/compileProtocol.js +67 -45
  148. package/minecraft-data/tools/js/convertMcpcProtocolJsonToYaml.js +65 -0
  149. package/minecraft-data/tools/js/incrementVersion.js +63 -48
  150. package/minecraft-data/tools/js/package.json +3 -1
  151. package/minecraft-data/tools/js/test/protocolSync.js +1 -1
  152. package/package.json +3 -3
  153. package/tsconfig.json +1 -1
  154. package/typings/index-template.d.ts +30 -24
  155. package/typings/test-typings.ts +4 -0
@@ -0,0 +1,1800 @@
1
+ !version: 1.17.1
2
+
3
+ ^types:
4
+ varint: native
5
+ varlong: native
6
+ optvarint: varint
7
+ pstring: native
8
+ u16: native
9
+ u8: native
10
+ i64: native
11
+ buffer: native
12
+ i32: native
13
+ i8: native
14
+ bool: native
15
+ i16: native
16
+ f32: native
17
+ f64: native
18
+ UUID: native
19
+ option: native
20
+ entityMetadataLoop: native
21
+ topBitSetTerminatedArray: native
22
+ bitfield: native
23
+ container: native
24
+ switch: native
25
+ void: native
26
+ array: native
27
+ restBuffer: native
28
+ nbt: native
29
+ optionalNbt: native
30
+ string: [
31
+ "pstring",
32
+ {
33
+ "countType": "varint"
34
+ }
35
+ ]
36
+ slot:
37
+ present: bool
38
+ _: present ?
39
+ if false: void
40
+ if true:
41
+ itemId: varint
42
+ itemCount: i8
43
+ nbtData: optionalNbt
44
+ particle:
45
+ particleId: varint
46
+ data: [
47
+ "particleData",
48
+ {
49
+ "compareTo": "particleId"
50
+ }
51
+ ]
52
+ particleData: $compareTo ?
53
+ if 4:
54
+ blockState: varint
55
+ if 15:
56
+ red: f32
57
+ green: f32
58
+ blue: f32
59
+ scale: f32
60
+ if 16:
61
+ fromRed: f32
62
+ fromGreen: f32
63
+ fromBlue: f32
64
+ scale: f32
65
+ toRed: f32
66
+ toGreen: f32
67
+ toBlue: f32
68
+ if 25:
69
+ blockState: varint
70
+ if 36:
71
+ item: slot
72
+ if 37:
73
+ origin: position
74
+ positionType: string
75
+ destination: positionType ?
76
+ if minecraft:block: position
77
+ if minecraft:entity: varint
78
+ ticks: varint
79
+ default: void
80
+ ingredient: slot[]varint
81
+ position: [
82
+ "bitfield",
83
+ [
84
+ {
85
+ "name": "x",
86
+ "size": 26,
87
+ "signed": true
88
+ },
89
+ {
90
+ "name": "z",
91
+ "size": 26,
92
+ "signed": true
93
+ },
94
+ {
95
+ "name": "y",
96
+ "size": 12,
97
+ "signed": true
98
+ }
99
+ ]
100
+ ]
101
+ entityMetadataItem: $compareTo ?
102
+ if 0: i8
103
+ if 1: varint
104
+ if 2: f32
105
+ if 3: string
106
+ if 4: string
107
+ if 5: [
108
+ "option",
109
+ "string"
110
+ ]
111
+ if 6: slot
112
+ if 7: bool
113
+ if 8:
114
+ pitch: f32
115
+ yaw: f32
116
+ roll: f32
117
+ if 9: position
118
+ if 10: [
119
+ "option",
120
+ "position"
121
+ ]
122
+ if 11: varint
123
+ if 12: [
124
+ "option",
125
+ "UUID"
126
+ ]
127
+ if 13: varint
128
+ if 14: nbt
129
+ if 15: particle
130
+ if 16:
131
+ villagerType: varint
132
+ villagerProfession: varint
133
+ level: varint
134
+ if 17: optvarint
135
+ if 18: varint
136
+ entityMetadata: [
137
+ "entityMetadataLoop",
138
+ {
139
+ "endVal": 255,
140
+ "type": [
141
+ "container",
142
+ [
143
+ {
144
+ "anon": true,
145
+ "type": [
146
+ "container",
147
+ [
148
+ {
149
+ "name": "key",
150
+ "type": "u8"
151
+ },
152
+ {
153
+ "name": "type",
154
+ "type": "varint"
155
+ }
156
+ ]
157
+ ]
158
+ },
159
+ {
160
+ "name": "value",
161
+ "type": [
162
+ "entityMetadataItem",
163
+ {
164
+ "compareTo": "type"
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ ]
170
+ }
171
+ ]
172
+ minecraft_smelting_format:
173
+ group: string
174
+ ingredient: ingredient
175
+ result: slot
176
+ experience: f32
177
+ cookTime: varint
178
+ tags: []varint
179
+ tagName: string
180
+ entries: varint[]varint
181
+ command_node:
182
+ flags: [
183
+ "bitfield",
184
+ [
185
+ {
186
+ "name": "unused",
187
+ "size": 3,
188
+ "signed": false
189
+ },
190
+ {
191
+ "name": "has_custom_suggestions",
192
+ "size": 1,
193
+ "signed": false
194
+ },
195
+ {
196
+ "name": "has_redirect_node",
197
+ "size": 1,
198
+ "signed": false
199
+ },
200
+ {
201
+ "name": "has_command",
202
+ "size": 1,
203
+ "signed": false
204
+ },
205
+ {
206
+ "name": "command_node_type",
207
+ "size": 2,
208
+ "signed": false
209
+ }
210
+ ]
211
+ ]
212
+ children: varint[]varint
213
+ redirectNode: flags/has_redirect_node ?
214
+ if 1: varint
215
+ default: void
216
+ extraNodeData: flags/command_node_type ?
217
+ if 0: void
218
+ if 1:
219
+ name: string
220
+ if 2:
221
+ name: string
222
+ parser: string
223
+ properties: parser ?
224
+ if brigadier:bool: void
225
+ if brigadier:float:
226
+ flags: [
227
+ "bitfield",
228
+ [
229
+ {
230
+ "name": "unused",
231
+ "size": 6,
232
+ "signed": false
233
+ },
234
+ {
235
+ "name": "max_present",
236
+ "size": 1,
237
+ "signed": false
238
+ },
239
+ {
240
+ "name": "min_present",
241
+ "size": 1,
242
+ "signed": false
243
+ }
244
+ ]
245
+ ]
246
+ min: flags/min_present ?
247
+ if 1: f32
248
+ default: void
249
+ max: flags/max_present ?
250
+ if 1: f32
251
+ default: void
252
+ if brigadier:double:
253
+ flags: [
254
+ "bitfield",
255
+ [
256
+ {
257
+ "name": "unused",
258
+ "size": 6,
259
+ "signed": false
260
+ },
261
+ {
262
+ "name": "max_present",
263
+ "size": 1,
264
+ "signed": false
265
+ },
266
+ {
267
+ "name": "min_present",
268
+ "size": 1,
269
+ "signed": false
270
+ }
271
+ ]
272
+ ]
273
+ min: flags/min_present ?
274
+ if 1: f64
275
+ default: void
276
+ max: flags/max_present ?
277
+ if 1: f64
278
+ default: void
279
+ if brigadier:integer:
280
+ flags: [
281
+ "bitfield",
282
+ [
283
+ {
284
+ "name": "unused",
285
+ "size": 6,
286
+ "signed": false
287
+ },
288
+ {
289
+ "name": "max_present",
290
+ "size": 1,
291
+ "signed": false
292
+ },
293
+ {
294
+ "name": "min_present",
295
+ "size": 1,
296
+ "signed": false
297
+ }
298
+ ]
299
+ ]
300
+ min: flags/min_present ?
301
+ if 1: i32
302
+ default: void
303
+ max: flags/max_present ?
304
+ if 1: i32
305
+ default: void
306
+ if brigadier:long:
307
+ flags: [
308
+ "bitfield",
309
+ [
310
+ {
311
+ "name": "unused",
312
+ "size": 6,
313
+ "signed": false
314
+ },
315
+ {
316
+ "name": "max_present",
317
+ "size": 1,
318
+ "signed": false
319
+ },
320
+ {
321
+ "name": "min_present",
322
+ "size": 1,
323
+ "signed": false
324
+ }
325
+ ]
326
+ ]
327
+ min: flags/min_present ?
328
+ if 1: i64
329
+ default: void
330
+ max: flags/max_present ?
331
+ if 1: i64
332
+ default: void
333
+ if brigadier:string: varint =>
334
+ 0: SINGLE_WORD
335
+ 1: QUOTABLE_PHRASE
336
+ 2: GREEDY_PHRASE
337
+ if minecraft:entity: [
338
+ "bitfield",
339
+ [
340
+ {
341
+ "name": "unused",
342
+ "size": 6,
343
+ "signed": false
344
+ },
345
+ {
346
+ "name": "onlyAllowPlayers",
347
+ "size": 1,
348
+ "signed": false
349
+ },
350
+ {
351
+ "name": "onlyAllowEntities",
352
+ "size": 1,
353
+ "signed": false
354
+ }
355
+ ]
356
+ ]
357
+ if minecraft:game_profile: void
358
+ if minecraft:block_pos: void
359
+ if minecraft:column_pos: void
360
+ if minecraft:vec3: void
361
+ if minecraft:vec2: void
362
+ if minecraft:block_state: void
363
+ if minecraft:block_predicate: void
364
+ if minecraft:item_stack: void
365
+ if minecraft:item_predicate: void
366
+ if minecraft:color: void
367
+ if minecraft:component: void
368
+ if minecraft:message: void
369
+ if minecraft:nbt: void
370
+ if minecraft:nbt_path: void
371
+ if minecraft:objective: void
372
+ if minecraft:objective_criteria: void
373
+ if minecraft:operation: void
374
+ if minecraft:particle: void
375
+ if minecraft:angle: void
376
+ if minecraft:rotation: void
377
+ if minecraft:scoreboard_slot: void
378
+ if minecraft:score_holder: [
379
+ "bitfield",
380
+ [
381
+ {
382
+ "name": "unused",
383
+ "size": 7,
384
+ "signed": false
385
+ },
386
+ {
387
+ "name": "allowMultiple",
388
+ "size": 1,
389
+ "signed": false
390
+ }
391
+ ]
392
+ ]
393
+ if minecraft:swizzle: void
394
+ if minecraft:team: void
395
+ if minecraft:item_slot: void
396
+ if minecraft:resource_location: void
397
+ if minecraft:mob_effect: void
398
+ if minecraft:function: void
399
+ if minecraft:entity_anchor: void
400
+ if minecraft:range:
401
+ allowDecimals: bool
402
+ if minecraft:int_range: void
403
+ if minecraft:float_range: void
404
+ if minecraft:item_enchantment: void
405
+ if minecraft:entity_summon: void
406
+ if minecraft:dimension: void
407
+ if minecraft:nbt_compound_tag: void
408
+ if minecraft:time: void
409
+ if minecraft:resource_or_tag:
410
+ registry: string
411
+ if minecraft:resource:
412
+ registry: string
413
+ if minecraft:uuid: void
414
+ suggestionType: ../flags/has_custom_suggestions ?
415
+ if 1: string
416
+ default: void
417
+
418
+ ^handshaking.toClient.types:
419
+ packet:
420
+ name: varint =>
421
+ params: ["switch",{"compareTo":"name","fields":{}}]
422
+
423
+ ^handshaking.toServer.types:
424
+ packet_set_protocol:
425
+ protocolVersion: varint
426
+ serverHost: string
427
+ serverPort: u16
428
+ nextState: varint
429
+ packet_legacy_server_list_ping:
430
+ payload: u8
431
+ packet:
432
+ name: varint =>
433
+ 0x00: set_protocol
434
+ 0xfe: legacy_server_list_ping
435
+ params: name ?
436
+ if set_protocol: packet_set_protocol
437
+ if legacy_server_list_ping: packet_legacy_server_list_ping
438
+
439
+ ^status.toClient.types:
440
+ packet_server_info:
441
+ response: string
442
+ packet_ping:
443
+ time: i64
444
+ packet:
445
+ name: varint =>
446
+ 0x00: server_info
447
+ 0x01: ping
448
+ params: name ?
449
+ if server_info: packet_server_info
450
+ if ping: packet_ping
451
+
452
+ ^status.toServer.types:
453
+ packet_ping_start:
454
+ # Empty
455
+ packet_ping:
456
+ time: i64
457
+ packet:
458
+ name: varint =>
459
+ 0x00: ping_start
460
+ 0x01: ping
461
+ params: name ?
462
+ if ping_start: packet_ping_start
463
+ if ping: packet_ping
464
+
465
+ ^login.toClient.types:
466
+ packet_disconnect:
467
+ reason: string
468
+ packet_encryption_begin:
469
+ serverId: string
470
+ publicKey: [
471
+ "buffer",
472
+ {
473
+ "countType": "varint"
474
+ }
475
+ ]
476
+ verifyToken: [
477
+ "buffer",
478
+ {
479
+ "countType": "varint"
480
+ }
481
+ ]
482
+ packet_success:
483
+ uuid: UUID
484
+ username: string
485
+ packet_compress:
486
+ threshold: varint
487
+ packet_login_plugin_request:
488
+ messageId: varint
489
+ channel: string
490
+ data: restBuffer
491
+ packet:
492
+ name: varint =>
493
+ 0x00: disconnect
494
+ 0x01: encryption_begin
495
+ 0x02: success
496
+ 0x03: compress
497
+ 0x04: login_plugin_request
498
+ params: name ?
499
+ if disconnect: packet_disconnect
500
+ if encryption_begin: packet_encryption_begin
501
+ if success: packet_success
502
+ if compress: packet_compress
503
+ if login_plugin_request: packet_login_plugin_request
504
+
505
+ ^login.toServer.types:
506
+ packet_login_start:
507
+ username: string
508
+ packet_encryption_begin:
509
+ sharedSecret: [
510
+ "buffer",
511
+ {
512
+ "countType": "varint"
513
+ }
514
+ ]
515
+ verifyToken: [
516
+ "buffer",
517
+ {
518
+ "countType": "varint"
519
+ }
520
+ ]
521
+ packet_login_plugin_response:
522
+ messageId: varint
523
+ data?: restBuffer
524
+ packet:
525
+ name: varint =>
526
+ 0x00: login_start
527
+ 0x01: encryption_begin
528
+ 0x02: login_plugin_response
529
+ params: name ?
530
+ if login_start: packet_login_start
531
+ if encryption_begin: packet_encryption_begin
532
+ if login_plugin_response: packet_login_plugin_response
533
+
534
+ ^play.toClient.types:
535
+ packet_spawn_entity:
536
+ entityId: varint
537
+ objectUUID: UUID
538
+ type: varint
539
+ x: f64
540
+ y: f64
541
+ z: f64
542
+ pitch: i8
543
+ yaw: i8
544
+ objectData: i32
545
+ velocityX: i16
546
+ velocityY: i16
547
+ velocityZ: i16
548
+ packet_spawn_entity_experience_orb:
549
+ entityId: varint
550
+ x: f64
551
+ y: f64
552
+ z: f64
553
+ count: i16
554
+ packet_spawn_entity_living:
555
+ entityId: varint
556
+ entityUUID: UUID
557
+ type: varint
558
+ x: f64
559
+ y: f64
560
+ z: f64
561
+ yaw: i8
562
+ pitch: i8
563
+ headPitch: i8
564
+ velocityX: i16
565
+ velocityY: i16
566
+ velocityZ: i16
567
+ packet_spawn_entity_painting:
568
+ entityId: varint
569
+ entityUUID: UUID
570
+ title: varint
571
+ location: position
572
+ direction: u8
573
+ packet_named_entity_spawn:
574
+ entityId: varint
575
+ playerUUID: UUID
576
+ x: f64
577
+ y: f64
578
+ z: f64
579
+ yaw: i8
580
+ pitch: i8
581
+ packet_animation:
582
+ entityId: varint
583
+ animation: u8
584
+ packet_statistics:
585
+ entries: []varint
586
+ categoryId: varint
587
+ statisticId: varint
588
+ value: varint
589
+ packet_advancements:
590
+ reset: bool
591
+ advancementMapping: []varint
592
+ key: string
593
+ value:
594
+ parentId?: string
595
+ displayData?:
596
+ title: string
597
+ description: string
598
+ icon: slot
599
+ frameType: varint
600
+ flags: [
601
+ "bitfield",
602
+ [
603
+ {
604
+ "name": "_unused",
605
+ "size": 29,
606
+ "signed": false
607
+ },
608
+ {
609
+ "name": "hidden",
610
+ "size": 1,
611
+ "signed": false
612
+ },
613
+ {
614
+ "name": "show_toast",
615
+ "size": 1,
616
+ "signed": false
617
+ },
618
+ {
619
+ "name": "has_background_texture",
620
+ "size": 1,
621
+ "signed": false
622
+ }
623
+ ]
624
+ ]
625
+ backgroundTexture: flags/has_background_texture ?
626
+ if 1: string
627
+ default: void
628
+ xCord: f32
629
+ yCord: f32
630
+ criteria: []varint
631
+ key: string
632
+ value: void
633
+ requirements: []varint
634
+ _: string[]varint
635
+ identifiers: string[]varint
636
+ progressMapping: []varint
637
+ key: string
638
+ value: []varint
639
+ criterionIdentifier: string
640
+ criterionProgress?: i64
641
+ packet_block_break_animation:
642
+ entityId: varint
643
+ location: position
644
+ destroyStage: i8
645
+ packet_tile_entity_data:
646
+ location: position
647
+ action: u8
648
+ nbtData: optionalNbt
649
+ packet_block_action:
650
+ location: position
651
+ byte1: u8
652
+ byte2: u8
653
+ blockId: varint
654
+ packet_block_change:
655
+ location: position
656
+ type: varint
657
+ packet_boss_bar:
658
+ entityUUID: UUID
659
+ action: varint
660
+ title: action ?
661
+ if 0: string
662
+ if 3: string
663
+ default: void
664
+ health: action ?
665
+ if 0: f32
666
+ if 2: f32
667
+ default: void
668
+ color: action ?
669
+ if 0: varint
670
+ if 4: varint
671
+ default: void
672
+ dividers: action ?
673
+ if 0: varint
674
+ if 4: varint
675
+ default: void
676
+ flags: action ?
677
+ if 0: u8
678
+ if 5: u8
679
+ default: void
680
+ packet_difficulty:
681
+ difficulty: u8
682
+ difficultyLocked: bool
683
+ packet_tab_complete:
684
+ transactionId: varint
685
+ start: varint
686
+ length: varint
687
+ matches: []varint
688
+ match: string
689
+ tooltip?: string
690
+ packet_declare_commands:
691
+ nodes: command_node[]varint
692
+ rootIndex: varint
693
+ packet_face_player:
694
+ feet_eyes: varint
695
+ x: f64
696
+ y: f64
697
+ z: f64
698
+ isEntity: bool
699
+ entityId: isEntity ?
700
+ if true: varint
701
+ default: void
702
+ entity_feet_eyes: isEntity ?
703
+ if true: string
704
+ default: void
705
+ packet_nbt_query_response:
706
+ transactionId: varint
707
+ nbt: optionalNbt
708
+ packet_chat:
709
+ message: string
710
+ position: i8
711
+ sender: UUID
712
+ packet_multi_block_change:
713
+ chunkCoordinates: [
714
+ "bitfield",
715
+ [
716
+ {
717
+ "name": "x",
718
+ "size": 22,
719
+ "signed": true
720
+ },
721
+ {
722
+ "name": "z",
723
+ "size": 22,
724
+ "signed": true
725
+ },
726
+ {
727
+ "name": "y",
728
+ "size": 20,
729
+ "signed": false
730
+ }
731
+ ]
732
+ ]
733
+ notTrustEdges: bool
734
+ records: varlong[]varint
735
+ packet_close_window:
736
+ windowId: u8
737
+ packet_open_window:
738
+ windowId: varint
739
+ inventoryType: varint
740
+ windowTitle: string
741
+ packet_window_items:
742
+ windowId: u8
743
+ stateId: varint
744
+ items: slot[]varint
745
+ carriedItem: slot
746
+ packet_craft_progress_bar:
747
+ windowId: u8
748
+ property: i16
749
+ value: i16
750
+ packet_set_slot:
751
+ windowId: i8
752
+ stateId: varint
753
+ slot: i16
754
+ item: slot
755
+ packet_set_cooldown:
756
+ itemID: varint
757
+ cooldownTicks: varint
758
+ packet_custom_payload:
759
+ channel: string
760
+ data: restBuffer
761
+ packet_named_sound_effect:
762
+ soundName: string
763
+ soundCategory: varint
764
+ x: i32
765
+ y: i32
766
+ z: i32
767
+ volume: f32
768
+ pitch: f32
769
+ packet_kick_disconnect:
770
+ reason: string
771
+ packet_entity_status:
772
+ entityId: i32
773
+ entityStatus: i8
774
+ packet_explosion:
775
+ x: f32
776
+ y: f32
777
+ z: f32
778
+ radius: f32
779
+ affectedBlockOffsets: []varint
780
+ x: i8
781
+ y: i8
782
+ z: i8
783
+ playerMotionX: f32
784
+ playerMotionY: f32
785
+ playerMotionZ: f32
786
+ packet_unload_chunk:
787
+ chunkX: i32
788
+ chunkZ: i32
789
+ packet_game_state_change:
790
+ reason: u8
791
+ gameMode: f32
792
+ packet_open_horse_window:
793
+ windowId: u8
794
+ nbSlots: varint
795
+ entityId: i32
796
+ packet_keep_alive:
797
+ keepAliveId: i64
798
+ packet_map_chunk:
799
+ x: i32
800
+ z: i32
801
+ bitMap: i64[]varint
802
+ heightmaps: nbt
803
+ biomes: varint[]varint
804
+ chunkData: [
805
+ "buffer",
806
+ {
807
+ "countType": "varint"
808
+ }
809
+ ]
810
+ blockEntities: nbt[]varint
811
+ packet_world_event:
812
+ effectId: i32
813
+ location: position
814
+ data: i32
815
+ global: bool
816
+ packet_world_particles:
817
+ particleId: i32
818
+ longDistance: bool
819
+ x: f64
820
+ y: f64
821
+ z: f64
822
+ offsetX: f32
823
+ offsetY: f32
824
+ offsetZ: f32
825
+ particleData: f32
826
+ particles: i32
827
+ data: [
828
+ "particleData",
829
+ {
830
+ "compareTo": "particleId"
831
+ }
832
+ ]
833
+ packet_update_light:
834
+ chunkX: varint
835
+ chunkZ: varint
836
+ trustEdges: bool
837
+ skyLightMask: i64[]varint
838
+ blockLightMask: i64[]varint
839
+ emptySkyLightMask: i64[]varint
840
+ emptyBlockLightMask: i64[]varint
841
+ skyLight: []varint
842
+ _: u8[]varint
843
+ blockLight: []varint
844
+ _: u8[]varint
845
+ packet_login:
846
+ entityId: i32
847
+ isHardcore: bool
848
+ gameMode: u8
849
+ previousGameMode: i8
850
+ worldNames: string[]varint
851
+ dimensionCodec: nbt
852
+ dimension: nbt
853
+ worldName: string
854
+ hashedSeed: i64
855
+ maxPlayers: varint
856
+ viewDistance: varint
857
+ reducedDebugInfo: bool
858
+ enableRespawnScreen: bool
859
+ isDebug: bool
860
+ isFlat: bool
861
+ packet_map:
862
+ itemDamage: varint
863
+ scale: i8
864
+ locked: bool
865
+ icons?: []varint
866
+ type: varint
867
+ x: i8
868
+ z: i8
869
+ direction: u8
870
+ displayName?: string
871
+ columns: u8
872
+ rows: columns ?
873
+ if 0: void
874
+ default: u8
875
+ x: columns ?
876
+ if 0: void
877
+ default: u8
878
+ y: columns ?
879
+ if 0: void
880
+ default: u8
881
+ data: columns ?
882
+ if 0: void
883
+ default: [
884
+ "buffer",
885
+ {
886
+ "countType": "varint"
887
+ }
888
+ ]
889
+ packet_trade_list:
890
+ windowId: varint
891
+ trades: []u8
892
+ inputItem1: slot
893
+ outputItem: slot
894
+ inputItem2?: slot
895
+ tradeDisabled: bool
896
+ nbTradeUses: i32
897
+ maximumNbTradeUses: i32
898
+ xp: i32
899
+ specialPrice: i32
900
+ priceMultiplier: f32
901
+ demand: i32
902
+ villagerLevel: varint
903
+ experience: varint
904
+ isRegularVillager: bool
905
+ canRestock: bool
906
+ packet_rel_entity_move:
907
+ entityId: varint
908
+ dX: i16
909
+ dY: i16
910
+ dZ: i16
911
+ onGround: bool
912
+ packet_entity_move_look:
913
+ entityId: varint
914
+ dX: i16
915
+ dY: i16
916
+ dZ: i16
917
+ yaw: i8
918
+ pitch: i8
919
+ onGround: bool
920
+ packet_entity_look:
921
+ entityId: varint
922
+ yaw: i8
923
+ pitch: i8
924
+ onGround: bool
925
+ packet_vehicle_move:
926
+ x: f64
927
+ y: f64
928
+ z: f64
929
+ yaw: f32
930
+ pitch: f32
931
+ packet_open_book:
932
+ hand: varint
933
+ packet_open_sign_entity:
934
+ location: position
935
+ packet_craft_recipe_response:
936
+ windowId: i8
937
+ recipe: string
938
+ packet_abilities:
939
+ flags: i8
940
+ flyingSpeed: f32
941
+ walkingSpeed: f32
942
+ packet_end_combat_event:
943
+ duration: varint
944
+ entityId: i32
945
+ packet_enter_combat_event:
946
+ # Empty
947
+ packet_death_combat_event:
948
+ playerId: varint
949
+ entityId: i32
950
+ message: string
951
+ packet_player_info:
952
+ action: varint
953
+ data: []varint
954
+ UUID: UUID
955
+ name: ../action ?
956
+ if 0: string
957
+ default: void
958
+ properties: ../action ?
959
+ if 0: []varint
960
+ name: string
961
+ value: string
962
+ signature?: string
963
+ default: void
964
+ gamemode: ../action ?
965
+ if 0: varint
966
+ if 1: varint
967
+ default: void
968
+ ping: ../action ?
969
+ if 0: varint
970
+ if 2: varint
971
+ default: void
972
+ displayName: ../action ?
973
+ if 0: [
974
+ "option",
975
+ "string"
976
+ ]
977
+ if 3: [
978
+ "option",
979
+ "string"
980
+ ]
981
+ default: void
982
+ packet_position:
983
+ x: f64
984
+ y: f64
985
+ z: f64
986
+ yaw: f32
987
+ pitch: f32
988
+ flags: i8
989
+ teleportId: varint
990
+ dismountVehicle: bool
991
+ packet_unlock_recipes:
992
+ action: varint
993
+ craftingBookOpen: bool
994
+ filteringCraftable: bool
995
+ smeltingBookOpen: bool
996
+ filteringSmeltable: bool
997
+ blastFurnaceOpen: bool
998
+ filteringBlastFurnace: bool
999
+ smokerBookOpen: bool
1000
+ filteringSmoker: bool
1001
+ recipes1: string[]varint
1002
+ recipes2: action ?
1003
+ if 0: string[]varint
1004
+ default: void
1005
+ packet_entity_destroy:
1006
+ entityIds: varint[]varint
1007
+ packet_remove_entity_effect:
1008
+ entityId: varint
1009
+ effectId: i8
1010
+ packet_resource_pack_send:
1011
+ url: string
1012
+ hash: string
1013
+ forced: bool
1014
+ promptMessage?: string
1015
+ packet_respawn:
1016
+ dimension: nbt
1017
+ worldName: string
1018
+ hashedSeed: i64
1019
+ gamemode: u8
1020
+ previousGamemode: u8
1021
+ isDebug: bool
1022
+ isFlat: bool
1023
+ copyMetadata: bool
1024
+ packet_entity_head_rotation:
1025
+ entityId: varint
1026
+ headYaw: i8
1027
+ packet_camera:
1028
+ cameraId: varint
1029
+ packet_held_item_slot:
1030
+ slot: i8
1031
+ packet_update_view_position:
1032
+ chunkX: varint
1033
+ chunkZ: varint
1034
+ packet_update_view_distance:
1035
+ viewDistance: varint
1036
+ packet_scoreboard_display_objective:
1037
+ position: i8
1038
+ name: string
1039
+ packet_entity_metadata:
1040
+ entityId: varint
1041
+ metadata: entityMetadata
1042
+ packet_attach_entity:
1043
+ entityId: i32
1044
+ vehicleId: i32
1045
+ packet_entity_velocity:
1046
+ entityId: varint
1047
+ velocityX: i16
1048
+ velocityY: i16
1049
+ velocityZ: i16
1050
+ packet_entity_equipment:
1051
+ entityId: varint
1052
+ equipments: [
1053
+ "topBitSetTerminatedArray",
1054
+ {
1055
+ "type": [
1056
+ "container",
1057
+ [
1058
+ {
1059
+ "name": "slot",
1060
+ "type": "i8"
1061
+ },
1062
+ {
1063
+ "name": "item",
1064
+ "type": "slot"
1065
+ }
1066
+ ]
1067
+ ]
1068
+ }
1069
+ ]
1070
+ packet_experience:
1071
+ experienceBar: f32
1072
+ level: varint
1073
+ totalExperience: varint
1074
+ packet_update_health:
1075
+ health: f32
1076
+ food: varint
1077
+ foodSaturation: f32
1078
+ packet_scoreboard_objective:
1079
+ name: string
1080
+ action: i8
1081
+ displayText: action ?
1082
+ if 0: string
1083
+ if 2: string
1084
+ default: void
1085
+ type: action ?
1086
+ if 0: varint
1087
+ if 2: varint
1088
+ default: void
1089
+ packet_set_passengers:
1090
+ entityId: varint
1091
+ passengers: varint[]varint
1092
+ packet_teams:
1093
+ team: string
1094
+ mode: i8
1095
+ name: mode ?
1096
+ if 0: string
1097
+ if 2: string
1098
+ default: void
1099
+ friendlyFire: mode ?
1100
+ if 0: i8
1101
+ if 2: i8
1102
+ default: void
1103
+ nameTagVisibility: mode ?
1104
+ if 0: string
1105
+ if 2: string
1106
+ default: void
1107
+ collisionRule: mode ?
1108
+ if 0: string
1109
+ if 2: string
1110
+ default: void
1111
+ formatting: mode ?
1112
+ if 0: varint
1113
+ if 2: varint
1114
+ default: void
1115
+ prefix: mode ?
1116
+ if 0: string
1117
+ if 2: string
1118
+ default: void
1119
+ suffix: mode ?
1120
+ if 0: string
1121
+ if 2: string
1122
+ default: void
1123
+ players: mode ?
1124
+ if 0: string[]varint
1125
+ if 3: string[]varint
1126
+ if 4: string[]varint
1127
+ default: void
1128
+ packet_scoreboard_score:
1129
+ itemName: string
1130
+ action: varint
1131
+ scoreName: string
1132
+ value: action ?
1133
+ if 1: void
1134
+ default: varint
1135
+ packet_spawn_position:
1136
+ location: position
1137
+ angle: f32
1138
+ packet_update_time:
1139
+ age: i64
1140
+ time: i64
1141
+ packet_entity_sound_effect:
1142
+ soundId: varint
1143
+ soundCategory: varint
1144
+ entityId: varint
1145
+ volume: f32
1146
+ pitch: f32
1147
+ packet_stop_sound:
1148
+ flags: i8
1149
+ source: flags ?
1150
+ if 1: varint
1151
+ if 3: varint
1152
+ default: void
1153
+ sound: flags ?
1154
+ if 2: string
1155
+ if 3: string
1156
+ default: void
1157
+ packet_sound_effect:
1158
+ soundId: varint
1159
+ soundCategory: varint
1160
+ x: i32
1161
+ y: i32
1162
+ z: i32
1163
+ volume: f32
1164
+ pitch: f32
1165
+ packet_playerlist_header:
1166
+ header: string
1167
+ footer: string
1168
+ packet_collect:
1169
+ collectedEntityId: varint
1170
+ collectorEntityId: varint
1171
+ pickupItemCount: varint
1172
+ packet_entity_teleport:
1173
+ entityId: varint
1174
+ x: f64
1175
+ y: f64
1176
+ z: f64
1177
+ yaw: i8
1178
+ pitch: i8
1179
+ onGround: bool
1180
+ packet_entity_update_attributes:
1181
+ entityId: varint
1182
+ properties: []varint
1183
+ key: string
1184
+ value: f64
1185
+ modifiers: []varint
1186
+ uuid: UUID
1187
+ amount: f64
1188
+ operation: i8
1189
+ packet_entity_effect:
1190
+ entityId: varint
1191
+ effectId: i8
1192
+ amplifier: i8
1193
+ duration: varint
1194
+ hideParticles: i8
1195
+ packet_select_advancement_tab:
1196
+ id?: string
1197
+ packet_declare_recipes:
1198
+ recipes: []varint
1199
+ type: string
1200
+ recipeId: string
1201
+ data: type ?
1202
+ if minecraft:crafting_shapeless:
1203
+ group: string
1204
+ ingredients: ingredient[]varint
1205
+ result: slot
1206
+ if minecraft:crafting_shaped:
1207
+ width: varint
1208
+ height: varint
1209
+ group: string
1210
+ ingredients: []$width
1211
+ _: ingredient[]$height
1212
+ result: slot
1213
+ if minecraft:crafting_special_armordye: void
1214
+ if minecraft:crafting_special_bookcloning: void
1215
+ if minecraft:crafting_special_mapcloning: void
1216
+ if minecraft:crafting_special_mapextending: void
1217
+ if minecraft:crafting_special_firework_rocket: void
1218
+ if minecraft:crafting_special_firework_star: void
1219
+ if minecraft:crafting_special_firework_star_fade: void
1220
+ if minecraft:crafting_special_repairitem: void
1221
+ if minecraft:crafting_special_tippedarrow: void
1222
+ if minecraft:crafting_special_bannerduplicate: void
1223
+ if minecraft:crafting_special_banneraddpattern: void
1224
+ if minecraft:crafting_special_shielddecoration: void
1225
+ if minecraft:crafting_special_shulkerboxcoloring: void
1226
+ if minecraft:crafting_special_suspiciousstew: void
1227
+ if minecraft:smelting: minecraft_smelting_format
1228
+ if minecraft:blasting: minecraft_smelting_format
1229
+ if minecraft:smoking: minecraft_smelting_format
1230
+ if minecraft:campfire_cooking: minecraft_smelting_format
1231
+ if minecraft:stonecutting:
1232
+ group: string
1233
+ ingredient: ingredient
1234
+ result: slot
1235
+ if minecraft:smithing:
1236
+ base: ingredient
1237
+ addition: ingredient
1238
+ result: slot
1239
+ packet_tags:
1240
+ tags: []varint
1241
+ tagType: string
1242
+ tags: tags
1243
+ packet_acknowledge_player_digging:
1244
+ location: position
1245
+ block: varint
1246
+ status: varint
1247
+ successful: bool
1248
+ packet_sculk_vibration_signal:
1249
+ sourcePosition: position
1250
+ destinationIdentifier: string
1251
+ destination: destinationIdentifier ?
1252
+ if block: position
1253
+ if entityId: varint
1254
+ default: void
1255
+ arrivalTicks: varint
1256
+ packet_clear_titles:
1257
+ reset: bool
1258
+ packet_initialize_world_border:
1259
+ x: f64
1260
+ z: f64
1261
+ oldDiameter: f64
1262
+ newDiameter: f64
1263
+ speed: varlong
1264
+ portalTeleportBoundary: varint
1265
+ warningBlocks: varint
1266
+ warningTime: varint
1267
+ packet_action_bar:
1268
+ text: string
1269
+ packet_world_border_center:
1270
+ x: f64
1271
+ z: f64
1272
+ packet_world_border_lerp_size:
1273
+ oldDiameter: f64
1274
+ newDiameter: f64
1275
+ speed: varlong
1276
+ packet_world_border_size:
1277
+ diameter: f64
1278
+ packet_world_border_warning_delay:
1279
+ warningTime: varint
1280
+ packet_world_border_warning_reach:
1281
+ warningBlocks: varint
1282
+ packet_ping:
1283
+ id: i32
1284
+ packet_set_title_subtitle:
1285
+ text: string
1286
+ packet_set_title_text:
1287
+ text: string
1288
+ packet_set_title_time:
1289
+ fadeIn: i32
1290
+ stay: i32
1291
+ fadeOut: i32
1292
+ packet:
1293
+ name: varint =>
1294
+ 0x00: spawn_entity
1295
+ 0x01: spawn_entity_experience_orb
1296
+ 0x02: spawn_entity_living
1297
+ 0x03: spawn_entity_painting
1298
+ 0x04: named_entity_spawn
1299
+ 0x05: sculk_vibration_signal
1300
+ 0x06: animation
1301
+ 0x07: statistics
1302
+ 0x08: acknowledge_player_digging
1303
+ 0x09: block_break_animation
1304
+ 0x0a: tile_entity_data
1305
+ 0x0b: block_action
1306
+ 0x0c: block_change
1307
+ 0x0d: boss_bar
1308
+ 0x0e: difficulty
1309
+ 0x0f: chat
1310
+ 0x10: clear_titles
1311
+ 0x11: tab_complete
1312
+ 0x12: declare_commands
1313
+ 0x13: close_window
1314
+ 0x14: window_items
1315
+ 0x15: craft_progress_bar
1316
+ 0x16: set_slot
1317
+ 0x17: set_cooldown
1318
+ 0x18: custom_payload
1319
+ 0x19: named_sound_effect
1320
+ 0x1a: kick_disconnect
1321
+ 0x1b: entity_status
1322
+ 0x1c: explosion
1323
+ 0x1d: unload_chunk
1324
+ 0x1e: game_state_change
1325
+ 0x1f: open_horse_window
1326
+ 0x20: initialize_world_border
1327
+ 0x21: keep_alive
1328
+ 0x22: map_chunk
1329
+ 0x23: world_event
1330
+ 0x24: world_particles
1331
+ 0x25: update_light
1332
+ 0x26: login
1333
+ 0x27: map
1334
+ 0x28: trade_list
1335
+ 0x29: rel_entity_move
1336
+ 0x2a: entity_move_look
1337
+ 0x2b: entity_look
1338
+ 0x2c: vehicle_move
1339
+ 0x2d: open_book
1340
+ 0x2e: open_window
1341
+ 0x2f: open_sign_entity
1342
+ 0x30: ping
1343
+ 0x31: craft_recipe_response
1344
+ 0x32: abilities
1345
+ 0x33: end_combat_event
1346
+ 0x34: enter_combat_event
1347
+ 0x35: death_combat_event
1348
+ 0x36: player_info
1349
+ 0x37: face_player
1350
+ 0x38: position
1351
+ 0x39: unlock_recipes
1352
+ 0x3a: entity_destroy
1353
+ 0x3b: remove_entity_effect
1354
+ 0x3c: resource_pack_send
1355
+ 0x3d: respawn
1356
+ 0x3e: entity_head_rotation
1357
+ 0x3f: multi_block_change
1358
+ 0x40: select_advancement_tab
1359
+ 0x41: action_bar
1360
+ 0x42: world_border_center
1361
+ 0x43: world_border_lerp_size
1362
+ 0x44: world_border_size
1363
+ 0x45: world_border_warning_delay
1364
+ 0x46: world_border_warning_reach
1365
+ 0x47: camera
1366
+ 0x48: held_item_slot
1367
+ 0x49: update_view_position
1368
+ 0x4a: update_view_distance
1369
+ 0x4b: spawn_position
1370
+ 0x4c: scoreboard_display_objective
1371
+ 0x4d: entity_metadata
1372
+ 0x4e: attach_entity
1373
+ 0x4f: entity_velocity
1374
+ 0x50: entity_equipment
1375
+ 0x51: experience
1376
+ 0x52: update_health
1377
+ 0x53: scoreboard_objective
1378
+ 0x54: set_passengers
1379
+ 0x55: teams
1380
+ 0x56: scoreboard_score
1381
+ 0x57: set_title_subtitle
1382
+ 0x58: update_time
1383
+ 0x59: set_title_text
1384
+ 0x5a: set_title_time
1385
+ 0x5b: entity_sound_effect
1386
+ 0x5c: sound_effect
1387
+ 0x5d: stop_sound
1388
+ 0x5e: playerlist_header
1389
+ 0x5f: nbt_query_response
1390
+ 0x60: collect
1391
+ 0x61: entity_teleport
1392
+ 0x62: advancements
1393
+ 0x63: entity_update_attributes
1394
+ 0x64: entity_effect
1395
+ 0x65: declare_recipes
1396
+ 0x66: tags
1397
+ params: name ?
1398
+ if spawn_entity: packet_spawn_entity
1399
+ if spawn_entity_experience_orb: packet_spawn_entity_experience_orb
1400
+ if spawn_entity_living: packet_spawn_entity_living
1401
+ if spawn_entity_painting: packet_spawn_entity_painting
1402
+ if named_entity_spawn: packet_named_entity_spawn
1403
+ if animation: packet_animation
1404
+ if statistics: packet_statistics
1405
+ if advancements: packet_advancements
1406
+ if block_break_animation: packet_block_break_animation
1407
+ if tile_entity_data: packet_tile_entity_data
1408
+ if block_action: packet_block_action
1409
+ if block_change: packet_block_change
1410
+ if boss_bar: packet_boss_bar
1411
+ if difficulty: packet_difficulty
1412
+ if tab_complete: packet_tab_complete
1413
+ if declare_commands: packet_declare_commands
1414
+ if face_player: packet_face_player
1415
+ if nbt_query_response: packet_nbt_query_response
1416
+ if chat: packet_chat
1417
+ if multi_block_change: packet_multi_block_change
1418
+ if close_window: packet_close_window
1419
+ if open_window: packet_open_window
1420
+ if window_items: packet_window_items
1421
+ if craft_progress_bar: packet_craft_progress_bar
1422
+ if set_slot: packet_set_slot
1423
+ if set_cooldown: packet_set_cooldown
1424
+ if custom_payload: packet_custom_payload
1425
+ if named_sound_effect: packet_named_sound_effect
1426
+ if kick_disconnect: packet_kick_disconnect
1427
+ if entity_status: packet_entity_status
1428
+ if explosion: packet_explosion
1429
+ if unload_chunk: packet_unload_chunk
1430
+ if game_state_change: packet_game_state_change
1431
+ if open_horse_window: packet_open_horse_window
1432
+ if keep_alive: packet_keep_alive
1433
+ if map_chunk: packet_map_chunk
1434
+ if world_event: packet_world_event
1435
+ if world_particles: packet_world_particles
1436
+ if update_light: packet_update_light
1437
+ if login: packet_login
1438
+ if map: packet_map
1439
+ if trade_list: packet_trade_list
1440
+ if rel_entity_move: packet_rel_entity_move
1441
+ if entity_move_look: packet_entity_move_look
1442
+ if entity_look: packet_entity_look
1443
+ if vehicle_move: packet_vehicle_move
1444
+ if open_book: packet_open_book
1445
+ if open_sign_entity: packet_open_sign_entity
1446
+ if craft_recipe_response: packet_craft_recipe_response
1447
+ if abilities: packet_abilities
1448
+ if end_combat_event: packet_end_combat_event
1449
+ if enter_combat_event: packet_enter_combat_event
1450
+ if death_combat_event: packet_death_combat_event
1451
+ if player_info: packet_player_info
1452
+ if position: packet_position
1453
+ if unlock_recipes: packet_unlock_recipes
1454
+ if entity_destroy: packet_entity_destroy
1455
+ if remove_entity_effect: packet_remove_entity_effect
1456
+ if resource_pack_send: packet_resource_pack_send
1457
+ if respawn: packet_respawn
1458
+ if entity_update_attributes: packet_entity_update_attributes
1459
+ if camera: packet_camera
1460
+ if held_item_slot: packet_held_item_slot
1461
+ if update_view_position: packet_update_view_position
1462
+ if update_view_distance: packet_update_view_distance
1463
+ if scoreboard_display_objective: packet_scoreboard_display_objective
1464
+ if entity_metadata: packet_entity_metadata
1465
+ if attach_entity: packet_attach_entity
1466
+ if entity_velocity: packet_entity_velocity
1467
+ if entity_equipment: packet_entity_equipment
1468
+ if experience: packet_experience
1469
+ if update_health: packet_update_health
1470
+ if scoreboard_objective: packet_scoreboard_objective
1471
+ if set_passengers: packet_set_passengers
1472
+ if teams: packet_teams
1473
+ if scoreboard_score: packet_scoreboard_score
1474
+ if spawn_position: packet_spawn_position
1475
+ if update_time: packet_update_time
1476
+ if entity_sound_effect: packet_entity_sound_effect
1477
+ if stop_sound: packet_stop_sound
1478
+ if sound_effect: packet_sound_effect
1479
+ if playerlist_header: packet_playerlist_header
1480
+ if collect: packet_collect
1481
+ if entity_teleport: packet_entity_teleport
1482
+ if entity_head_rotation: packet_entity_head_rotation
1483
+ if entity_effect: packet_entity_effect
1484
+ if select_advancement_tab: packet_select_advancement_tab
1485
+ if declare_recipes: packet_declare_recipes
1486
+ if tags: packet_tags
1487
+ if acknowledge_player_digging: packet_acknowledge_player_digging
1488
+ if sculk_vibration_signal: packet_sculk_vibration_signal
1489
+ if clear_titles: packet_clear_titles
1490
+ if initialize_world_border: packet_initialize_world_border
1491
+ if action_bar: packet_action_bar
1492
+ if world_border_center: packet_world_border_center
1493
+ if world_border_lerp_size: packet_world_border_lerp_size
1494
+ if world_border_size: packet_world_border_size
1495
+ if world_border_warning_delay: packet_world_border_warning_delay
1496
+ if world_border_warning_reach: packet_world_border_warning_reach
1497
+ if ping: packet_ping
1498
+ if set_title_subtitle: packet_set_title_subtitle
1499
+ if set_title_text: packet_set_title_text
1500
+ if set_title_time: packet_set_title_time
1501
+
1502
+ ^play.toServer.types:
1503
+ packet_teleport_confirm:
1504
+ teleportId: varint
1505
+ packet_query_block_nbt:
1506
+ transactionId: varint
1507
+ location: position
1508
+ packet_set_difficulty:
1509
+ newDifficulty: u8
1510
+ packet_edit_book:
1511
+ hand: varint
1512
+ pages: string[]varint
1513
+ title?: string
1514
+ packet_query_entity_nbt:
1515
+ transactionId: varint
1516
+ entityId: varint
1517
+ packet_pick_item:
1518
+ slot: varint
1519
+ packet_name_item:
1520
+ name: string
1521
+ packet_select_trade:
1522
+ slot: varint
1523
+ packet_set_beacon_effect:
1524
+ primary_effect: varint
1525
+ secondary_effect: varint
1526
+ packet_update_command_block:
1527
+ location: position
1528
+ command: string
1529
+ mode: varint
1530
+ flags: u8
1531
+ packet_update_command_block_minecart:
1532
+ entityId: varint
1533
+ command: string
1534
+ track_output: bool
1535
+ packet_update_structure_block:
1536
+ location: position
1537
+ action: varint
1538
+ mode: varint
1539
+ name: string
1540
+ offset_x: i8
1541
+ offset_y: i8
1542
+ offset_z: i8
1543
+ size_x: i8
1544
+ size_y: i8
1545
+ size_z: i8
1546
+ mirror: varint
1547
+ rotation: varint
1548
+ metadata: string
1549
+ integrity: f32
1550
+ seed: varlong
1551
+ flags: u8
1552
+ packet_tab_complete:
1553
+ transactionId: varint
1554
+ text: string
1555
+ packet_chat:
1556
+ message: string
1557
+ packet_client_command:
1558
+ actionId: varint
1559
+ packet_settings:
1560
+ locale: string
1561
+ viewDistance: i8
1562
+ chatFlags: varint
1563
+ chatColors: bool
1564
+ skinParts: u8
1565
+ mainHand: varint
1566
+ disableTextFiltering: bool
1567
+ packet_enchant_item:
1568
+ windowId: i8
1569
+ enchantment: i8
1570
+ packet_window_click:
1571
+ windowId: u8
1572
+ stateId: varint
1573
+ slot: i16
1574
+ mouseButton: i8
1575
+ mode: varint
1576
+ changedSlots: []varint
1577
+ location: i16
1578
+ item: slot
1579
+ cursorItem: slot
1580
+ packet_close_window:
1581
+ windowId: u8
1582
+ packet_custom_payload:
1583
+ channel: string
1584
+ data: restBuffer
1585
+ packet_use_entity:
1586
+ target: varint
1587
+ mouse: varint
1588
+ x: mouse ?
1589
+ if 2: f32
1590
+ default: void
1591
+ y: mouse ?
1592
+ if 2: f32
1593
+ default: void
1594
+ z: mouse ?
1595
+ if 2: f32
1596
+ default: void
1597
+ hand: mouse ?
1598
+ if 0: varint
1599
+ if 2: varint
1600
+ default: void
1601
+ sneaking: bool
1602
+ packet_generate_structure:
1603
+ location: position
1604
+ levels: varint
1605
+ keepJigsaws: bool
1606
+ packet_keep_alive:
1607
+ keepAliveId: i64
1608
+ packet_lock_difficulty:
1609
+ locked: bool
1610
+ packet_position:
1611
+ x: f64
1612
+ y: f64
1613
+ z: f64
1614
+ onGround: bool
1615
+ packet_position_look:
1616
+ x: f64
1617
+ y: f64
1618
+ z: f64
1619
+ yaw: f32
1620
+ pitch: f32
1621
+ onGround: bool
1622
+ packet_look:
1623
+ yaw: f32
1624
+ pitch: f32
1625
+ onGround: bool
1626
+ packet_flying:
1627
+ onGround: bool
1628
+ packet_vehicle_move:
1629
+ x: f64
1630
+ y: f64
1631
+ z: f64
1632
+ yaw: f32
1633
+ pitch: f32
1634
+ packet_steer_boat:
1635
+ leftPaddle: bool
1636
+ rightPaddle: bool
1637
+ packet_craft_recipe_request:
1638
+ windowId: i8
1639
+ recipe: string
1640
+ makeAll: bool
1641
+ packet_abilities:
1642
+ flags: i8
1643
+ packet_block_dig:
1644
+ status: varint
1645
+ location: position
1646
+ face: i8
1647
+ packet_entity_action:
1648
+ entityId: varint
1649
+ actionId: varint
1650
+ jumpBoost: varint
1651
+ packet_steer_vehicle:
1652
+ sideways: f32
1653
+ forward: f32
1654
+ jump: u8
1655
+ packet_displayed_recipe:
1656
+ recipeId: string
1657
+ packet_recipe_book:
1658
+ bookId: varint
1659
+ bookOpen: bool
1660
+ filterActive: bool
1661
+ packet_resource_pack_receive:
1662
+ result: varint
1663
+ packet_held_item_slot:
1664
+ slotId: i16
1665
+ packet_set_creative_slot:
1666
+ slot: i16
1667
+ item: slot
1668
+ packet_update_jigsaw_block:
1669
+ location: position
1670
+ name: string
1671
+ target: string
1672
+ pool: string
1673
+ finalState: string
1674
+ jointType: string
1675
+ packet_update_sign:
1676
+ location: position
1677
+ text1: string
1678
+ text2: string
1679
+ text3: string
1680
+ text4: string
1681
+ packet_arm_animation:
1682
+ hand: varint
1683
+ packet_spectate:
1684
+ target: UUID
1685
+ packet_block_place:
1686
+ hand: varint
1687
+ location: position
1688
+ direction: varint
1689
+ cursorX: f32
1690
+ cursorY: f32
1691
+ cursorZ: f32
1692
+ insideBlock: bool
1693
+ packet_use_item:
1694
+ hand: varint
1695
+ packet_advancement_tab:
1696
+ action: varint
1697
+ tabId: action ?
1698
+ if 0: string
1699
+ if 1: void
1700
+ packet_pong:
1701
+ id: i32
1702
+ packet:
1703
+ name: varint =>
1704
+ 0x00: teleport_confirm
1705
+ 0x01: query_block_nbt
1706
+ 0x02: set_difficulty
1707
+ 0x03: chat
1708
+ 0x04: client_command
1709
+ 0x05: settings
1710
+ 0x06: tab_complete
1711
+ 0x07: enchant_item
1712
+ 0x08: window_click
1713
+ 0x09: close_window
1714
+ 0x0a: custom_payload
1715
+ 0x0b: edit_book
1716
+ 0x0c: query_entity_nbt
1717
+ 0x0d: use_entity
1718
+ 0x0e: generate_structure
1719
+ 0x0f: keep_alive
1720
+ 0x10: lock_difficulty
1721
+ 0x11: position
1722
+ 0x12: position_look
1723
+ 0x13: look
1724
+ 0x14: flying
1725
+ 0x15: vehicle_move
1726
+ 0x16: steer_boat
1727
+ 0x17: pick_item
1728
+ 0x18: craft_recipe_request
1729
+ 0x19: abilities
1730
+ 0x1a: block_dig
1731
+ 0x1b: entity_action
1732
+ 0x1c: steer_vehicle
1733
+ 0x1d: pong
1734
+ 0x1e: recipe_book
1735
+ 0x1f: displayed_recipe
1736
+ 0x20: name_item
1737
+ 0x21: resource_pack_receive
1738
+ 0x22: advancement_tab
1739
+ 0x23: select_trade
1740
+ 0x24: set_beacon_effect
1741
+ 0x25: held_item_slot
1742
+ 0x26: update_command_block
1743
+ 0x27: update_command_block_minecart
1744
+ 0x28: set_creative_slot
1745
+ 0x29: update_jigsaw_block
1746
+ 0x2a: update_structure_block
1747
+ 0x2b: update_sign
1748
+ 0x2c: arm_animation
1749
+ 0x2d: spectate
1750
+ 0x2e: block_place
1751
+ 0x2f: use_item
1752
+ params: name ?
1753
+ if teleport_confirm: packet_teleport_confirm
1754
+ if query_block_nbt: packet_query_block_nbt
1755
+ if set_difficulty: packet_set_difficulty
1756
+ if edit_book: packet_edit_book
1757
+ if query_entity_nbt: packet_query_entity_nbt
1758
+ if pick_item: packet_pick_item
1759
+ if name_item: packet_name_item
1760
+ if select_trade: packet_select_trade
1761
+ if set_beacon_effect: packet_set_beacon_effect
1762
+ if update_command_block: packet_update_command_block
1763
+ if update_command_block_minecart: packet_update_command_block_minecart
1764
+ if update_structure_block: packet_update_structure_block
1765
+ if tab_complete: packet_tab_complete
1766
+ if chat: packet_chat
1767
+ if client_command: packet_client_command
1768
+ if settings: packet_settings
1769
+ if enchant_item: packet_enchant_item
1770
+ if window_click: packet_window_click
1771
+ if close_window: packet_close_window
1772
+ if custom_payload: packet_custom_payload
1773
+ if use_entity: packet_use_entity
1774
+ if generate_structure: packet_generate_structure
1775
+ if keep_alive: packet_keep_alive
1776
+ if lock_difficulty: packet_lock_difficulty
1777
+ if position: packet_position
1778
+ if position_look: packet_position_look
1779
+ if look: packet_look
1780
+ if flying: packet_flying
1781
+ if vehicle_move: packet_vehicle_move
1782
+ if steer_boat: packet_steer_boat
1783
+ if craft_recipe_request: packet_craft_recipe_request
1784
+ if abilities: packet_abilities
1785
+ if block_dig: packet_block_dig
1786
+ if entity_action: packet_entity_action
1787
+ if steer_vehicle: packet_steer_vehicle
1788
+ if displayed_recipe: packet_displayed_recipe
1789
+ if recipe_book: packet_recipe_book
1790
+ if resource_pack_receive: packet_resource_pack_receive
1791
+ if held_item_slot: packet_held_item_slot
1792
+ if set_creative_slot: packet_set_creative_slot
1793
+ if update_jigsaw_block: packet_update_jigsaw_block
1794
+ if update_sign: packet_update_sign
1795
+ if arm_animation: packet_arm_animation
1796
+ if spectate: packet_spectate
1797
+ if block_place: packet_block_place
1798
+ if use_item: packet_use_item
1799
+ if advancement_tab: packet_advancement_tab
1800
+ if pong: packet_pong