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