minecraft-data 3.67.0 → 3.69.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 (159) hide show
  1. package/data.js +147 -52
  2. package/doc/history.md +8 -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 +71 -116
  39. package/minecraft-data/data/bedrock/1.21.2/types.yml +2373 -0
  40. package/minecraft-data/data/bedrock/1.21.20/proto.yml +4263 -0
  41. package/minecraft-data/data/bedrock/1.21.20/protocol.json +12646 -0
  42. package/minecraft-data/data/bedrock/1.21.20/types.yml +2406 -0
  43. package/minecraft-data/data/bedrock/1.21.20/version.json +6 -0
  44. package/minecraft-data/data/bedrock/1.21.30/protocol.json +12689 -0
  45. package/minecraft-data/data/bedrock/1.21.30/version.json +6 -0
  46. package/minecraft-data/data/bedrock/common/protocolVersions.json +12 -0
  47. package/minecraft-data/data/bedrock/common/versions.json +3 -1
  48. package/minecraft-data/data/bedrock/latest/proto.yml +113 -14
  49. package/minecraft-data/data/bedrock/latest/types.yml +44 -11
  50. package/minecraft-data/data/dataPaths.json +148 -53
  51. package/minecraft-data/data/pc/0.30c/proto.yml +138 -0
  52. package/minecraft-data/data/pc/0.30c/protocol.json +6 -6
  53. package/minecraft-data/data/pc/1.10/proto.yml +1101 -0
  54. package/minecraft-data/data/pc/1.10/protocol.json +34 -13
  55. package/minecraft-data/data/pc/1.10-pre1/proto.yml +1101 -0
  56. package/minecraft-data/data/pc/1.10-pre1/protocol.json +34 -13
  57. package/minecraft-data/data/pc/1.11/proto.yml +1103 -0
  58. package/minecraft-data/data/pc/1.11/protocol.json +34 -13
  59. package/minecraft-data/data/pc/1.12/proto.yml +1202 -0
  60. package/minecraft-data/data/pc/1.12/protocol.json +71 -34
  61. package/minecraft-data/data/pc/1.12-pre4/proto.yml +1174 -0
  62. package/minecraft-data/data/pc/1.12-pre4/protocol.json +51 -30
  63. package/minecraft-data/data/pc/1.12.1/proto.yml +1200 -0
  64. package/minecraft-data/data/pc/1.12.1/protocol.json +68 -31
  65. package/minecraft-data/data/pc/1.12.2/proto.yml +1200 -0
  66. package/minecraft-data/data/pc/1.12.2/protocol.json +68 -31
  67. package/minecraft-data/data/pc/1.13/proto.yml +1631 -0
  68. package/minecraft-data/data/pc/1.13/protocol.json +531 -463
  69. package/minecraft-data/data/pc/1.13.1/proto.yml +1632 -0
  70. package/minecraft-data/data/pc/1.13.1/protocol.json +535 -467
  71. package/minecraft-data/data/pc/1.13.2/proto.yml +1633 -0
  72. package/minecraft-data/data/pc/1.13.2/protocol.json +241 -174
  73. package/minecraft-data/data/pc/1.13.2-pre1/proto.yml +1633 -0
  74. package/minecraft-data/data/pc/1.13.2-pre1/protocol.json +241 -174
  75. package/minecraft-data/data/pc/1.13.2-pre2/proto.yml +1633 -0
  76. package/minecraft-data/data/pc/1.13.2-pre2/protocol.json +241 -174
  77. package/minecraft-data/data/pc/1.14/proto.yml +1717 -0
  78. package/minecraft-data/data/pc/1.14/protocol.json +304 -226
  79. package/minecraft-data/data/pc/1.14.1/proto.yml +1717 -0
  80. package/minecraft-data/data/pc/1.14.1/protocol.json +304 -226
  81. package/minecraft-data/data/pc/1.14.3/proto.yml +1718 -0
  82. package/minecraft-data/data/pc/1.14.3/protocol.json +304 -226
  83. package/minecraft-data/data/pc/1.14.4/proto.yml +1726 -0
  84. package/minecraft-data/data/pc/1.14.4/protocol.json +308 -230
  85. package/minecraft-data/data/pc/1.15/proto.yml +1730 -0
  86. package/minecraft-data/data/pc/1.15/protocol.json +315 -234
  87. package/minecraft-data/data/pc/1.15.1/proto.yml +1730 -0
  88. package/minecraft-data/data/pc/1.15.1/protocol.json +315 -234
  89. package/minecraft-data/data/pc/1.15.2/proto.yml +1730 -0
  90. package/minecraft-data/data/pc/1.15.2/protocol.json +315 -234
  91. package/minecraft-data/data/pc/1.16/proto.yml +1762 -0
  92. package/minecraft-data/data/pc/1.16/protocol.json +357 -264
  93. package/minecraft-data/data/pc/1.16-rc1/proto.yml +1762 -0
  94. package/minecraft-data/data/pc/1.16-rc1/protocol.json +357 -264
  95. package/minecraft-data/data/pc/1.16.1/proto.yml +1762 -0
  96. package/minecraft-data/data/pc/1.16.1/protocol.json +357 -264
  97. package/minecraft-data/data/pc/1.16.2/proto.yml +1776 -0
  98. package/minecraft-data/data/pc/1.16.2/protocol.json +354 -260
  99. package/minecraft-data/data/pc/1.17/proto.yml +1796 -0
  100. package/minecraft-data/data/pc/1.17/protocol.json +5 -5
  101. package/minecraft-data/data/pc/1.17.1/proto.yml +1800 -0
  102. package/minecraft-data/data/pc/1.17.1/protocol.json +5 -5
  103. package/minecraft-data/data/pc/1.18/proto.yml +1836 -0
  104. package/minecraft-data/data/pc/1.18/protocol.json +5 -5
  105. package/minecraft-data/data/pc/1.18.2/proto.yml +1836 -0
  106. package/minecraft-data/data/pc/1.18.2/protocol.json +5 -5
  107. package/minecraft-data/data/pc/1.19/proto.yml +1990 -0
  108. package/minecraft-data/data/pc/1.19/protocol.json +5 -5
  109. package/minecraft-data/data/pc/1.19.2/proto.yml +2085 -0
  110. package/minecraft-data/data/pc/1.19.2/protocol.json +5 -5
  111. package/minecraft-data/data/pc/1.19.3/proto.yml +2322 -0
  112. package/minecraft-data/data/pc/1.19.3/protocol.json +215 -119
  113. package/minecraft-data/data/pc/1.19.4/proto.yml +2413 -0
  114. package/minecraft-data/data/pc/1.20/proto.yml +2409 -0
  115. package/minecraft-data/data/pc/1.20.2/proto.yml +2508 -0
  116. package/minecraft-data/data/pc/1.20.2/protocol.json +1 -1
  117. package/minecraft-data/data/pc/1.20.3/protocol.json +1 -1
  118. package/minecraft-data/data/pc/1.7/proto.yml +922 -0
  119. package/minecraft-data/data/pc/1.7/protocol.json +1 -1
  120. package/minecraft-data/data/pc/1.8/proto.yml +1035 -0
  121. package/minecraft-data/data/pc/1.8/protocol.json +28 -8
  122. package/minecraft-data/data/pc/1.9/proto.yml +1109 -0
  123. package/minecraft-data/data/pc/1.9/protocol.json +30 -10
  124. package/minecraft-data/data/pc/1.9.1-pre2/proto.yml +1109 -0
  125. package/minecraft-data/data/pc/1.9.1-pre2/protocol.json +30 -10
  126. package/minecraft-data/data/pc/1.9.2/proto.yml +1109 -0
  127. package/minecraft-data/data/pc/1.9.2/protocol.json +30 -10
  128. package/minecraft-data/data/pc/1.9.4/proto.yml +1102 -0
  129. package/minecraft-data/data/pc/1.9.4/protocol.json +34 -13
  130. package/minecraft-data/data/pc/15w40b/proto.yml +1070 -0
  131. package/minecraft-data/data/pc/15w40b/protocol.json +107 -87
  132. package/minecraft-data/data/pc/16w20a/proto.yml +1102 -0
  133. package/minecraft-data/data/pc/16w20a/protocol.json +34 -13
  134. package/minecraft-data/data/pc/16w35a/proto.yml +1102 -0
  135. package/minecraft-data/data/pc/16w35a/protocol.json +34 -13
  136. package/minecraft-data/data/pc/17w15a/proto.yml +1165 -0
  137. package/minecraft-data/data/pc/17w15a/protocol.json +44 -23
  138. package/minecraft-data/data/pc/17w18b/proto.yml +1163 -0
  139. package/minecraft-data/data/pc/17w18b/protocol.json +52 -31
  140. package/minecraft-data/data/pc/17w50a/proto.yml +1418 -0
  141. package/minecraft-data/data/pc/17w50a/protocol.json +535 -346
  142. package/minecraft-data/data/pc/20w13b/proto.yml +1732 -0
  143. package/minecraft-data/data/pc/20w13b/protocol.json +315 -235
  144. package/minecraft-data/data/pc/21w07a/proto.yml +1785 -0
  145. package/minecraft-data/data/pc/21w07a/protocol.json +408 -295
  146. package/minecraft-data/data/pc/common/protocolVersions.json +64 -0
  147. package/minecraft-data/data/pc/latest/proto.yml +2762 -0
  148. package/minecraft-data/doc/add-data-new-version.md +3 -0
  149. package/minecraft-data/doc/history.md +11 -0
  150. package/minecraft-data/doc/protocol.md +154 -0
  151. package/minecraft-data/tools/js/compileProtocol.js +67 -45
  152. package/minecraft-data/tools/js/convertMcpcProtocolJsonToYaml.js +65 -0
  153. package/minecraft-data/tools/js/incrementVersion.js +63 -48
  154. package/minecraft-data/tools/js/package.json +3 -1
  155. package/minecraft-data/tools/js/test/protocolSync.js +1 -1
  156. package/package.json +3 -3
  157. package/tsconfig.json +1 -1
  158. package/typings/index-template.d.ts +30 -24
  159. package/typings/test-typings.ts +5 -0
