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