@@ -0,0 +1,1776 @@
1
+ !version: 1.16.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
+ 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
+ chunkCoordinates: [
699
+ "bitfield",
700
+ [
701
+ {
702
+ "name": "x",
703
+ "size": 22,
704
+ "signed": true
705
+ },
706
+ {
707
+ "name": "z",
708
+ "size": 22,
709
+ "signed": true
710
+ },
711
+ {
712
+ "name": "y",
713
+ "size": 20,
714
+ "signed": false
715
+ }
716
+ ]
717
+ ]
718
+ notTrustEdges: bool
719
+ records: varlong[]varint
720
+ packet_transaction:
721
+ windowId: i8
722
+ action: i16
723
+ accepted: bool
724
+ packet_close_window:
725
+ windowId: u8
726
+ packet_open_window:
727
+ windowId: varint
728
+ inventoryType: varint
729
+ windowTitle: string
730
+ packet_window_items:
731
+ windowId: u8
732
+ items: slot[]i16
733
+ packet_craft_progress_bar:
734
+ windowId: u8
735
+ property: i16
736
+ value: i16
737
+ packet_set_slot:
738
+ windowId: i8
739
+ slot: i16
740
+ item: slot
741
+ packet_set_cooldown:
742
+ itemID: varint
743
+ cooldownTicks: varint
744
+ packet_custom_payload:
745
+ channel: string
746
+ data: restBuffer
747
+ packet_named_sound_effect:
748
+ soundName: string
749
+ soundCategory: varint
750
+ x: i32
751
+ y: i32
752
+ z: i32
753
+ volume: f32
754
+ pitch: f32
755
+ packet_kick_disconnect:
756
+ reason: string
757
+ packet_entity_status:
758
+ entityId: i32
759
+ entityStatus: i8
760
+ packet_explosion:
761
+ x: f32
762
+ y: f32
763
+ z: f32
764
+ radius: f32
765
+ affectedBlockOffsets: []i32
766
+ x: i8
767
+ y: i8
768
+ z: i8
769
+ playerMotionX: f32
770
+ playerMotionY: f32
771
+ playerMotionZ: f32
772
+ packet_unload_chunk:
773
+ chunkX: i32
774
+ chunkZ: i32
775
+ packet_game_state_change:
776
+ reason: u8
777
+ gameMode: f32
778
+ packet_open_horse_window:
779
+ windowId: u8
780
+ nbSlots: varint
781
+ entityId: i32
782
+ packet_keep_alive:
783
+ keepAliveId: i64
784
+ packet_map_chunk:
785
+ x: i32
786
+ z: i32
787
+ groundUp: bool
788
+ bitMap: varint
789
+ heightmaps: nbt
790
+ biomes: groundUp ?
791
+ if false: void
792
+ if true: varint[]varint
793
+ chunkData: [
794
+ "buffer",
795
+ {
796
+ "countType": "varint"
797
+ }
798
+ ]
799
+ blockEntities: nbt[]varint
800
+ packet_world_event:
801
+ effectId: i32
802
+ location: position
803
+ data: i32
804
+ global: bool
805
+ packet_world_particles:
806
+ particleId: i32
807
+ longDistance: bool
808
+ x: f64
809
+ y: f64
810
+ z: f64
811
+ offsetX: f32
812
+ offsetY: f32
813
+ offsetZ: f32
814
+ particleData: f32
815
+ particles: i32
816
+ data: [
817
+ "particleData",
818
+ {
819
+ "compareTo": "particleId"
820
+ }
821
+ ]
822
+ packet_update_light:
823
+ chunkX: varint
824
+ chunkZ: varint
825
+ trustEdges: bool
826
+ skyLightMask: varint
827
+ blockLightMask: varint
828
+ emptySkyLightMask: varint
829
+ emptyBlockLightMask: varint
830
+ data: restBuffer
831
+ packet_login:
832
+ entityId: i32
833
+ isHardcore: bool
834
+ gameMode: u8
835
+ previousGameMode: u8
836
+ worldNames: string[]varint
837
+ dimensionCodec: nbt
838
+ dimension: nbt
839
+ worldName: string
840
+ hashedSeed: i64
841
+ maxPlayers: varint
842
+ viewDistance: varint
843
+ reducedDebugInfo: bool
844
+ enableRespawnScreen: bool
845
+ isDebug: bool
846
+ isFlat: bool
847
+ packet_map:
848
+ itemDamage: varint
849
+ scale: i8
850
+ trackingPosition: bool
851
+ locked: bool
852
+ icons: []varint
853
+ type: varint
854
+ x: i8
855
+ z: i8
856
+ direction: u8
857
+ displayName?: string
858
+ columns: i8
859
+ rows: columns ?
860
+ if 0: void
861
+ default: i8
862
+ x: columns ?
863
+ if 0: void
864
+ default: i8
865
+ y: columns ?
866
+ if 0: void
867
+ default: i8
868
+ data: columns ?
869
+ if 0: void
870
+ default: [
871
+ "buffer",
872
+ {
873
+ "countType": "varint"
874
+ }
875
+ ]
876
+ packet_trade_list:
877
+ windowId: varint
878
+ trades: []u8
879
+ inputItem1: slot
880
+ outputItem: slot
881
+ inputItem2?: slot
882
+ tradeDisabled: bool
883
+ nbTradeUses: i32
884
+ maximumNbTradeUses: i32
885
+ xp: i32
886
+ specialPrice: i32
887
+ priceMultiplier: f32
888
+ demand: i32
889
+ villagerLevel: varint
890
+ experience: varint
891
+ isRegularVillager: bool
892
+ canRestock: bool
893
+ packet_rel_entity_move:
894
+ entityId: varint
895
+ dX: i16
896
+ dY: i16
897
+ dZ: i16
898
+ onGround: bool
899
+ packet_entity_move_look:
900
+ entityId: varint
901
+ dX: i16
902
+ dY: i16
903
+ dZ: i16
904
+ yaw: i8
905
+ pitch: i8
906
+ onGround: bool
907
+ packet_entity_look:
908
+ entityId: varint
909
+ yaw: i8
910
+ pitch: i8
911
+ onGround: bool
912
+ packet_entity:
913
+ entityId: varint
914
+ packet_vehicle_move:
915
+ x: f64
916
+ y: f64
917
+ z: f64
918
+ yaw: f32
919
+ pitch: f32
920
+ packet_open_book:
921
+ hand: varint
922
+ packet_open_sign_entity:
923
+ location: position
924
+ packet_craft_recipe_response:
925
+ windowId: i8
926
+ recipe: string
927
+ packet_abilities:
928
+ flags: i8
929
+ flyingSpeed: f32
930
+ walkingSpeed: f32
931
+ packet_combat_event:
932
+ event: varint
933
+ duration: event ?
934
+ if 1: varint
935
+ default: void
936
+ playerId: event ?
937
+ if 2: varint
938
+ default: void
939
+ entityId: event ?
940
+ if 1: i32
941
+ if 2: i32
942
+ default: void
943
+ message: event ?
944
+ if 2: string
945
+ default: void
946
+ packet_player_info:
947
+ action: varint
948
+ data: []varint
949
+ UUID: UUID
950
+ name: ../action ?
951
+ if 0: string
952
+ default: void
953
+ properties: ../action ?
954
+ if 0: []varint
955
+ name: string
956
+ value: string
957
+ signature?: string
958
+ default: void
959
+ gamemode: ../action ?
960
+ if 0: varint
961
+ if 1: varint
962
+ default: void
963
+ ping: ../action ?
964
+ if 0: varint
965
+ if 2: varint
966
+ default: void
967
+ displayName: ../action ?
968
+ if 0: [
969
+ "option",
970
+ "string"
971
+ ]
972
+ if 3: [
973
+ "option",
974
+ "string"
975
+ ]
976
+ default: void
977
+ packet_position:
978
+ x: f64
979
+ y: f64
980
+ z: f64
981
+ yaw: f32
982
+ pitch: f32
983
+ flags: i8
984
+ teleportId: varint
985
+ packet_unlock_recipes:
986
+ action: varint
987
+ craftingBookOpen: bool
988
+ filteringCraftable: bool
989
+ smeltingBookOpen: bool
990
+ filteringSmeltable: bool
991
+ blastFurnaceOpen: bool
992
+ filteringBlastFurnace: bool
993
+ smokerBookOpen: bool
994
+ filteringSmoker: bool
995
+ recipes1: string[]varint
996
+ recipes2: action ?
997
+ if 0: string[]varint
998
+ default: void
999
+ packet_entity_destroy:
1000
+ entityIds: varint[]varint
1001
+ packet_remove_entity_effect:
1002
+ entityId: varint
1003
+ effectId: i8
1004
+ packet_resource_pack_send:
1005
+ url: string
1006
+ hash: string
1007
+ packet_respawn:
1008
+ dimension: nbt
1009
+ worldName: string
1010
+ hashedSeed: i64
1011
+ gamemode: u8
1012
+ previousGamemode: u8
1013
+ isDebug: bool
1014
+ isFlat: bool
1015
+ copyMetadata: bool
1016
+ packet_entity_head_rotation:
1017
+ entityId: varint
1018
+ headYaw: i8
1019
+ packet_world_border:
1020
+ action: varint
1021
+ radius: action ?
1022
+ if 0: f64
1023
+ default: void
1024
+ x: action ?
1025
+ if 2: f64
1026
+ if 3: f64
1027
+ default: void
1028
+ z: action ?
1029
+ if 2: f64
1030
+ if 3: f64
1031
+ default: void
1032
+ old_radius: action ?
1033
+ if 1: f64
1034
+ if 3: f64
1035
+ default: void
1036
+ new_radius: action ?
1037
+ if 1: f64
1038
+ if 3: f64
1039
+ default: void
1040
+ speed: action ?
1041
+ if 1: varlong
1042
+ if 3: varlong
1043
+ default: void
1044
+ portalBoundary: action ?
1045
+ if 3: varint
1046
+ default: void
1047
+ warning_time: action ?
1048
+ if 3: varint
1049
+ if 4: varint
1050
+ default: void
1051
+ warning_blocks: action ?
1052
+ if 3: varint
1053
+ if 5: varint
1054
+ default: void
1055
+ packet_camera:
1056
+ cameraId: varint
1057
+ packet_held_item_slot:
1058
+ slot: i8
1059
+ packet_update_view_position:
1060
+ chunkX: varint
1061
+ chunkZ: varint
1062
+ packet_update_view_distance:
1063
+ viewDistance: varint
1064
+ packet_scoreboard_display_objective:
1065
+ position: i8
1066
+ name: string
1067
+ packet_entity_metadata:
1068
+ entityId: varint
1069
+ metadata: entityMetadata
1070
+ packet_attach_entity:
1071
+ entityId: i32
1072
+ vehicleId: i32
1073
+ packet_entity_velocity:
1074
+ entityId: varint
1075
+ velocityX: i16
1076
+ velocityY: i16
1077
+ velocityZ: i16
1078
+ packet_entity_equipment:
1079
+ entityId: varint
1080
+ equipments: [
1081
+ "topBitSetTerminatedArray",
1082
+ {
1083
+ "type": [
1084
+ "container",
1085
+ [
1086
+ {
1087
+ "name": "slot",
1088
+ "type": "i8"
1089
+ },
1090
+ {
1091
+ "name": "item",
1092
+ "type": "slot"
1093
+ }
1094
+ ]
1095
+ ]
1096
+ }
1097
+ ]
1098
+ packet_experience:
1099
+ experienceBar: f32
1100
+ level: varint
1101
+ totalExperience: varint
1102
+ packet_update_health:
1103
+ health: f32
1104
+ food: varint
1105
+ foodSaturation: f32
1106
+ packet_scoreboard_objective:
1107
+ name: string
1108
+ action: i8
1109
+ displayText: action ?
1110
+ if 0: string
1111
+ if 2: string
1112
+ default: void
1113
+ type: action ?
1114
+ if 0: varint
1115
+ if 2: varint
1116
+ default: void
1117
+ packet_set_passengers:
1118
+ entityId: varint
1119
+ passengers: varint[]varint
1120
+ packet_teams:
1121
+ team: string
1122
+ mode: i8
1123
+ name: mode ?
1124
+ if 0: string
1125
+ if 2: string
1126
+ default: void
1127
+ friendlyFire: mode ?
1128
+ if 0: i8
1129
+ if 2: i8
1130
+ default: void
1131
+ nameTagVisibility: mode ?
1132
+ if 0: string
1133
+ if 2: string
1134
+ default: void
1135
+ collisionRule: mode ?
1136
+ if 0: string
1137
+ if 2: string
1138
+ default: void
1139
+ formatting: mode ?
1140
+ if 0: varint
1141
+ if 2: varint
1142
+ default: void
1143
+ prefix: mode ?
1144
+ if 0: string
1145
+ if 2: string
1146
+ default: void
1147
+ suffix: mode ?
1148
+ if 0: string
1149
+ if 2: string
1150
+ default: void
1151
+ players: mode ?
1152
+ if 0: string[]varint
1153
+ if 3: string[]varint
1154
+ if 4: string[]varint
1155
+ default: void
1156
+ packet_scoreboard_score:
1157
+ itemName: string
1158
+ action: varint
1159
+ scoreName: string
1160
+ value: action ?
1161
+ if 1: void
1162
+ default: varint
1163
+ packet_spawn_position:
1164
+ location: position
1165
+ packet_update_time:
1166
+ age: i64
1167
+ time: i64
1168
+ packet_title:
1169
+ action: varint
1170
+ text: action ?
1171
+ if 0: string
1172
+ if 1: string
1173
+ if 2: string
1174
+ default: void
1175
+ fadeIn: action ?
1176
+ if 3: i32
1177
+ default: void
1178
+ stay: action ?
1179
+ if 3: i32
1180
+ default: void
1181
+ fadeOut: action ?
1182
+ if 3: i32
1183
+ default: void
1184
+ packet_entity_sound_effect:
1185
+ soundId: varint
1186
+ soundCategory: varint
1187
+ entityId: varint
1188
+ volume: f32
1189
+ pitch: f32
1190
+ packet_stop_sound:
1191
+ flags: i8
1192
+ source: flags ?
1193
+ if 1: varint
1194
+ if 3: varint
1195
+ default: void
1196
+ sound: flags ?
1197
+ if 2: string
1198
+ if 3: string
1199
+ default: void
1200
+ packet_sound_effect:
1201
+ soundId: varint
1202
+ soundCategory: varint
1203
+ x: i32
1204
+ y: i32
1205
+ z: i32
1206
+ volume: f32
1207
+ pitch: f32
1208
+ packet_playerlist_header:
1209
+ header: string
1210
+ footer: string
1211
+ packet_collect:
1212
+ collectedEntityId: varint
1213
+ collectorEntityId: varint
1214
+ pickupItemCount: varint
1215
+ packet_entity_teleport:
1216
+ entityId: varint
1217
+ x: f64
1218
+ y: f64
1219
+ z: f64
1220
+ yaw: i8
1221
+ pitch: i8
1222
+ onGround: bool
1223
+ packet_entity_update_attributes:
1224
+ entityId: varint
1225
+ properties: []i32
1226
+ key: string
1227
+ value: f64
1228
+ modifiers: []varint
1229
+ uuid: UUID
1230
+ amount: f64
1231
+ operation: i8
1232
+ packet_entity_effect:
1233
+ entityId: varint
1234
+ effectId: i8
1235
+ amplifier: i8
1236
+ duration: varint
1237
+ hideParticles: i8
1238
+ packet_select_advancement_tab:
1239
+ id?: string
1240
+ packet_declare_recipes:
1241
+ recipes: []varint
1242
+ type: string
1243
+ recipeId: string
1244
+ data: type ?
1245
+ if minecraft:crafting_shapeless:
1246
+ group: string
1247
+ ingredients: ingredient[]varint
1248
+ result: slot
1249
+ if minecraft:crafting_shaped:
1250
+ width: varint
1251
+ height: varint
1252
+ group: string
1253
+ ingredients: []$height
1254
+ _: ingredient[]$width
1255
+ result: slot
1256
+ if minecraft:crafting_special_armordye: void
1257
+ if minecraft:crafting_special_bookcloning: void
1258
+ if minecraft:crafting_special_mapcloning: void
1259
+ if minecraft:crafting_special_mapextending: void
1260
+ if minecraft:crafting_special_firework_rocket: void
1261
+ if minecraft:crafting_special_firework_star: void
1262
+ if minecraft:crafting_special_firework_star_fade: void
1263
+ if minecraft:crafting_special_repairitem: void
1264
+ if minecraft:crafting_special_tippedarrow: void
1265
+ if minecraft:crafting_special_bannerduplicate: void
1266
+ if minecraft:crafting_special_banneraddpattern: void
1267
+ if minecraft:crafting_special_shielddecoration: void
1268
+ if minecraft:crafting_special_shulkerboxcoloring: void
1269
+ if minecraft:crafting_special_suspiciousstew: void
1270
+ if minecraft:smelting: minecraft_smelting_format
1271
+ if minecraft:blasting: minecraft_smelting_format
1272
+ if minecraft:smoking: minecraft_smelting_format
1273
+ if minecraft:campfire_cooking: minecraft_smelting_format
1274
+ if minecraft:stonecutting:
1275
+ group: string
1276
+ ingredient: ingredient
1277
+ result: slot
1278
+ if minecraft:smithing:
1279
+ base: ingredient
1280
+ addition: ingredient
1281
+ result: slot
1282
+ packet_tags:
1283
+ blockTags: tags
1284
+ itemTags: tags
1285
+ fluidTags: tags
1286
+ entityTags: tags
1287
+ packet_acknowledge_player_digging:
1288
+ location: position
1289
+ block: varint
1290
+ status: varint
1291
+ successful: bool
1292
+ packet:
1293
+ name: varint =>
1294
+ 0x00: spawn_entity
1295
+ 0x01: spawn_entity_experience_orb
1296
+ 0x02: spawn_entity_living
1297
+ 0x03: spawn_entity_painting
1298
+ 0x04: named_entity_spawn
1299
+ 0x05: animation
1300
+ 0x06: statistics
1301
+ 0x07: acknowledge_player_digging
1302
+ 0x08: block_break_animation
1303
+ 0x09: tile_entity_data
1304
+ 0x0a: block_action
1305
+ 0x0b: block_change
1306
+ 0x0c: boss_bar
1307
+ 0x0d: difficulty
1308
+ 0x0e: chat
1309
+ 0x0f: tab_complete
1310
+ 0x10: declare_commands
1311
+ 0x11: transaction
1312
+ 0x12: close_window
1313
+ 0x13: window_items
1314
+ 0x14: craft_progress_bar
1315
+ 0x15: set_slot
1316
+ 0x16: set_cooldown
1317
+ 0x17: custom_payload
1318
+ 0x18: named_sound_effect
1319
+ 0x19: kick_disconnect
1320
+ 0x1a: entity_status
1321
+ 0x1b: explosion
1322
+ 0x1c: unload_chunk
1323
+ 0x1d: game_state_change
1324
+ 0x1e: open_horse_window
1325
+ 0x1f: keep_alive
1326
+ 0x20: map_chunk
1327
+ 0x21: world_event
1328
+ 0x22: world_particles
1329
+ 0x23: update_light
1330
+ 0x24: login
1331
+ 0x25: map
1332
+ 0x26: trade_list
1333
+ 0x27: rel_entity_move
1334
+ 0x28: entity_move_look
1335
+ 0x29: entity_look
1336
+ 0x2a: entity
1337
+ 0x2b: vehicle_move
1338
+ 0x2c: open_book
1339
+ 0x2d: open_window
1340
+ 0x2e: open_sign_entity
1341
+ 0x2f: craft_recipe_response
1342
+ 0x30: abilities
1343
+ 0x31: combat_event
1344
+ 0x32: player_info
1345
+ 0x33: face_player
1346
+ 0x34: position
1347
+ 0x35: unlock_recipes
1348
+ 0x36: entity_destroy
1349
+ 0x37: remove_entity_effect
1350
+ 0x38: resource_pack_send
1351
+ 0x39: respawn
1352
+ 0x3a: entity_head_rotation
1353
+ 0x3b: multi_block_change
1354
+ 0x3c: select_advancement_tab
1355
+ 0x3d: world_border
1356
+ 0x3e: camera
1357
+ 0x3f: held_item_slot
1358
+ 0x40: update_view_position
1359
+ 0x41: update_view_distance
1360
+ 0x42: spawn_position
1361
+ 0x43: scoreboard_display_objective
1362
+ 0x44: entity_metadata
1363
+ 0x45: attach_entity
1364
+ 0x46: entity_velocity
1365
+ 0x47: entity_equipment
1366
+ 0x48: experience
1367
+ 0x49: update_health
1368
+ 0x4a: scoreboard_objective
1369
+ 0x4b: set_passengers
1370
+ 0x4c: teams
1371
+ 0x4d: scoreboard_score
1372
+ 0x4e: update_time
1373
+ 0x4f: title
1374
+ 0x50: entity_sound_effect
1375
+ 0x51: sound_effect
1376
+ 0x52: stop_sound
1377
+ 0x53: playerlist_header
1378
+ 0x54: nbt_query_response
1379
+ 0x55: collect
1380
+ 0x56: entity_teleport
1381
+ 0x57: advancements
1382
+ 0x58: entity_update_attributes
1383
+ 0x59: entity_effect
1384
+ 0x5a: declare_recipes
1385
+ 0x5b: tags
1386
+ params: name ?
1387
+ if spawn_entity: packet_spawn_entity
1388
+ if spawn_entity_experience_orb: packet_spawn_entity_experience_orb
1389
+ if spawn_entity_living: packet_spawn_entity_living
1390
+ if spawn_entity_painting: packet_spawn_entity_painting
1391
+ if named_entity_spawn: packet_named_entity_spawn
1392
+ if animation: packet_animation
1393
+ if statistics: packet_statistics
1394
+ if advancements: packet_advancements
1395
+ if block_break_animation: packet_block_break_animation
1396
+ if tile_entity_data: packet_tile_entity_data
1397
+ if block_action: packet_block_action
1398
+ if block_change: packet_block_change
1399
+ if boss_bar: packet_boss_bar
1400
+ if difficulty: packet_difficulty
1401
+ if tab_complete: packet_tab_complete
1402
+ if declare_commands: packet_declare_commands
1403
+ if face_player: packet_face_player
1404
+ if nbt_query_response: packet_nbt_query_response
1405
+ if chat: packet_chat
1406
+ if multi_block_change: packet_multi_block_change
1407
+ if transaction: packet_transaction
1408
+ if close_window: packet_close_window
1409
+ if open_window: packet_open_window
1410
+ if window_items: packet_window_items
1411
+ if craft_progress_bar: packet_craft_progress_bar
1412
+ if set_slot: packet_set_slot
1413
+ if set_cooldown: packet_set_cooldown
1414
+ if custom_payload: packet_custom_payload
1415
+ if named_sound_effect: packet_named_sound_effect
1416
+ if kick_disconnect: packet_kick_disconnect
1417
+ if entity_status: packet_entity_status
1418
+ if explosion: packet_explosion
1419
+ if unload_chunk: packet_unload_chunk
1420
+ if game_state_change: packet_game_state_change
1421
+ if open_horse_window: packet_open_horse_window
1422
+ if keep_alive: packet_keep_alive
1423
+ if map_chunk: packet_map_chunk
1424
+ if world_event: packet_world_event
1425
+ if world_particles: packet_world_particles
1426
+ if update_light: packet_update_light
1427
+ if login: packet_login
1428
+ if map: packet_map
1429
+ if trade_list: packet_trade_list
1430
+ if rel_entity_move: packet_rel_entity_move
1431
+ if entity_move_look: packet_entity_move_look
1432
+ if entity_look: packet_entity_look
1433
+ if entity: packet_entity
1434
+ if vehicle_move: packet_vehicle_move
1435
+ if open_book: packet_open_book
1436
+ if open_sign_entity: packet_open_sign_entity
1437
+ if craft_recipe_response: packet_craft_recipe_response
1438
+ if abilities: packet_abilities
1439
+ if combat_event: packet_combat_event
1440
+ if player_info: packet_player_info
1441
+ if position: packet_position
1442
+ if unlock_recipes: packet_unlock_recipes
1443
+ if entity_destroy: packet_entity_destroy
1444
+ if remove_entity_effect: packet_remove_entity_effect
1445
+ if resource_pack_send: packet_resource_pack_send
1446
+ if respawn: packet_respawn
1447
+ if entity_update_attributes: packet_entity_update_attributes
1448
+ if world_border: packet_world_border
1449
+ if camera: packet_camera
1450
+ if held_item_slot: packet_held_item_slot
1451
+ if update_view_position: packet_update_view_position
1452
+ if update_view_distance: packet_update_view_distance
1453
+ if scoreboard_display_objective: packet_scoreboard_display_objective
1454
+ if entity_metadata: packet_entity_metadata
1455
+ if attach_entity: packet_attach_entity
1456
+ if entity_velocity: packet_entity_velocity
1457
+ if entity_equipment: packet_entity_equipment
1458
+ if experience: packet_experience
1459
+ if update_health: packet_update_health
1460
+ if scoreboard_objective: packet_scoreboard_objective
1461
+ if set_passengers: packet_set_passengers
1462
+ if teams: packet_teams
1463
+ if scoreboard_score: packet_scoreboard_score
1464
+ if spawn_position: packet_spawn_position
1465
+ if update_time: packet_update_time
1466
+ if title: packet_title
1467
+ if entity_sound_effect: packet_entity_sound_effect
1468
+ if stop_sound: packet_stop_sound
1469
+ if sound_effect: packet_sound_effect
1470
+ if playerlist_header: packet_playerlist_header
1471
+ if collect: packet_collect
1472
+ if entity_teleport: packet_entity_teleport
1473
+ if entity_head_rotation: packet_entity_head_rotation
1474
+ if entity_effect: packet_entity_effect
1475
+ if select_advancement_tab: packet_select_advancement_tab
1476
+ if declare_recipes: packet_declare_recipes
1477
+ if tags: packet_tags
1478
+ if acknowledge_player_digging: packet_acknowledge_player_digging
1479
+
1480
+ ^play.toServer.types:
1481
+ packet_teleport_confirm:
1482
+ teleportId: varint
1483
+ packet_query_block_nbt:
1484
+ transactionId: varint
1485
+ location: position
1486
+ packet_set_difficulty:
1487
+ newDifficulty: u8
1488
+ packet_edit_book:
1489
+ new_book: slot
1490
+ signing: bool
1491
+ hand: varint
1492
+ packet_query_entity_nbt:
1493
+ transactionId: varint
1494
+ entityId: varint
1495
+ packet_pick_item:
1496
+ slot: varint
1497
+ packet_name_item:
1498
+ name: string
1499
+ packet_select_trade:
1500
+ slot: varint
1501
+ packet_set_beacon_effect:
1502
+ primary_effect: varint
1503
+ secondary_effect: varint
1504
+ packet_update_command_block:
1505
+ location: position
1506
+ command: string
1507
+ mode: varint
1508
+ flags: u8
1509
+ packet_update_command_block_minecart:
1510
+ entityId: varint
1511
+ command: string
1512
+ track_output: bool
1513
+ packet_update_structure_block:
1514
+ location: position
1515
+ action: varint
1516
+ mode: varint
1517
+ name: string
1518
+ offset_x: i8
1519
+ offset_y: i8
1520
+ offset_z: i8
1521
+ size_x: i8
1522
+ size_y: i8
1523
+ size_z: i8
1524
+ mirror: varint
1525
+ rotation: varint
1526
+ metadata: string
1527
+ integrity: f32
1528
+ seed: varlong
1529
+ flags: u8
1530
+ packet_tab_complete:
1531
+ transactionId: varint
1532
+ text: string
1533
+ packet_chat:
1534
+ message: string
1535
+ packet_client_command:
1536
+ actionId: varint
1537
+ packet_settings:
1538
+ locale: string
1539
+ viewDistance: i8
1540
+ chatFlags: varint
1541
+ chatColors: bool
1542
+ skinParts: u8
1543
+ mainHand: varint
1544
+ packet_transaction:
1545
+ windowId: i8
1546
+ action: i16
1547
+ accepted: bool
1548
+ packet_enchant_item:
1549
+ windowId: i8
1550
+ enchantment: i8
1551
+ packet_window_click:
1552
+ windowId: u8
1553
+ slot: i16
1554
+ mouseButton: i8
1555
+ action: i16
1556
+ mode: i8
1557
+ item: slot
1558
+ packet_close_window:
1559
+ windowId: u8
1560
+ packet_custom_payload:
1561
+ channel: string
1562
+ data: restBuffer
1563
+ packet_use_entity:
1564
+ target: varint
1565
+ mouse: varint
1566
+ x: mouse ?
1567
+ if 2: f32
1568
+ default: void
1569
+ y: mouse ?
1570
+ if 2: f32
1571
+ default: void
1572
+ z: mouse ?
1573
+ if 2: f32
1574
+ default: void
1575
+ hand: mouse ?
1576
+ if 0: varint
1577
+ if 2: varint
1578
+ default: void
1579
+ sneaking: bool
1580
+ packet_generate_structure:
1581
+ location: position
1582
+ levels: varint
1583
+ keepJigsaws: bool
1584
+ packet_keep_alive:
1585
+ keepAliveId: i64
1586
+ packet_lock_difficulty:
1587
+ locked: bool
1588
+ packet_position:
1589
+ x: f64
1590
+ y: f64
1591
+ z: f64
1592
+ onGround: bool
1593
+ packet_position_look:
1594
+ x: f64
1595
+ y: f64
1596
+ z: f64
1597
+ yaw: f32
1598
+ pitch: f32
1599
+ onGround: bool
1600
+ packet_look:
1601
+ yaw: f32
1602
+ pitch: f32
1603
+ onGround: bool
1604
+ packet_flying:
1605
+ onGround: bool
1606
+ packet_vehicle_move:
1607
+ x: f64
1608
+ y: f64
1609
+ z: f64
1610
+ yaw: f32
1611
+ pitch: f32
1612
+ packet_steer_boat:
1613
+ leftPaddle: bool
1614
+ rightPaddle: bool
1615
+ packet_craft_recipe_request:
1616
+ windowId: i8
1617
+ recipe: string
1618
+ makeAll: bool
1619
+ packet_abilities:
1620
+ flags: i8
1621
+ packet_block_dig:
1622
+ status: varint
1623
+ location: position
1624
+ face: i8
1625
+ packet_entity_action:
1626
+ entityId: varint
1627
+ actionId: varint
1628
+ jumpBoost: varint
1629
+ packet_steer_vehicle:
1630
+ sideways: f32
1631
+ forward: f32
1632
+ jump: u8
1633
+ packet_displayed_recipe:
1634
+ recipeId: string
1635
+ packet_recipe_book:
1636
+ bookId: varint
1637
+ bookOpen: bool
1638
+ filterActive: bool
1639
+ packet_resource_pack_receive:
1640
+ result: varint
1641
+ packet_held_item_slot:
1642
+ slotId: i16
1643
+ packet_set_creative_slot:
1644
+ slot: i16
1645
+ item: slot
1646
+ packet_update_jigsaw_block:
1647
+ location: position
1648
+ name: string
1649
+ target: string
1650
+ pool: string
1651
+ finalState: string
1652
+ jointType: string
1653
+ packet_update_sign:
1654
+ location: position
1655
+ text1: string
1656
+ text2: string
1657
+ text3: string
1658
+ text4: string
1659
+ packet_arm_animation:
1660
+ hand: varint
1661
+ packet_spectate:
1662
+ target: UUID
1663
+ packet_block_place:
1664
+ hand: varint
1665
+ location: position
1666
+ direction: varint
1667
+ cursorX: f32
1668
+ cursorY: f32
1669
+ cursorZ: f32
1670
+ insideBlock: bool
1671
+ packet_use_item:
1672
+ hand: varint
1673
+ packet_advancement_tab:
1674
+ action: varint
1675
+ tabId: action ?
1676
+ if 0: string
1677
+ if 1: void
1678
+ packet:
1679
+ name: varint =>
1680
+ 0x00: teleport_confirm
1681
+ 0x01: query_block_nbt
1682
+ 0x02: set_difficulty
1683
+ 0x03: chat
1684
+ 0x04: client_command
1685
+ 0x05: settings
1686
+ 0x06: tab_complete
1687
+ 0x07: transaction
1688
+ 0x08: enchant_item
1689
+ 0x09: window_click
1690
+ 0x0a: close_window
1691
+ 0x0b: custom_payload
1692
+ 0x0c: edit_book
1693
+ 0x0d: query_entity_nbt
1694
+ 0x0e: use_entity
1695
+ 0x0f: generate_structure
1696
+ 0x10: keep_alive
1697
+ 0x11: lock_difficulty
1698
+ 0x12: position
1699
+ 0x13: position_look
1700
+ 0x14: look
1701
+ 0x15: flying
1702
+ 0x16: vehicle_move
1703
+ 0x17: steer_boat
1704
+ 0x18: pick_item
1705
+ 0x19: craft_recipe_request
1706
+ 0x1a: abilities
1707
+ 0x1b: block_dig
1708
+ 0x1c: entity_action
1709
+ 0x1d: steer_vehicle
1710
+ 0x1e: recipe_book
1711
+ 0x1f: displayed_recipe
1712
+ 0x20: name_item
1713
+ 0x21: resource_pack_receive
1714
+ 0x22: advancement_tab
1715
+ 0x23: select_trade
1716
+ 0x24: set_beacon_effect
1717
+ 0x25: held_item_slot
1718
+ 0x26: update_command_block
1719
+ 0x27: update_command_block_minecart
1720
+ 0x28: set_creative_slot
1721
+ 0x29: update_jigsaw_block
1722
+ 0x2a: update_structure_block
1723
+ 0x2b: update_sign
1724
+ 0x2c: arm_animation
1725
+ 0x2d: spectate
1726
+ 0x2e: block_place
1727
+ 0x2f: use_item
1728
+ params: name ?
1729
+ if teleport_confirm: packet_teleport_confirm
1730
+ if query_block_nbt: packet_query_block_nbt
1731
+ if set_difficulty: packet_set_difficulty
1732
+ if edit_book: packet_edit_book
1733
+ if query_entity_nbt: packet_query_entity_nbt
1734
+ if pick_item: packet_pick_item
1735
+ if name_item: packet_name_item
1736
+ if select_trade: packet_select_trade
1737
+ if set_beacon_effect: packet_set_beacon_effect
1738
+ if update_command_block: packet_update_command_block
1739
+ if update_command_block_minecart: packet_update_command_block_minecart
1740
+ if update_structure_block: packet_update_structure_block
1741
+ if tab_complete: packet_tab_complete
1742
+ if chat: packet_chat
1743
+ if client_command: packet_client_command
1744
+ if settings: packet_settings
1745
+ if transaction: packet_transaction
1746
+ if enchant_item: packet_enchant_item
1747
+ if window_click: packet_window_click
1748
+ if close_window: packet_close_window
1749
+ if custom_payload: packet_custom_payload
1750
+ if use_entity: packet_use_entity
1751
+ if generate_structure: packet_generate_structure
1752
+ if keep_alive: packet_keep_alive
1753
+ if lock_difficulty: packet_lock_difficulty
1754
+ if position: packet_position
1755
+ if position_look: packet_position_look
1756
+ if look: packet_look
1757
+ if flying: packet_flying
1758
+ if vehicle_move: packet_vehicle_move
1759
+ if steer_boat: packet_steer_boat
1760
+ if craft_recipe_request: packet_craft_recipe_request
1761
+ if abilities: packet_abilities
1762
+ if block_dig: packet_block_dig
1763
+ if entity_action: packet_entity_action
1764
+ if steer_vehicle: packet_steer_vehicle
1765
+ if displayed_recipe: packet_displayed_recipe
1766
+ if recipe_book: packet_recipe_book
1767
+ if resource_pack_receive: packet_resource_pack_receive
1768
+ if held_item_slot: packet_held_item_slot
1769
+ if set_creative_slot: packet_set_creative_slot
1770
+ if update_jigsaw_block: packet_update_jigsaw_block
1771
+ if update_sign: packet_update_sign
1772
+ if arm_animation: packet_arm_animation
1773
+ if spectate: packet_spectate
1774
+ if block_place: packet_block_place
1775
+ if use_item: packet_use_item
1776
+ if advancement_tab: packet_advancement_tab