minecraft-data 3.68.0 → 3.70.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 (31) hide show
  1. package/data.js +54 -5
  2. package/doc/history.md +8 -0
  3. package/index.d.ts +17 -2
  4. package/minecraft-data/README.md +10 -1
  5. package/minecraft-data/data/bedrock/1.21.2/protocol.json +13 -0
  6. package/minecraft-data/data/bedrock/1.21.20/proto.yml +4263 -0
  7. package/minecraft-data/data/bedrock/1.21.20/protocol.json +100 -8
  8. package/minecraft-data/data/bedrock/1.21.20/types.yml +2406 -0
  9. package/minecraft-data/data/bedrock/1.21.30/protocol.json +12689 -0
  10. package/minecraft-data/data/bedrock/1.21.30/version.json +6 -0
  11. package/minecraft-data/data/bedrock/common/protocolVersions.json +6 -0
  12. package/minecraft-data/data/bedrock/common/versions.json +2 -1
  13. package/minecraft-data/data/bedrock/latest/proto.yml +83 -11
  14. package/minecraft-data/data/bedrock/latest/types.yml +16 -14
  15. package/minecraft-data/data/dataPaths.json +55 -6
  16. package/minecraft-data/data/pc/1.20.3/proto.yml +2762 -0
  17. package/minecraft-data/data/pc/1.20.5/enchantments.json +42 -42
  18. package/minecraft-data/data/pc/1.20.5/items.json +0 -248
  19. package/minecraft-data/data/pc/1.20.5/loginPacket.json +8264 -0
  20. package/minecraft-data/data/pc/1.20.5/protocol.json +8898 -0
  21. package/minecraft-data/data/pc/1.20.5/recipes.json +15144 -0
  22. package/minecraft-data/data/pc/1.20.5/version.json +6 -0
  23. package/minecraft-data/data/pc/common/features.json +25 -0
  24. package/minecraft-data/data/pc/common/protocolVersions.json +80 -0
  25. package/minecraft-data/data/pc/common/versions.json +3 -2
  26. package/minecraft-data/data/pc/latest/proto.yml +1274 -598
  27. package/minecraft-data/doc/history.md +15 -0
  28. package/minecraft-data/tools/js/test/audit_recipes.js +4 -1
  29. package/package.json +2 -2
  30. package/typings/index-template.d.ts +2 -2
  31. package/typings/test-typings.ts +1 -0
@@ -0,0 +1,2762 @@
1
+ !version: 1.20.3
2
+ !StartDocs: true
3
+
4
+ ^types:
5
+ varint: native
6
+ varlong: native
7
+ optvarint: varint
8
+ pstring: native
9
+ buffer: native
10
+ u8: native
11
+ u16: native
12
+ u32: native
13
+ u64: native
14
+ i8: native
15
+ i16: native
16
+ i32: native
17
+ i64: native
18
+ bool: native
19
+ f32: native
20
+ f64: native
21
+ UUID: native
22
+ option: native
23
+ entityMetadataLoop: native
24
+ topBitSetTerminatedArray: native
25
+ bitfield: native
26
+ container: native
27
+ switch: native
28
+ void: native
29
+ array: native
30
+ restBuffer: native
31
+ anonymousNbt: native
32
+ anonOptionalNbt: native
33
+ string: [
34
+ "pstring",
35
+ {
36
+ "countType": "varint"
37
+ }
38
+ ]
39
+ vec3f:
40
+ x: f32
41
+ y: f32
42
+ z: f32
43
+ vec4f:
44
+ x: f32
45
+ y: f32
46
+ z: f32
47
+ w: f32
48
+ vec3f64:
49
+ x: f64
50
+ y: f64
51
+ z: f64
52
+ slot:
53
+ present: bool
54
+ _: present ?
55
+ if false: void
56
+ if true:
57
+ itemId: varint
58
+ itemCount: i8
59
+ nbtData: anonOptionalNbt
60
+ particle:
61
+ particleId: varint
62
+ data: [
63
+ "particleData",
64
+ {
65
+ "compareTo": "particleId"
66
+ }
67
+ ]
68
+ particleData: $compareTo ?
69
+ if 2:
70
+ blockState: varint
71
+ if 3:
72
+ blockState: varint
73
+ if 14:
74
+ red: f32
75
+ green: f32
76
+ blue: f32
77
+ scale: f32
78
+ if 15:
79
+ fromRed: f32
80
+ fromGreen: f32
81
+ fromBlue: f32
82
+ scale: f32
83
+ toRed: f32
84
+ toGreen: f32
85
+ toBlue: f32
86
+ if 27:
87
+ blockState: varint
88
+ if 33:
89
+ rotation: f32
90
+ if 42:
91
+ item: slot
92
+ if 43:
93
+ positionType: string
94
+ entityId: positionType ?
95
+ if minecraft:entity: varint
96
+ default: void
97
+ entityEyeHeight: positionType ?
98
+ if minecraft:entity: varint
99
+ default: void
100
+ destination: positionType ?
101
+ if minecraft:block: position
102
+ if minecraft:entity: varint
103
+ ticks: varint
104
+ if 96:
105
+ delayInTicksBeforeShown: varint
106
+ default: void
107
+ ingredient: slot[]varint
108
+ position: [
109
+ "bitfield",
110
+ [
111
+ {
112
+ "name": "x",
113
+ "size": 26,
114
+ "signed": true
115
+ },
116
+ {
117
+ "name": "z",
118
+ "size": 26,
119
+ "signed": true
120
+ },
121
+ {
122
+ "name": "y",
123
+ "size": 12,
124
+ "signed": true
125
+ }
126
+ ]
127
+ ]
128
+ soundSource: varint =>
129
+ 0: master
130
+ 1: music
131
+ 2: record
132
+ 3: weather
133
+ 4: block
134
+ 5: hostile
135
+ 6: neutral
136
+ 7: player
137
+ 8: ambient
138
+ 9: voice
139
+ packedChunkPos:
140
+ z: i32
141
+ x: i32
142
+ previousMessages: []varint
143
+ id: varint
144
+ signature: id ?
145
+ if 0: [
146
+ "buffer",
147
+ {
148
+ "count": 256
149
+ }
150
+ ]
151
+ default: void
152
+ entityMetadataItem: $compareTo ?
153
+ if byte: i8
154
+ if int: varint
155
+ if long: varlong
156
+ if float: f32
157
+ if string: string
158
+ if component: anonymousNbt
159
+ if optional_component: [
160
+ "option",
161
+ "anonymousNbt"
162
+ ]
163
+ if item_stack: slot
164
+ if boolean: bool
165
+ if rotations:
166
+ pitch: f32
167
+ yaw: f32
168
+ roll: f32
169
+ if block_pos: position
170
+ if optional_block_pos: [
171
+ "option",
172
+ "position"
173
+ ]
174
+ if direction: varint
175
+ if optional_uuid: [
176
+ "option",
177
+ "UUID"
178
+ ]
179
+ if block_state: varint
180
+ if optional_block_state: optvarint
181
+ if compound_tag: anonymousNbt
182
+ if particle: particle
183
+ if villager_data:
184
+ villagerType: varint
185
+ villagerProfession: varint
186
+ level: varint
187
+ if optional_unsigned_int: optvarint
188
+ if pose: varint
189
+ if cat_variant: varint
190
+ if frog_variant: varint
191
+ if optional_global_pos: [
192
+ "option",
193
+ "string"
194
+ ]
195
+ if painting_variant: varint
196
+ if sniffer_state: varint
197
+ if vector3: vec3f
198
+ if quaternion: vec4f
199
+ entityMetadata: [
200
+ "entityMetadataLoop",
201
+ {
202
+ "endVal": 255,
203
+ "type": [
204
+ "container",
205
+ [
206
+ {
207
+ "name": "key",
208
+ "type": "u8"
209
+ },
210
+ {
211
+ "name": "type",
212
+ "type": [
213
+ "mapper",
214
+ {
215
+ "type": "varint",
216
+ "mappings": {
217
+ "0": "byte",
218
+ "1": "int",
219
+ "2": "long",
220
+ "3": "float",
221
+ "4": "string",
222
+ "5": "component",
223
+ "6": "optional_component",
224
+ "7": "item_stack",
225
+ "8": "boolean",
226
+ "9": "rotations",
227
+ "10": "block_pos",
228
+ "11": "optional_block_pos",
229
+ "12": "direction",
230
+ "13": "optional_uuid",
231
+ "14": "block_state",
232
+ "15": "optional_block_state",
233
+ "16": "compound_tag",
234
+ "17": "particle",
235
+ "18": "villager_data",
236
+ "19": "optional_unsigned_int",
237
+ "20": "pose",
238
+ "21": "cat_variant",
239
+ "22": "frog_variant",
240
+ "23": "optional_global_pos",
241
+ "24": "painting_variant",
242
+ "25": "sniffer_state",
243
+ "26": "vector3",
244
+ "27": "quaternion"
245
+ }
246
+ }
247
+ ]
248
+ },
249
+ {
250
+ "name": "value",
251
+ "type": [
252
+ "entityMetadataItem",
253
+ {
254
+ "compareTo": "type"
255
+ }
256
+ ]
257
+ }
258
+ ]
259
+ ]
260
+ }
261
+ ]
262
+ minecraft_simple_recipe_format:
263
+ category: varint
264
+ minecraft_smelting_format:
265
+ group: string
266
+ category: varint
267
+ ingredient: ingredient
268
+ result: slot
269
+ experience: f32
270
+ cookTime: varint
271
+ tags: []varint
272
+ tagName: string
273
+ entries: varint[]varint
274
+ chunkBlockEntity:
275
+ _: [
276
+ "bitfield",
277
+ [
278
+ {
279
+ "name": "x",
280
+ "size": 4,
281
+ "signed": false
282
+ },
283
+ {
284
+ "name": "z",
285
+ "size": 4,
286
+ "signed": false
287
+ }
288
+ ]
289
+ ]
290
+ y: i16
291
+ type: varint
292
+ nbtData: anonOptionalNbt
293
+ chat_session?:
294
+ uuid: UUID
295
+ publicKey:
296
+ expireTime: i64
297
+ keyBytes: [
298
+ "buffer",
299
+ {
300
+ "countType": "varint"
301
+ }
302
+ ]
303
+ keySignature: [
304
+ "buffer",
305
+ {
306
+ "countType": "varint"
307
+ }
308
+ ]
309
+ game_profile:
310
+ name: string
311
+ properties: []varint
312
+ key: string
313
+ value: string
314
+ signature?: string
315
+ command_node:
316
+ flags: [
317
+ "bitfield",
318
+ [
319
+ {
320
+ "name": "unused",
321
+ "size": 3,
322
+ "signed": false
323
+ },
324
+ {
325
+ "name": "has_custom_suggestions",
326
+ "size": 1,
327
+ "signed": false
328
+ },
329
+ {
330
+ "name": "has_redirect_node",
331
+ "size": 1,
332
+ "signed": false
333
+ },
334
+ {
335
+ "name": "has_command",
336
+ "size": 1,
337
+ "signed": false
338
+ },
339
+ {
340
+ "name": "command_node_type",
341
+ "size": 2,
342
+ "signed": false
343
+ }
344
+ ]
345
+ ]
346
+ children: varint[]varint
347
+ redirectNode: flags/has_redirect_node ?
348
+ if 1: varint
349
+ default: void
350
+ extraNodeData: flags/command_node_type ?
351
+ if 0: void
352
+ if 1:
353
+ name: string
354
+ if 2:
355
+ name: string
356
+ parser: varint =>
357
+ 0: brigadier:bool
358
+ 1: brigadier:float
359
+ 2: brigadier:double
360
+ 3: brigadier:integer
361
+ 4: brigadier:long
362
+ 5: brigadier:string
363
+ 6: minecraft:entity
364
+ 7: minecraft:game_profile
365
+ 8: minecraft:block_pos
366
+ 9: minecraft:column_pos
367
+ 10: minecraft:vec3
368
+ 11: minecraft:vec2
369
+ 12: minecraft:block_state
370
+ 13: minecraft:block_predicate
371
+ 14: minecraft:item_stack
372
+ 15: minecraft:item_predicate
373
+ 16: minecraft:color
374
+ 17: minecraft:component
375
+ 18: minecraft:style
376
+ 19: minecraft:message
377
+ 20: minecraft:nbt
378
+ 21: minecraft:nbt_tag
379
+ 22: minecraft:nbt_path
380
+ 23: minecraft:objective
381
+ 24: minecraft:objective_criteria
382
+ 25: minecraft:operation
383
+ 26: minecraft:particle
384
+ 27: minecraft:angle
385
+ 28: minecraft:rotation
386
+ 29: minecraft:scoreboard_slot
387
+ 30: minecraft:score_holder
388
+ 31: minecraft:swizzle
389
+ 32: minecraft:team
390
+ 33: minecraft:item_slot
391
+ 34: minecraft:resource_location
392
+ 35: minecraft:function
393
+ 36: minecraft:entity_anchor
394
+ 37: minecraft:int_range
395
+ 38: minecraft:float_range
396
+ 39: minecraft:dimension
397
+ 40: minecraft:gamemode
398
+ 41: minecraft:time
399
+ 42: minecraft:resource_or_tag
400
+ 43: minecraft:resource_or_tag_key
401
+ 44: minecraft:resource
402
+ 45: minecraft:resource_key
403
+ 46: minecraft:template_mirror
404
+ 47: minecraft:template_rotation
405
+ 48: minecraft:heightmap
406
+ 49: minecraft:uuid
407
+ properties: parser ?
408
+ if brigadier:bool: void
409
+ if brigadier:float:
410
+ flags: [
411
+ "bitfield",
412
+ [
413
+ {
414
+ "name": "unused",
415
+ "size": 6,
416
+ "signed": false
417
+ },
418
+ {
419
+ "name": "max_present",
420
+ "size": 1,
421
+ "signed": false
422
+ },
423
+ {
424
+ "name": "min_present",
425
+ "size": 1,
426
+ "signed": false
427
+ }
428
+ ]
429
+ ]
430
+ min: flags/min_present ?
431
+ if 1: f32
432
+ default: void
433
+ max: flags/max_present ?
434
+ if 1: f32
435
+ default: void
436
+ if brigadier:double:
437
+ flags: [
438
+ "bitfield",
439
+ [
440
+ {
441
+ "name": "unused",
442
+ "size": 6,
443
+ "signed": false
444
+ },
445
+ {
446
+ "name": "max_present",
447
+ "size": 1,
448
+ "signed": false
449
+ },
450
+ {
451
+ "name": "min_present",
452
+ "size": 1,
453
+ "signed": false
454
+ }
455
+ ]
456
+ ]
457
+ min: flags/min_present ?
458
+ if 1: f64
459
+ default: void
460
+ max: flags/max_present ?
461
+ if 1: f64
462
+ default: void
463
+ if brigadier:integer:
464
+ flags: [
465
+ "bitfield",
466
+ [
467
+ {
468
+ "name": "unused",
469
+ "size": 6,
470
+ "signed": false
471
+ },
472
+ {
473
+ "name": "max_present",
474
+ "size": 1,
475
+ "signed": false
476
+ },
477
+ {
478
+ "name": "min_present",
479
+ "size": 1,
480
+ "signed": false
481
+ }
482
+ ]
483
+ ]
484
+ min: flags/min_present ?
485
+ if 1: i32
486
+ default: void
487
+ max: flags/max_present ?
488
+ if 1: i32
489
+ default: void
490
+ if brigadier:long:
491
+ flags: [
492
+ "bitfield",
493
+ [
494
+ {
495
+ "name": "unused",
496
+ "size": 6,
497
+ "signed": false
498
+ },
499
+ {
500
+ "name": "max_present",
501
+ "size": 1,
502
+ "signed": false
503
+ },
504
+ {
505
+ "name": "min_present",
506
+ "size": 1,
507
+ "signed": false
508
+ }
509
+ ]
510
+ ]
511
+ min: flags/min_present ?
512
+ if 1: i64
513
+ default: void
514
+ max: flags/max_present ?
515
+ if 1: i64
516
+ default: void
517
+ if brigadier:string: varint =>
518
+ 0: SINGLE_WORD
519
+ 1: QUOTABLE_PHRASE
520
+ 2: GREEDY_PHRASE
521
+ if minecraft:entity: [
522
+ "bitfield",
523
+ [
524
+ {
525
+ "name": "unused",
526
+ "size": 6,
527
+ "signed": false
528
+ },
529
+ {
530
+ "name": "onlyAllowPlayers",
531
+ "size": 1,
532
+ "signed": false
533
+ },
534
+ {
535
+ "name": "onlyAllowEntities",
536
+ "size": 1,
537
+ "signed": false
538
+ }
539
+ ]
540
+ ]
541
+ if minecraft:game_profile: void
542
+ if minecraft:block_pos: void
543
+ if minecraft:column_pos: void
544
+ if minecraft:vec3: void
545
+ if minecraft:vec2: void
546
+ if minecraft:block_state: void
547
+ if minecraft:block_predicate: void
548
+ if minecraft:item_stack: void
549
+ if minecraft:item_predicate: void
550
+ if minecraft:color: void
551
+ if minecraft:component: void
552
+ if minecraft:message: void
553
+ if minecraft:nbt: void
554
+ if minecraft:nbt_path: void
555
+ if minecraft:objective: void
556
+ if minecraft:objective_criteria: void
557
+ if minecraft:operation: void
558
+ if minecraft:particle: void
559
+ if minecraft:angle: void
560
+ if minecraft:rotation: void
561
+ if minecraft:scoreboard_slot: void
562
+ if minecraft:score_holder: [
563
+ "bitfield",
564
+ [
565
+ {
566
+ "name": "unused",
567
+ "size": 7,
568
+ "signed": false
569
+ },
570
+ {
571
+ "name": "allowMultiple",
572
+ "size": 1,
573
+ "signed": false
574
+ }
575
+ ]
576
+ ]
577
+ if minecraft:swizzle: void
578
+ if minecraft:team: void
579
+ if minecraft:item_slot: void
580
+ if minecraft:resource_location: void
581
+ if minecraft:function: void
582
+ if minecraft:entity_anchor: void
583
+ if minecraft:int_range: void
584
+ if minecraft:float_range: void
585
+ if minecraft:dimension: void
586
+ if minecraft:gamemode: void
587
+ if minecraft:time:
588
+ min: i32
589
+ if minecraft:resource_or_tag:
590
+ registry: string
591
+ if minecraft:resource_or_tag_key:
592
+ registry: string
593
+ if minecraft:resource:
594
+ registry: string
595
+ if minecraft:resource_key:
596
+ registry: string
597
+ if minecraft:template_mirror: void
598
+ if minecraft:template_rotation: void
599
+ if minecraft:heightmap: void
600
+ if minecraft:uuid: void
601
+ suggestionType: ../flags/has_custom_suggestions ?
602
+ if 1: string
603
+ default: void
604
+ ^handshaking.toClient.types:
605
+ packet:
606
+ name: varint =>
607
+ params: ["switch",{"compareTo":"name","fields":{}}]
608
+ ^handshaking.toServer.types:
609
+ packet_set_protocol:
610
+ protocolVersion: varint
611
+ serverHost: string
612
+ serverPort: u16
613
+ nextState: varint
614
+ packet_legacy_server_list_ping:
615
+ payload: u8
616
+ packet:
617
+ name: varint =>
618
+ 0x00: set_protocol
619
+ 0xfe: legacy_server_list_ping
620
+ params: name ?
621
+ if set_protocol: packet_set_protocol
622
+ if legacy_server_list_ping: packet_legacy_server_list_ping
623
+ ^status.toClient.types:
624
+ # MC: ClientboundStatusResponsePacket
625
+ packet_server_info:
626
+ response: string
627
+ # MC: ClientboundPongResponsePacket
628
+ packet_ping:
629
+ time: i64
630
+ packet:
631
+ name: varint =>
632
+ 0x00: server_info
633
+ 0x01: ping
634
+ params: name ?
635
+ if server_info: packet_server_info
636
+ if ping: packet_ping
637
+ ^status.toServer.types:
638
+ # MC: ServerboundStatusRequestPacket
639
+ packet_ping_start:
640
+ # Empty
641
+ # MC: ServerboundPingRequestPacket
642
+ packet_ping:
643
+ time: i64
644
+ packet:
645
+ name: varint =>
646
+ 0x00: ping_start
647
+ 0x01: ping
648
+ params: name ?
649
+ if ping_start: packet_ping_start
650
+ if ping: packet_ping
651
+ ^login.toClient.types:
652
+ # MC: ClientboundLoginDisconnectPacket
653
+ packet_disconnect:
654
+ reason: string
655
+ # MC: ClientboundHelloPacket
656
+ packet_encryption_begin:
657
+ serverId: string
658
+ publicKey: [
659
+ "buffer",
660
+ {
661
+ "countType": "varint"
662
+ }
663
+ ]
664
+ verifyToken: [
665
+ "buffer",
666
+ {
667
+ "countType": "varint"
668
+ }
669
+ ]
670
+ # MC: ClientboundGameProfilePacket
671
+ packet_success:
672
+ uuid: UUID
673
+ username: string
674
+ properties: []varint
675
+ name: string
676
+ value: string
677
+ signature?: string
678
+ # MC: ClientboundLoginCompressionPacket
679
+ packet_compress:
680
+ threshold: varint
681
+ # MC: ClientboundCustomQueryPacket
682
+ packet_login_plugin_request:
683
+ messageId: varint
684
+ channel: string
685
+ data: restBuffer
686
+ packet:
687
+ name: varint =>
688
+ - disconnect
689
+ - encryption_begin
690
+ - success
691
+ - compress
692
+ - login_plugin_request
693
+ params: name ?
694
+ if disconnect: packet_disconnect
695
+ if encryption_begin: packet_encryption_begin
696
+ if success: packet_success
697
+ if compress: packet_compress
698
+ if login_plugin_request: packet_login_plugin_request
699
+ ^login.toServer.types:
700
+ # MC: ServerboundHelloPacket
701
+ packet_login_start:
702
+ username: string
703
+ playerUUID: UUID
704
+ # MC: ServerboundKeyPacket
705
+ packet_encryption_begin:
706
+ sharedSecret: [
707
+ "buffer",
708
+ {
709
+ "countType": "varint"
710
+ }
711
+ ]
712
+ verifyToken: [
713
+ "buffer",
714
+ {
715
+ "countType": "varint"
716
+ }
717
+ ]
718
+ # MC: ServerboundCustomQueryAnswerPacket
719
+ packet_login_plugin_response:
720
+ messageId: varint
721
+ data?: restBuffer
722
+ # MC: ServerboundLoginAcknowledgedPacket
723
+ packet_login_acknowledged:
724
+ # Empty
725
+ packet:
726
+ name: varint =>
727
+ - login_start
728
+ - encryption_begin
729
+ - login_plugin_response
730
+ - login_acknowledged
731
+ params: name ?
732
+ if login_start: packet_login_start
733
+ if encryption_begin: packet_encryption_begin
734
+ if login_plugin_response: packet_login_plugin_response
735
+ if login_acknowledged: packet_login_acknowledged
736
+ ^configuration.toClient.types:
737
+ # MC: ClientboundCustomPayloadPacket
738
+ packet_custom_payload:
739
+ channel: string
740
+ data: restBuffer
741
+ # MC: ClientboundDisconnectPacket
742
+ packet_disconnect:
743
+ reason: anonymousNbt
744
+ # MC: ClientboundFinishConfigurationPacket
745
+ packet_finish_configuration:
746
+ # Empty
747
+ # MC: ClientboundKeepAlivePacket
748
+ packet_keep_alive:
749
+ keepAliveId: i64
750
+ # MC: ClientboundPingPacket
751
+ packet_ping:
752
+ id: i32
753
+ # MC: ClientboundRegistryDataPacket
754
+ packet_registry_data:
755
+ codec: anonymousNbt
756
+ # MC: ClientboundResourcePackPopPacket
757
+ packet_remove_resource_pack:
758
+ uuid?: UUID
759
+ # MC: ClientboundResourcePackPushPacket
760
+ packet_add_resource_pack:
761
+ uuid: UUID
762
+ url: string
763
+ hash: string
764
+ forced: bool
765
+ promptMessage?: anonymousNbt
766
+ # MC: ClientboundUpdateEnabledFeaturesPacket
767
+ packet_feature_flags:
768
+ features: string[]varint
769
+ # MC: ClientboundUpdateTagsPacket
770
+ packet_tags:
771
+ tags: []varint
772
+ tagType: string
773
+ tags: tags
774
+ packet:
775
+ name: varint =>
776
+ - custom_payload
777
+ - disconnect
778
+ - finish_configuration
779
+ - keep_alive
780
+ - ping
781
+ - registry_data
782
+ - remove_resource_pack
783
+ - add_resource_pack
784
+ - feature_flags
785
+ - tags
786
+ params: name ?
787
+ if custom_payload: packet_custom_payload
788
+ if disconnect: packet_disconnect
789
+ if finish_configuration: packet_finish_configuration
790
+ if keep_alive: packet_keep_alive
791
+ if ping: packet_ping
792
+ if registry_data: packet_registry_data
793
+ if remove_resource_pack: packet_remove_resource_pack
794
+ if add_resource_pack: packet_add_resource_pack
795
+ if feature_flags: packet_feature_flags
796
+ if tags: packet_tags
797
+ ^configuration.toServer.types:
798
+ # MC: ServerboundClientInformationPacket
799
+ packet_settings:
800
+ locale: string
801
+ viewDistance: i8
802
+ chatFlags: varint
803
+ chatColors: bool
804
+ skinParts: u8
805
+ mainHand: varint
806
+ enableTextFiltering: bool
807
+ enableServerListing: bool
808
+ # MC: ServerboundCustomPayloadPacket
809
+ packet_custom_payload:
810
+ channel: string
811
+ data: restBuffer
812
+ # MC: ServerboundFinishConfigurationPacket
813
+ packet_finish_configuration:
814
+ # Empty
815
+ # MC: ServerboundKeepAlivePacket
816
+ packet_keep_alive:
817
+ keepAliveId: i64
818
+ # MC: ServerboundPongPacket
819
+ packet_pong:
820
+ id: i32
821
+ # MC: ServerboundResourcePackPacket
822
+ packet_resource_pack_receive:
823
+ uuid: UUID
824
+ result: varint
825
+ packet:
826
+ name: varint =>
827
+ - settings
828
+ - custom_payload
829
+ - finish_configuration
830
+ - keep_alive
831
+ - pong
832
+ - resource_pack_receive
833
+ params: name ?
834
+ if settings: packet_settings
835
+ if custom_payload: packet_custom_payload
836
+ if finish_configuration: packet_finish_configuration
837
+ if keep_alive: packet_keep_alive
838
+ if pong: packet_pong
839
+ if resource_pack_receive: packet_resource_pack_receive
840
+ ^play.toClient.types:
841
+ # MC: ClientboundAddEntityPacket
842
+ packet_spawn_entity:
843
+ entityId: varint
844
+ objectUUID: UUID
845
+ type: varint
846
+ x: f64
847
+ y: f64
848
+ z: f64
849
+ pitch: i8
850
+ yaw: i8
851
+ headPitch: i8
852
+ objectData: varint
853
+ velocityX: i16
854
+ velocityY: i16
855
+ velocityZ: i16
856
+ # MC: ClientboundAddExperienceOrbPacket
857
+ packet_spawn_entity_experience_orb:
858
+ entityId: varint
859
+ x: f64
860
+ y: f64
861
+ z: f64
862
+ count: i16
863
+ # MC: ClientboundAnimatePacket
864
+ packet_animation:
865
+ entityId: varint
866
+ animation: u8
867
+ # MC: ClientboundAwardStatsPacket
868
+ packet_statistics:
869
+ entries: []varint
870
+ categoryId: varint
871
+ statisticId: varint
872
+ value: varint
873
+ # MC: ClientboundUpdateAdvancementsPacket
874
+ packet_advancements:
875
+ reset: bool
876
+ advancementMapping: []varint
877
+ key: string
878
+ value:
879
+ parentId?: string
880
+ displayData?:
881
+ title: anonymousNbt
882
+ description: anonymousNbt
883
+ icon: slot
884
+ frameType: varint
885
+ flags: [
886
+ "bitfield",
887
+ [
888
+ {
889
+ "name": "_unused",
890
+ "size": 29,
891
+ "signed": false
892
+ },
893
+ {
894
+ "name": "hidden",
895
+ "size": 1,
896
+ "signed": false
897
+ },
898
+ {
899
+ "name": "show_toast",
900
+ "size": 1,
901
+ "signed": false
902
+ },
903
+ {
904
+ "name": "has_background_texture",
905
+ "size": 1,
906
+ "signed": false
907
+ }
908
+ ]
909
+ ]
910
+ backgroundTexture: flags/has_background_texture ?
911
+ if 1: string
912
+ default: void
913
+ xCord: f32
914
+ yCord: f32
915
+ requirements: []varint
916
+ _: string[]varint
917
+ sendsTelemtryData: bool
918
+ identifiers: string[]varint
919
+ progressMapping: []varint
920
+ key: string
921
+ value: []varint
922
+ criterionIdentifier: string
923
+ criterionProgress?: i64
924
+ # MC: ClientboundBlockDestructionPacket
925
+ packet_block_break_animation:
926
+ entityId: varint
927
+ location: position
928
+ destroyStage: i8
929
+ # MC: ClientboundBlockEntityDataPacket
930
+ packet_tile_entity_data:
931
+ location: position
932
+ action: varint
933
+ nbtData: anonOptionalNbt
934
+ # MC: ClientboundBlockEventPacket
935
+ packet_block_action:
936
+ location: position
937
+ byte1: u8
938
+ byte2: u8
939
+ blockId: varint
940
+ # MC: ClientboundBlockUpdatePacket
941
+ packet_block_change:
942
+ location: position
943
+ type: varint
944
+ # MC: ClientboundBossEventPacket
945
+ packet_boss_bar:
946
+ entityUUID: UUID
947
+ action: varint
948
+ title: action ?
949
+ if 0: anonymousNbt
950
+ if 3: anonymousNbt
951
+ default: void
952
+ health: action ?
953
+ if 0: f32
954
+ if 2: f32
955
+ default: void
956
+ color: action ?
957
+ if 0: varint
958
+ if 4: varint
959
+ default: void
960
+ dividers: action ?
961
+ if 0: varint
962
+ if 4: varint
963
+ default: void
964
+ flags: action ?
965
+ if 0: u8
966
+ if 5: u8
967
+ default: void
968
+ # MC: ClientboundChangeDifficultyPacket
969
+ packet_difficulty:
970
+ difficulty: u8
971
+ difficultyLocked: bool
972
+ # MC: ClientboundChunkBatchFinishedPacket
973
+ packet_chunk_batch_finished:
974
+ batchSize: varint
975
+ # MC: ClientboundChunkBatchStartPacket
976
+ packet_chunk_batch_start:
977
+ # Empty
978
+ # MC: ClientboundCommandSuggestionsPacket
979
+ packet_tab_complete:
980
+ transactionId: varint
981
+ start: varint
982
+ length: varint
983
+ matches: []varint
984
+ match: string
985
+ tooltip?: anonymousNbt
986
+ # MC: ClientboundCommandsPacket
987
+ packet_declare_commands:
988
+ nodes: command_node[]varint
989
+ rootIndex: varint
990
+ # MC: ClientboundPlayerLookAtPacket
991
+ packet_face_player:
992
+ feet_eyes: varint
993
+ x: f64
994
+ y: f64
995
+ z: f64
996
+ isEntity: bool
997
+ entityId: isEntity ?
998
+ if true: varint
999
+ default: void
1000
+ entity_feet_eyes: isEntity ?
1001
+ if true: varint
1002
+ default: void
1003
+ # MC: ClientboundTagQueryPacket
1004
+ packet_nbt_query_response:
1005
+ transactionId: varint
1006
+ nbt: anonOptionalNbt
1007
+ # MC: ClientboundSectionBlocksUpdatePacket
1008
+ packet_multi_block_change:
1009
+ chunkCoordinates: [
1010
+ "bitfield",
1011
+ [
1012
+ {
1013
+ "name": "x",
1014
+ "size": 22,
1015
+ "signed": true
1016
+ },
1017
+ {
1018
+ "name": "z",
1019
+ "size": 22,
1020
+ "signed": true
1021
+ },
1022
+ {
1023
+ "name": "y",
1024
+ "size": 20,
1025
+ "signed": true
1026
+ }
1027
+ ]
1028
+ ]
1029
+ records: varint[]varint
1030
+ # MC: ClientboundContainerClosePacket
1031
+ packet_close_window:
1032
+ windowId: u8
1033
+ # MC: ClientboundOpenScreenPacket
1034
+ packet_open_window:
1035
+ windowId: varint
1036
+ inventoryType: varint
1037
+ windowTitle: anonymousNbt
1038
+ # MC: ClientboundContainerSetContentPacket
1039
+ packet_window_items:
1040
+ windowId: u8
1041
+ stateId: varint
1042
+ items: slot[]varint
1043
+ carriedItem: slot
1044
+ # MC: ClientboundContainerSetDataPacket
1045
+ packet_craft_progress_bar:
1046
+ windowId: u8
1047
+ property: i16
1048
+ value: i16
1049
+ # MC: ClientboundContainerSetSlotPacket
1050
+ packet_set_slot:
1051
+ windowId: i8
1052
+ stateId: varint
1053
+ slot: i16
1054
+ item: slot
1055
+ # MC: ClientboundCooldownPacket
1056
+ packet_set_cooldown:
1057
+ itemID: varint
1058
+ cooldownTicks: varint
1059
+ # MC: ClientboundCustomChatCompletionsPacket
1060
+ packet_chat_suggestions:
1061
+ action: varint
1062
+ entries: string[]varint
1063
+ # MC: ClientboundCustomPayloadPacket
1064
+ packet_custom_payload:
1065
+ channel: string
1066
+ data: restBuffer
1067
+ # MC: ClientboundDeleteChatPacket
1068
+ packet_hide_message:
1069
+ id: varint
1070
+ signature: id ?
1071
+ if 0: [
1072
+ "buffer",
1073
+ {
1074
+ "count": 256
1075
+ }
1076
+ ]
1077
+ default: void
1078
+ # MC: ClientboundDisconnectPacket
1079
+ packet_kick_disconnect:
1080
+ reason: anonymousNbt
1081
+ # MC: ClientboundDisguisedChatPacket
1082
+ packet_profileless_chat:
1083
+ message: anonymousNbt
1084
+ type: varint
1085
+ name: anonymousNbt
1086
+ target?: anonymousNbt
1087
+ # MC: ClientboundEntityEventPacket
1088
+ packet_entity_status:
1089
+ entityId: i32
1090
+ entityStatus: i8
1091
+ # MC: ClientboundExplodePacket
1092
+ packet_explosion:
1093
+ x: f64
1094
+ y: f64
1095
+ z: f64
1096
+ radius: f32
1097
+ affectedBlockOffsets: []varint
1098
+ x: i8
1099
+ y: i8
1100
+ z: i8
1101
+ playerMotionX: f32
1102
+ playerMotionY: f32
1103
+ playerMotionZ: f32
1104
+ block_interaction_type: varint
1105
+ small_explosion_particle: particle
1106
+ large_explosion_particle: particle
1107
+ explosion_sound_name: string
1108
+ sound_range?: f32
1109
+ # MC: ClientboundForgetLevelChunkPacket
1110
+ packet_unload_chunk:
1111
+ chunkZ: i32
1112
+ chunkX: i32
1113
+ # MC: ClientboundGameEventPacket
1114
+ packet_game_state_change:
1115
+ reason: u8
1116
+ gameMode: f32
1117
+ # MC: ClientboundHorseScreenOpenPacket
1118
+ packet_open_horse_window:
1119
+ windowId: u8
1120
+ nbSlots: varint
1121
+ entityId: i32
1122
+ # MC: ClientboundKeepAlivePacket
1123
+ packet_keep_alive:
1124
+ keepAliveId: i64
1125
+ # MC: ClientboundLevelChunkWithLightPacket
1126
+ packet_map_chunk:
1127
+ x: i32
1128
+ z: i32
1129
+ heightmaps: anonymousNbt
1130
+ chunkData: [
1131
+ "buffer",
1132
+ {
1133
+ "countType": "varint"
1134
+ }
1135
+ ]
1136
+ blockEntities: chunkBlockEntity[]varint
1137
+ skyLightMask: i64[]varint
1138
+ blockLightMask: i64[]varint
1139
+ emptySkyLightMask: i64[]varint
1140
+ emptyBlockLightMask: i64[]varint
1141
+ skyLight: []varint
1142
+ _: u8[]varint
1143
+ blockLight: []varint
1144
+ _: u8[]varint
1145
+ # MC: ClientboundLevelEventPacket
1146
+ packet_world_event:
1147
+ effectId: i32
1148
+ location: position
1149
+ data: i32
1150
+ global: bool
1151
+ # MC: ClientboundLevelParticlesPacket
1152
+ packet_world_particles:
1153
+ particleId: varint
1154
+ longDistance: bool
1155
+ x: f64
1156
+ y: f64
1157
+ z: f64
1158
+ offsetX: f32
1159
+ offsetY: f32
1160
+ offsetZ: f32
1161
+ particleData: f32
1162
+ particles: i32
1163
+ data: [
1164
+ "particleData",
1165
+ {
1166
+ "compareTo": "particleId"
1167
+ }
1168
+ ]
1169
+ # MC: ClientboundLightUpdatePacket
1170
+ packet_update_light:
1171
+ chunkX: varint
1172
+ chunkZ: varint
1173
+ skyLightMask: i64[]varint
1174
+ blockLightMask: i64[]varint
1175
+ emptySkyLightMask: i64[]varint
1176
+ emptyBlockLightMask: i64[]varint
1177
+ skyLight: []varint
1178
+ _: u8[]varint
1179
+ blockLight: []varint
1180
+ _: u8[]varint
1181
+ # MC: ClientboundLoginPacket
1182
+ packet_login:
1183
+ entityId: i32
1184
+ isHardcore: bool
1185
+ worldNames: string[]varint
1186
+ maxPlayers: varint
1187
+ viewDistance: varint
1188
+ simulationDistance: varint
1189
+ reducedDebugInfo: bool
1190
+ enableRespawnScreen: bool
1191
+ doLimitedCrafting: bool
1192
+ worldType: string
1193
+ worldName: string
1194
+ hashedSeed: i64
1195
+ gameMode: u8
1196
+ previousGameMode: i8
1197
+ isDebug: bool
1198
+ isFlat: bool
1199
+ death?:
1200
+ dimensionName: string
1201
+ location: position
1202
+ portalCooldown: varint
1203
+ # MC: ClientboundMapItemDataPacket
1204
+ packet_map:
1205
+ itemDamage: varint
1206
+ scale: i8
1207
+ locked: bool
1208
+ icons?: []varint
1209
+ type: varint
1210
+ x: i8
1211
+ z: i8
1212
+ direction: u8
1213
+ displayName?: anonymousNbt
1214
+ columns: u8
1215
+ rows: columns ?
1216
+ if 0: void
1217
+ default: u8
1218
+ x: columns ?
1219
+ if 0: void
1220
+ default: u8
1221
+ y: columns ?
1222
+ if 0: void
1223
+ default: u8
1224
+ data: columns ?
1225
+ if 0: void
1226
+ default: [
1227
+ "buffer",
1228
+ {
1229
+ "countType": "varint"
1230
+ }
1231
+ ]
1232
+ # MC: ClientboundMerchantOffersPacket
1233
+ packet_trade_list:
1234
+ windowId: varint
1235
+ trades: []varint
1236
+ inputItem1: slot
1237
+ outputItem: slot
1238
+ inputItem2: slot
1239
+ tradeDisabled: bool
1240
+ nbTradeUses: i32
1241
+ maximumNbTradeUses: i32
1242
+ xp: i32
1243
+ specialPrice: i32
1244
+ priceMultiplier: f32
1245
+ demand: i32
1246
+ villagerLevel: varint
1247
+ experience: varint
1248
+ isRegularVillager: bool
1249
+ canRestock: bool
1250
+ # MC: ClientboundMoveEntityPacket.Pos
1251
+ packet_rel_entity_move:
1252
+ entityId: varint
1253
+ dX: i16
1254
+ dY: i16
1255
+ dZ: i16
1256
+ onGround: bool
1257
+ # MC: ClientboundMoveEntityPacket.PosRot
1258
+ packet_entity_move_look:
1259
+ entityId: varint
1260
+ dX: i16
1261
+ dY: i16
1262
+ dZ: i16
1263
+ yaw: i8
1264
+ pitch: i8
1265
+ onGround: bool
1266
+ # MC: ClientboundMoveEntityPacket.Rot
1267
+ packet_entity_look:
1268
+ entityId: varint
1269
+ yaw: i8
1270
+ pitch: i8
1271
+ onGround: bool
1272
+ # MC: ClientboundMoveVehiclePacket
1273
+ packet_vehicle_move:
1274
+ x: f64
1275
+ y: f64
1276
+ z: f64
1277
+ yaw: f32
1278
+ pitch: f32
1279
+ # MC: ClientboundOpenBookPacket
1280
+ packet_open_book:
1281
+ hand: varint
1282
+ # MC: ClientboundOpenSignEditorPacket
1283
+ packet_open_sign_entity:
1284
+ location: position
1285
+ isFrontText: bool
1286
+ # MC: ClientboundPlaceGhostRecipePacket
1287
+ packet_craft_recipe_response:
1288
+ windowId: i8
1289
+ recipe: string
1290
+ # MC: ClientboundPlayerAbilitiesPacket
1291
+ packet_abilities:
1292
+ flags: i8
1293
+ flyingSpeed: f32
1294
+ walkingSpeed: f32
1295
+ # MC: ClientboundPlayerChatPacket
1296
+ packet_player_chat:
1297
+ senderUuid: UUID
1298
+ index: varint
1299
+ signature?: [
1300
+ "buffer",
1301
+ {
1302
+ "count": 256
1303
+ }
1304
+ ]
1305
+ plainMessage: string
1306
+ timestamp: i64
1307
+ salt: i64
1308
+ previousMessages: previousMessages
1309
+ unsignedChatContent?: anonymousNbt
1310
+ filterType: varint
1311
+ filterTypeMask: filterType ?
1312
+ if 2: i64[]varint
1313
+ default: void
1314
+ type: varint
1315
+ networkName: anonymousNbt
1316
+ networkTargetName?: anonymousNbt
1317
+ # MC: ClientboundPlayerCombatEndPacket
1318
+ packet_end_combat_event:
1319
+ duration: varint
1320
+ # MC: ClientboundPlayerCombatEnterPacket
1321
+ packet_enter_combat_event:
1322
+ # Empty
1323
+ # MC: ClientboundPlayerCombatKillPacket
1324
+ packet_death_combat_event:
1325
+ playerId: varint
1326
+ message: anonymousNbt
1327
+ # MC: ClientboundPlayerInfoRemovePacket
1328
+ packet_player_remove:
1329
+ players: UUID[]varint
1330
+ # MC: ClientboundPlayerInfoUpdatePacket
1331
+ packet_player_info:
1332
+ action: i8
1333
+ data: []varint
1334
+ uuid: UUID
1335
+ player: ../action ?
1336
+ if 1: game_profile
1337
+ if 3: game_profile
1338
+ if 5: game_profile
1339
+ if 7: game_profile
1340
+ if 9: game_profile
1341
+ if 11: game_profile
1342
+ if 13: game_profile
1343
+ if 15: game_profile
1344
+ if 17: game_profile
1345
+ if 19: game_profile
1346
+ if 21: game_profile
1347
+ if 23: game_profile
1348
+ if 25: game_profile
1349
+ if 27: game_profile
1350
+ if 29: game_profile
1351
+ if 31: game_profile
1352
+ if 33: game_profile
1353
+ if 35: game_profile
1354
+ if 37: game_profile
1355
+ if 39: game_profile
1356
+ if 41: game_profile
1357
+ if 43: game_profile
1358
+ if 45: game_profile
1359
+ if 47: game_profile
1360
+ if 49: game_profile
1361
+ if 51: game_profile
1362
+ if 53: game_profile
1363
+ if 55: game_profile
1364
+ if 57: game_profile
1365
+ if 59: game_profile
1366
+ if 61: game_profile
1367
+ if 63: game_profile
1368
+ default: void
1369
+ chatSession: ../action ?
1370
+ if 2: chat_session
1371
+ if 3: chat_session
1372
+ if 6: chat_session
1373
+ if 7: chat_session
1374
+ if 10: chat_session
1375
+ if 11: chat_session
1376
+ if 14: chat_session
1377
+ if 15: chat_session
1378
+ if 18: chat_session
1379
+ if 19: chat_session
1380
+ if 22: chat_session
1381
+ if 23: chat_session
1382
+ if 26: chat_session
1383
+ if 27: chat_session
1384
+ if 30: chat_session
1385
+ if 31: chat_session
1386
+ if 34: chat_session
1387
+ if 35: chat_session
1388
+ if 38: chat_session
1389
+ if 39: chat_session
1390
+ if 42: chat_session
1391
+ if 43: chat_session
1392
+ if 46: chat_session
1393
+ if 47: chat_session
1394
+ if 50: chat_session
1395
+ if 51: chat_session
1396
+ if 54: chat_session
1397
+ if 55: chat_session
1398
+ if 58: chat_session
1399
+ if 59: chat_session
1400
+ if 62: chat_session
1401
+ if 63: chat_session
1402
+ default: void
1403
+ gamemode: ../action ?
1404
+ if 4: varint
1405
+ if 5: varint
1406
+ if 6: varint
1407
+ if 7: varint
1408
+ if 12: varint
1409
+ if 13: varint
1410
+ if 14: varint
1411
+ if 15: varint
1412
+ if 20: varint
1413
+ if 21: varint
1414
+ if 22: varint
1415
+ if 23: varint
1416
+ if 28: varint
1417
+ if 29: varint
1418
+ if 30: varint
1419
+ if 31: varint
1420
+ if 36: varint
1421
+ if 37: varint
1422
+ if 38: varint
1423
+ if 39: varint
1424
+ if 44: varint
1425
+ if 45: varint
1426
+ if 46: varint
1427
+ if 47: varint
1428
+ if 52: varint
1429
+ if 53: varint
1430
+ if 54: varint
1431
+ if 55: varint
1432
+ if 60: varint
1433
+ if 61: varint
1434
+ if 62: varint
1435
+ if 63: varint
1436
+ default: void
1437
+ listed: ../action ?
1438
+ if 8: bool
1439
+ if 9: bool
1440
+ if 10: bool
1441
+ if 11: bool
1442
+ if 12: bool
1443
+ if 13: bool
1444
+ if 14: bool
1445
+ if 15: bool
1446
+ if 24: bool
1447
+ if 25: bool
1448
+ if 26: bool
1449
+ if 27: bool
1450
+ if 28: bool
1451
+ if 29: bool
1452
+ if 30: bool
1453
+ if 31: bool
1454
+ if 40: bool
1455
+ if 41: bool
1456
+ if 42: bool
1457
+ if 43: bool
1458
+ if 44: bool
1459
+ if 45: bool
1460
+ if 46: bool
1461
+ if 47: bool
1462
+ if 56: bool
1463
+ if 57: bool
1464
+ if 58: bool
1465
+ if 59: bool
1466
+ if 60: bool
1467
+ if 61: bool
1468
+ if 62: bool
1469
+ if 63: bool
1470
+ default: void
1471
+ latency: ../action ?
1472
+ if 16: varint
1473
+ if 17: varint
1474
+ if 18: varint
1475
+ if 19: varint
1476
+ if 20: varint
1477
+ if 21: varint
1478
+ if 22: varint
1479
+ if 23: varint
1480
+ if 24: varint
1481
+ if 25: varint
1482
+ if 26: varint
1483
+ if 27: varint
1484
+ if 28: varint
1485
+ if 29: varint
1486
+ if 30: varint
1487
+ if 31: varint
1488
+ if 48: varint
1489
+ if 49: varint
1490
+ if 50: varint
1491
+ if 51: varint
1492
+ if 52: varint
1493
+ if 53: varint
1494
+ if 54: varint
1495
+ if 55: varint
1496
+ if 56: varint
1497
+ if 57: varint
1498
+ if 58: varint
1499
+ if 59: varint
1500
+ if 60: varint
1501
+ if 61: varint
1502
+ if 62: varint
1503
+ if 63: varint
1504
+ default: void
1505
+ displayName: ../action ?
1506
+ if 32: [
1507
+ "option",
1508
+ "anonymousNbt"
1509
+ ]
1510
+ if 33: [
1511
+ "option",
1512
+ "anonymousNbt"
1513
+ ]
1514
+ if 34: [
1515
+ "option",
1516
+ "anonymousNbt"
1517
+ ]
1518
+ if 35: [
1519
+ "option",
1520
+ "anonymousNbt"
1521
+ ]
1522
+ if 36: [
1523
+ "option",
1524
+ "anonymousNbt"
1525
+ ]
1526
+ if 37: [
1527
+ "option",
1528
+ "anonymousNbt"
1529
+ ]
1530
+ if 38: [
1531
+ "option",
1532
+ "anonymousNbt"
1533
+ ]
1534
+ if 39: [
1535
+ "option",
1536
+ "anonymousNbt"
1537
+ ]
1538
+ if 40: [
1539
+ "option",
1540
+ "anonymousNbt"
1541
+ ]
1542
+ if 41: [
1543
+ "option",
1544
+ "anonymousNbt"
1545
+ ]
1546
+ if 42: [
1547
+ "option",
1548
+ "anonymousNbt"
1549
+ ]
1550
+ if 43: [
1551
+ "option",
1552
+ "anonymousNbt"
1553
+ ]
1554
+ if 44: [
1555
+ "option",
1556
+ "anonymousNbt"
1557
+ ]
1558
+ if 45: [
1559
+ "option",
1560
+ "anonymousNbt"
1561
+ ]
1562
+ if 46: [
1563
+ "option",
1564
+ "anonymousNbt"
1565
+ ]
1566
+ if 47: [
1567
+ "option",
1568
+ "anonymousNbt"
1569
+ ]
1570
+ if 48: [
1571
+ "option",
1572
+ "anonymousNbt"
1573
+ ]
1574
+ if 49: [
1575
+ "option",
1576
+ "anonymousNbt"
1577
+ ]
1578
+ if 50: [
1579
+ "option",
1580
+ "anonymousNbt"
1581
+ ]
1582
+ if 51: [
1583
+ "option",
1584
+ "anonymousNbt"
1585
+ ]
1586
+ if 52: [
1587
+ "option",
1588
+ "anonymousNbt"
1589
+ ]
1590
+ if 53: [
1591
+ "option",
1592
+ "anonymousNbt"
1593
+ ]
1594
+ if 54: [
1595
+ "option",
1596
+ "anonymousNbt"
1597
+ ]
1598
+ if 55: [
1599
+ "option",
1600
+ "anonymousNbt"
1601
+ ]
1602
+ if 56: [
1603
+ "option",
1604
+ "anonymousNbt"
1605
+ ]
1606
+ if 57: [
1607
+ "option",
1608
+ "anonymousNbt"
1609
+ ]
1610
+ if 58: [
1611
+ "option",
1612
+ "anonymousNbt"
1613
+ ]
1614
+ if 59: [
1615
+ "option",
1616
+ "anonymousNbt"
1617
+ ]
1618
+ if 60: [
1619
+ "option",
1620
+ "anonymousNbt"
1621
+ ]
1622
+ if 61: [
1623
+ "option",
1624
+ "anonymousNbt"
1625
+ ]
1626
+ if 62: [
1627
+ "option",
1628
+ "anonymousNbt"
1629
+ ]
1630
+ if 63: [
1631
+ "option",
1632
+ "anonymousNbt"
1633
+ ]
1634
+ default: void
1635
+ # MC: ClientboundPlayerPositionPacket
1636
+ packet_position:
1637
+ x: f64
1638
+ y: f64
1639
+ z: f64
1640
+ yaw: f32
1641
+ pitch: f32
1642
+ flags: i8
1643
+ teleportId: varint
1644
+ # MC: ClientboundRecipePacket
1645
+ packet_unlock_recipes:
1646
+ action: varint
1647
+ craftingBookOpen: bool
1648
+ filteringCraftable: bool
1649
+ smeltingBookOpen: bool
1650
+ filteringSmeltable: bool
1651
+ blastFurnaceOpen: bool
1652
+ filteringBlastFurnace: bool
1653
+ smokerBookOpen: bool
1654
+ filteringSmoker: bool
1655
+ recipes1: string[]varint
1656
+ recipes2: action ?
1657
+ if 0: string[]varint
1658
+ default: void
1659
+ # MC: ClientboundRemoveEntitiesPacket
1660
+ packet_entity_destroy:
1661
+ entityIds: varint[]varint
1662
+ # MC: ClientboundRemoveMobEffectPacket
1663
+ packet_remove_entity_effect:
1664
+ entityId: varint
1665
+ effectId: varint
1666
+ # MC: ClientboundResetScorePacket
1667
+ packet_reset_score:
1668
+ entity_name: string
1669
+ objective_name?: string
1670
+ # MC: ClientboundResourcePackPopPacket
1671
+ packet_remove_resource_pack:
1672
+ uuid?: UUID
1673
+ # MC: ClientboundResourcePackPushPacket
1674
+ packet_add_resource_pack:
1675
+ uuid: UUID
1676
+ url: string
1677
+ hash: string
1678
+ forced: bool
1679
+ promptMessage?: anonymousNbt
1680
+ # MC: ClientboundRespawnPacket
1681
+ packet_respawn:
1682
+ dimension: string
1683
+ worldName: string
1684
+ hashedSeed: i64
1685
+ gamemode: i8
1686
+ previousGamemode: u8
1687
+ isDebug: bool
1688
+ isFlat: bool
1689
+ death?:
1690
+ dimensionName: string
1691
+ location: position
1692
+ portalCooldown: varint
1693
+ copyMetadata: bool
1694
+ # MC: ClientboundRotateHeadPacket
1695
+ packet_entity_head_rotation:
1696
+ entityId: varint
1697
+ headYaw: i8
1698
+ # MC: ClientboundSetCameraPacket
1699
+ packet_camera:
1700
+ cameraId: varint
1701
+ # MC: ClientboundSetCarriedItemPacket
1702
+ packet_held_item_slot:
1703
+ slot: i8
1704
+ # MC: ClientboundSetChunkCacheCenterPacket
1705
+ packet_update_view_position:
1706
+ chunkX: varint
1707
+ chunkZ: varint
1708
+ # MC: ClientboundSetChunkCacheRadiusPacket
1709
+ packet_update_view_distance:
1710
+ viewDistance: varint
1711
+ # MC: ClientboundSetDisplayObjectivePacket
1712
+ packet_scoreboard_display_objective:
1713
+ position: varint
1714
+ name: string
1715
+ # MC: ClientboundSetEntityDataPacket
1716
+ packet_entity_metadata:
1717
+ entityId: varint
1718
+ metadata: entityMetadata
1719
+ # MC: ClientboundSetEntityLinkPacket
1720
+ packet_attach_entity:
1721
+ entityId: i32
1722
+ vehicleId: i32
1723
+ # MC: ClientboundSetEntityMotionPacket
1724
+ packet_entity_velocity:
1725
+ entityId: varint
1726
+ velocityX: i16
1727
+ velocityY: i16
1728
+ velocityZ: i16
1729
+ # MC: ClientboundSetEquipmentPacket
1730
+ packet_entity_equipment:
1731
+ entityId: varint
1732
+ equipments: [
1733
+ "topBitSetTerminatedArray",
1734
+ {
1735
+ "type": [
1736
+ "container",
1737
+ [
1738
+ {
1739
+ "name": "slot",
1740
+ "type": "i8"
1741
+ },
1742
+ {
1743
+ "name": "item",
1744
+ "type": "slot"
1745
+ }
1746
+ ]
1747
+ ]
1748
+ }
1749
+ ]
1750
+ # MC: ClientboundSetExperiencePacket
1751
+ packet_experience:
1752
+ experienceBar: f32
1753
+ level: varint
1754
+ totalExperience: varint
1755
+ # MC: ClientboundSetHealthPacket
1756
+ packet_update_health:
1757
+ health: f32
1758
+ food: varint
1759
+ foodSaturation: f32
1760
+ # MC: ClientboundSetObjectivePacket
1761
+ packet_scoreboard_objective:
1762
+ name: string
1763
+ action: i8
1764
+ displayText: action ?
1765
+ if 0: anonymousNbt
1766
+ if 2: anonymousNbt
1767
+ default: void
1768
+ type: action ?
1769
+ if 0: varint
1770
+ if 2: varint
1771
+ default: void
1772
+ number_format: action ?
1773
+ if 0: [
1774
+ "option",
1775
+ "varint"
1776
+ ]
1777
+ if 2: [
1778
+ "option",
1779
+ "varint"
1780
+ ]
1781
+ default: void
1782
+ styling: action ?
1783
+ if 0: number_format ?
1784
+ if 1: anonymousNbt
1785
+ if 2: anonymousNbt
1786
+ default: void
1787
+ if 2: number_format ?
1788
+ if 1: anonymousNbt
1789
+ if 2: anonymousNbt
1790
+ default: void
1791
+ default: void
1792
+ # MC: ClientboundSetPassengersPacket
1793
+ packet_set_passengers:
1794
+ entityId: varint
1795
+ passengers: varint[]varint
1796
+ # MC: ClientboundSetPlayerTeamPacket
1797
+ packet_teams:
1798
+ team: string
1799
+ mode: i8
1800
+ name: mode ?
1801
+ if 0: anonymousNbt
1802
+ if 2: anonymousNbt
1803
+ default: void
1804
+ friendlyFire: mode ?
1805
+ if 0: i8
1806
+ if 2: i8
1807
+ default: void
1808
+ nameTagVisibility: mode ?
1809
+ if 0: string
1810
+ if 2: string
1811
+ default: void
1812
+ collisionRule: mode ?
1813
+ if 0: string
1814
+ if 2: string
1815
+ default: void
1816
+ formatting: mode ?
1817
+ if 0: varint
1818
+ if 2: varint
1819
+ default: void
1820
+ prefix: mode ?
1821
+ if 0: anonymousNbt
1822
+ if 2: anonymousNbt
1823
+ default: void
1824
+ suffix: mode ?
1825
+ if 0: anonymousNbt
1826
+ if 2: anonymousNbt
1827
+ default: void
1828
+ players: mode ?
1829
+ if 0: string[]varint
1830
+ if 3: string[]varint
1831
+ if 4: string[]varint
1832
+ default: void
1833
+ # MC: ClientboundSetScorePacket
1834
+ packet_scoreboard_score:
1835
+ itemName: string
1836
+ scoreName: string
1837
+ value: varint
1838
+ display_name?: anonymousNbt
1839
+ number_format?: varint
1840
+ styling: number_format ?
1841
+ if 1: anonymousNbt
1842
+ if 2: anonymousNbt
1843
+ default: void
1844
+ # MC: ClientboundSetDefaultSpawnPositionPacket
1845
+ packet_spawn_position:
1846
+ location: position
1847
+ angle: f32
1848
+ # MC: ClientboundSetTimePacket
1849
+ packet_update_time:
1850
+ age: i64
1851
+ time: i64
1852
+ # MC: ClientboundSoundEntityPacket
1853
+ packet_entity_sound_effect:
1854
+ soundId: varint
1855
+ soundEvent: soundId ?
1856
+ if 0:
1857
+ resource: string
1858
+ range?: f32
1859
+ default: void
1860
+ soundCategory: soundSource
1861
+ entityId: varint
1862
+ volume: f32
1863
+ pitch: f32
1864
+ seed: i64
1865
+ # MC: ClientboundStopSoundPacket
1866
+ packet_stop_sound:
1867
+ flags: i8
1868
+ source: flags ?
1869
+ if 1: varint
1870
+ if 3: varint
1871
+ default: void
1872
+ sound: flags ?
1873
+ if 2: string
1874
+ if 3: string
1875
+ default: void
1876
+ # MC: ClientboundSoundPacket
1877
+ packet_sound_effect:
1878
+ soundId: varint
1879
+ soundEvent: soundId ?
1880
+ if 0:
1881
+ resource: string
1882
+ range?: f32
1883
+ default: void
1884
+ soundCategory: soundSource
1885
+ x: i32
1886
+ y: i32
1887
+ z: i32
1888
+ volume: f32
1889
+ pitch: f32
1890
+ seed: i64
1891
+ # MC: ClientboundSystemChatPacket
1892
+ packet_system_chat:
1893
+ content: anonymousNbt
1894
+ isActionBar: bool
1895
+ # MC: ClientboundTabListPacket
1896
+ packet_playerlist_header:
1897
+ header: anonymousNbt
1898
+ footer: anonymousNbt
1899
+ # MC: ClientboundTakeItemEntityPacket
1900
+ packet_collect:
1901
+ collectedEntityId: varint
1902
+ collectorEntityId: varint
1903
+ pickupItemCount: varint
1904
+ # MC: ClientboundTeleportEntityPacket
1905
+ packet_entity_teleport:
1906
+ entityId: varint
1907
+ x: f64
1908
+ y: f64
1909
+ z: f64
1910
+ yaw: i8
1911
+ pitch: i8
1912
+ onGround: bool
1913
+ # MC: ClientboundUpdateAttributesPacket
1914
+ packet_entity_update_attributes:
1915
+ entityId: varint
1916
+ properties: []varint
1917
+ key: string
1918
+ value: f64
1919
+ modifiers: []varint
1920
+ uuid: UUID
1921
+ amount: f64
1922
+ operation: i8
1923
+ # MC: ClientboundUpdateMobEffectPacket
1924
+ packet_entity_effect:
1925
+ entityId: varint
1926
+ effectId: varint
1927
+ amplifier: i8
1928
+ duration: varint
1929
+ hideParticles: i8
1930
+ factorCodec?: anonymousNbt
1931
+ # MC: ClientboundSelectAdvancementsTabPacket
1932
+ packet_select_advancement_tab:
1933
+ id?: string
1934
+ # MC: ClientboundServerDataPacket
1935
+ packet_server_data:
1936
+ motd: anonymousNbt
1937
+ iconBytes?: [
1938
+ "buffer",
1939
+ {
1940
+ "countType": "varint"
1941
+ }
1942
+ ]
1943
+ enforcesSecureChat: bool
1944
+ # MC: ClientboundUpdateRecipesPacket
1945
+ packet_declare_recipes:
1946
+ recipes: []varint
1947
+ type: string
1948
+ recipeId: string
1949
+ data: type ?
1950
+ if minecraft:crafting_shapeless:
1951
+ group: string
1952
+ category: varint
1953
+ ingredients: ingredient[]varint
1954
+ result: slot
1955
+ if minecraft:crafting_shaped:
1956
+ group: string
1957
+ category: varint
1958
+ width: varint
1959
+ height: varint
1960
+ ingredients: []$width
1961
+ _: ingredient[]$height
1962
+ result: slot
1963
+ showNotification: bool
1964
+ if minecraft:crafting_special_armordye: minecraft_simple_recipe_format
1965
+ if minecraft:crafting_special_bookcloning: minecraft_simple_recipe_format
1966
+ if minecraft:crafting_special_mapcloning: minecraft_simple_recipe_format
1967
+ if minecraft:crafting_special_mapextending: minecraft_simple_recipe_format
1968
+ if minecraft:crafting_special_firework_rocket: minecraft_simple_recipe_format
1969
+ if minecraft:crafting_special_firework_star: minecraft_simple_recipe_format
1970
+ if minecraft:crafting_special_firework_star_fade: minecraft_simple_recipe_format
1971
+ if minecraft:crafting_special_repairitem: minecraft_simple_recipe_format
1972
+ if minecraft:crafting_special_tippedarrow: minecraft_simple_recipe_format
1973
+ if minecraft:crafting_special_bannerduplicate: minecraft_simple_recipe_format
1974
+ if minecraft:crafting_special_banneraddpattern: minecraft_simple_recipe_format
1975
+ if minecraft:crafting_special_shielddecoration: minecraft_simple_recipe_format
1976
+ if minecraft:crafting_special_shulkerboxcoloring: minecraft_simple_recipe_format
1977
+ if minecraft:crafting_special_suspiciousstew: minecraft_simple_recipe_format
1978
+ if minecraft:smelting: minecraft_smelting_format
1979
+ if minecraft:blasting: minecraft_smelting_format
1980
+ if minecraft:smoking: minecraft_smelting_format
1981
+ if minecraft:campfire_cooking: minecraft_smelting_format
1982
+ if minecraft:stonecutting:
1983
+ group: string
1984
+ ingredient: ingredient
1985
+ result: slot
1986
+ if minecraft:smithing_transform:
1987
+ template: ingredient
1988
+ base: ingredient
1989
+ addition: ingredient
1990
+ result: slot
1991
+ if minecraft:smithing_trim:
1992
+ template: ingredient
1993
+ base: ingredient
1994
+ addition: ingredient
1995
+ if minecraft:crafting_decorated_pot: minecraft_simple_recipe_format
1996
+ # MC: ClientboundUpdateTagsPacket
1997
+ packet_tags:
1998
+ tags: []varint
1999
+ tagType: string
2000
+ tags: tags
2001
+ # MC: ClientboundBlockChangedAckPacket
2002
+ packet_acknowledge_player_digging:
2003
+ sequenceId: varint
2004
+ # MC: ClientboundClearTitlesPacket
2005
+ packet_clear_titles:
2006
+ reset: bool
2007
+ # MC: ClientboundInitializeBorderPacket
2008
+ packet_initialize_world_border:
2009
+ x: f64
2010
+ z: f64
2011
+ oldDiameter: f64
2012
+ newDiameter: f64
2013
+ speed: varint
2014
+ portalTeleportBoundary: varint
2015
+ warningBlocks: varint
2016
+ warningTime: varint
2017
+ # MC: ClientboundSetActionBarTextPacket
2018
+ packet_action_bar:
2019
+ text: anonymousNbt
2020
+ # MC: ClientboundSetBorderCenterPacket
2021
+ packet_world_border_center:
2022
+ x: f64
2023
+ z: f64
2024
+ # MC: ClientboundSetBorderLerpSizePacket
2025
+ packet_world_border_lerp_size:
2026
+ oldDiameter: f64
2027
+ newDiameter: f64
2028
+ speed: varint
2029
+ # MC: ClientboundSetBorderSizePacket
2030
+ packet_world_border_size:
2031
+ diameter: f64
2032
+ # MC: ClientboundSetBorderWarningDelayPacket
2033
+ packet_world_border_warning_delay:
2034
+ warningTime: varint
2035
+ # MC: ClientboundSetBorderWarningDistancePacket
2036
+ packet_world_border_warning_reach:
2037
+ warningBlocks: varint
2038
+ # MC: ClientboundPingPacket
2039
+ packet_ping:
2040
+ id: i32
2041
+ # MC: ClientboundPongResponsePacket
2042
+ packet_ping_response:
2043
+ id: i64
2044
+ # MC: ClientboundSetSubtitleTextPacket
2045
+ packet_set_title_subtitle:
2046
+ text: anonymousNbt
2047
+ # MC: ClientboundSetTitleTextPacket
2048
+ packet_set_title_text:
2049
+ text: anonymousNbt
2050
+ # MC: ClientboundSetTitlesAnimationPacket
2051
+ packet_set_title_time:
2052
+ fadeIn: i32
2053
+ stay: i32
2054
+ fadeOut: i32
2055
+ # MC: ClientboundSetSimulationDistancePacket
2056
+ packet_simulation_distance:
2057
+ distance: varint
2058
+ # MC: ClientboundChunksBiomesPacket
2059
+ packet_chunk_biomes:
2060
+ biomes: []varint
2061
+ position: packedChunkPos
2062
+ data: [
2063
+ "buffer",
2064
+ {
2065
+ "countType": "varint"
2066
+ }
2067
+ ]
2068
+ # MC: ClientboundDamageEventPacket
2069
+ packet_damage_event:
2070
+ entityId: varint
2071
+ sourceTypeId: varint
2072
+ sourceCauseId: varint
2073
+ sourceDirectId: varint
2074
+ sourcePosition?: vec3f64
2075
+ # MC: ClientboundHurtAnimationPacket
2076
+ packet_hurt_animation:
2077
+ entityId: varint
2078
+ yaw: f32
2079
+ # MC: ClientboundStartConfigurationPacket
2080
+ packet_start_configuration:
2081
+ # Empty
2082
+ # MC: ClientboundTickingStatePacket
2083
+ packet_set_ticking_state:
2084
+ tick_rate: f32
2085
+ is_frozen: bool
2086
+ # MC: ClientboundTickingStepPacket
2087
+ packet_step_tick:
2088
+ tick_steps: varint
2089
+ packet:
2090
+ name: varint =>
2091
+ - bundle_delimiter
2092
+ - spawn_entity
2093
+ - spawn_entity_experience_orb
2094
+ - animation
2095
+ - statistics
2096
+ - acknowledge_player_digging
2097
+ - block_break_animation
2098
+ - tile_entity_data
2099
+ - block_action
2100
+ - block_change
2101
+ - boss_bar
2102
+ - difficulty
2103
+ - chunk_batch_finished
2104
+ - chunk_batch_start
2105
+ - chunk_biomes
2106
+ - clear_titles
2107
+ - tab_complete
2108
+ - declare_commands
2109
+ - close_window
2110
+ - window_items
2111
+ - craft_progress_bar
2112
+ - set_slot
2113
+ - set_cooldown
2114
+ - chat_suggestions
2115
+ - custom_payload
2116
+ - damage_event
2117
+ - hide_message
2118
+ - kick_disconnect
2119
+ - profileless_chat
2120
+ - entity_status
2121
+ - explosion
2122
+ - unload_chunk
2123
+ - game_state_change
2124
+ - open_horse_window
2125
+ - hurt_animation
2126
+ - initialize_world_border
2127
+ - keep_alive
2128
+ - map_chunk
2129
+ - world_event
2130
+ - world_particles
2131
+ - update_light
2132
+ - login
2133
+ - map
2134
+ - trade_list
2135
+ - rel_entity_move
2136
+ - entity_move_look
2137
+ - entity_look
2138
+ - vehicle_move
2139
+ - open_book
2140
+ - open_window
2141
+ - open_sign_entity
2142
+ - ping
2143
+ - ping_response
2144
+ - craft_recipe_response
2145
+ - abilities
2146
+ - player_chat
2147
+ - end_combat_event
2148
+ - enter_combat_event
2149
+ - death_combat_event
2150
+ - player_remove
2151
+ - player_info
2152
+ - face_player
2153
+ - position
2154
+ - unlock_recipes
2155
+ - entity_destroy
2156
+ - remove_entity_effect
2157
+ - reset_score
2158
+ - remove_resource_pack
2159
+ - add_resource_pack
2160
+ - respawn
2161
+ - entity_head_rotation
2162
+ - multi_block_change
2163
+ - select_advancement_tab
2164
+ - server_data
2165
+ - action_bar
2166
+ - world_border_center
2167
+ - world_border_lerp_size
2168
+ - world_border_size
2169
+ - world_border_warning_delay
2170
+ - world_border_warning_reach
2171
+ - camera
2172
+ - held_item_slot
2173
+ - update_view_position
2174
+ - update_view_distance
2175
+ - spawn_position
2176
+ - scoreboard_display_objective
2177
+ - entity_metadata
2178
+ - attach_entity
2179
+ - entity_velocity
2180
+ - entity_equipment
2181
+ - experience
2182
+ - update_health
2183
+ - scoreboard_objective
2184
+ - set_passengers
2185
+ - teams
2186
+ - scoreboard_score
2187
+ - simulation_distance
2188
+ - set_title_subtitle
2189
+ - update_time
2190
+ - set_title_text
2191
+ - set_title_time
2192
+ - entity_sound_effect
2193
+ - sound_effect
2194
+ - start_configuration
2195
+ - stop_sound
2196
+ - system_chat
2197
+ - playerlist_header
2198
+ - nbt_query_response
2199
+ - collect
2200
+ - entity_teleport
2201
+ - set_ticking_state
2202
+ - step_tick
2203
+ - advancements
2204
+ - entity_update_attributes
2205
+ - entity_effect
2206
+ - declare_recipes
2207
+ - tags
2208
+ params: name ?
2209
+ if bundle_delimiter: void
2210
+ if spawn_entity: packet_spawn_entity
2211
+ if spawn_entity_experience_orb: packet_spawn_entity_experience_orb
2212
+ if animation: packet_animation
2213
+ if statistics: packet_statistics
2214
+ if acknowledge_player_digging: packet_acknowledge_player_digging
2215
+ if block_break_animation: packet_block_break_animation
2216
+ if tile_entity_data: packet_tile_entity_data
2217
+ if block_action: packet_block_action
2218
+ if block_change: packet_block_change
2219
+ if boss_bar: packet_boss_bar
2220
+ if difficulty: packet_difficulty
2221
+ if chunk_batch_finished: packet_chunk_batch_finished
2222
+ if chunk_batch_start: packet_chunk_batch_start
2223
+ if chunk_biomes: packet_chunk_biomes
2224
+ if clear_titles: packet_clear_titles
2225
+ if tab_complete: packet_tab_complete
2226
+ if declare_commands: packet_declare_commands
2227
+ if close_window: packet_close_window
2228
+ if window_items: packet_window_items
2229
+ if craft_progress_bar: packet_craft_progress_bar
2230
+ if set_slot: packet_set_slot
2231
+ if set_cooldown: packet_set_cooldown
2232
+ if chat_suggestions: packet_chat_suggestions
2233
+ if custom_payload: packet_custom_payload
2234
+ if damage_event: packet_damage_event
2235
+ if hide_message: packet_hide_message
2236
+ if kick_disconnect: packet_kick_disconnect
2237
+ if profileless_chat: packet_profileless_chat
2238
+ if entity_status: packet_entity_status
2239
+ if explosion: packet_explosion
2240
+ if unload_chunk: packet_unload_chunk
2241
+ if game_state_change: packet_game_state_change
2242
+ if open_horse_window: packet_open_horse_window
2243
+ if hurt_animation: packet_hurt_animation
2244
+ if initialize_world_border: packet_initialize_world_border
2245
+ if keep_alive: packet_keep_alive
2246
+ if map_chunk: packet_map_chunk
2247
+ if world_event: packet_world_event
2248
+ if world_particles: packet_world_particles
2249
+ if update_light: packet_update_light
2250
+ if login: packet_login
2251
+ if map: packet_map
2252
+ if trade_list: packet_trade_list
2253
+ if rel_entity_move: packet_rel_entity_move
2254
+ if entity_move_look: packet_entity_move_look
2255
+ if entity_look: packet_entity_look
2256
+ if vehicle_move: packet_vehicle_move
2257
+ if open_book: packet_open_book
2258
+ if open_window: packet_open_window
2259
+ if open_sign_entity: packet_open_sign_entity
2260
+ if ping: packet_ping
2261
+ if ping_response: packet_ping_response
2262
+ if craft_recipe_response: packet_craft_recipe_response
2263
+ if abilities: packet_abilities
2264
+ if player_chat: packet_player_chat
2265
+ if end_combat_event: packet_end_combat_event
2266
+ if enter_combat_event: packet_enter_combat_event
2267
+ if death_combat_event: packet_death_combat_event
2268
+ if player_remove: packet_player_remove
2269
+ if player_info: packet_player_info
2270
+ if face_player: packet_face_player
2271
+ if position: packet_position
2272
+ if unlock_recipes: packet_unlock_recipes
2273
+ if entity_destroy: packet_entity_destroy
2274
+ if remove_entity_effect: packet_remove_entity_effect
2275
+ if reset_score: packet_reset_score
2276
+ if remove_resource_pack: packet_remove_resource_pack
2277
+ if add_resource_pack: packet_add_resource_pack
2278
+ if respawn: packet_respawn
2279
+ if entity_head_rotation: packet_entity_head_rotation
2280
+ if multi_block_change: packet_multi_block_change
2281
+ if select_advancement_tab: packet_select_advancement_tab
2282
+ if server_data: packet_server_data
2283
+ if action_bar: packet_action_bar
2284
+ if world_border_center: packet_world_border_center
2285
+ if world_border_lerp_size: packet_world_border_lerp_size
2286
+ if world_border_size: packet_world_border_size
2287
+ if world_border_warning_delay: packet_world_border_warning_delay
2288
+ if world_border_warning_reach: packet_world_border_warning_reach
2289
+ if camera: packet_camera
2290
+ if held_item_slot: packet_held_item_slot
2291
+ if update_view_position: packet_update_view_position
2292
+ if update_view_distance: packet_update_view_distance
2293
+ if spawn_position: packet_spawn_position
2294
+ if scoreboard_display_objective: packet_scoreboard_display_objective
2295
+ if entity_metadata: packet_entity_metadata
2296
+ if attach_entity: packet_attach_entity
2297
+ if entity_velocity: packet_entity_velocity
2298
+ if entity_equipment: packet_entity_equipment
2299
+ if experience: packet_experience
2300
+ if update_health: packet_update_health
2301
+ if scoreboard_objective: packet_scoreboard_objective
2302
+ if set_passengers: packet_set_passengers
2303
+ if teams: packet_teams
2304
+ if scoreboard_score: packet_scoreboard_score
2305
+ if simulation_distance: packet_simulation_distance
2306
+ if set_title_subtitle: packet_set_title_subtitle
2307
+ if update_time: packet_update_time
2308
+ if set_title_text: packet_set_title_text
2309
+ if set_title_time: packet_set_title_time
2310
+ if entity_sound_effect: packet_entity_sound_effect
2311
+ if sound_effect: packet_sound_effect
2312
+ if start_configuration: packet_start_configuration
2313
+ if stop_sound: packet_stop_sound
2314
+ if system_chat: packet_system_chat
2315
+ if playerlist_header: packet_playerlist_header
2316
+ if nbt_query_response: packet_nbt_query_response
2317
+ if collect: packet_collect
2318
+ if entity_teleport: packet_entity_teleport
2319
+ if advancements: packet_advancements
2320
+ if entity_update_attributes: packet_entity_update_attributes
2321
+ if entity_effect: packet_entity_effect
2322
+ if declare_recipes: packet_declare_recipes
2323
+ if tags: packet_tags
2324
+ if set_ticking_state: packet_set_ticking_state
2325
+ if step_tick: packet_step_tick
2326
+ ^play.toServer.types:
2327
+ # MC: ServerboundAcceptTeleportationPacket
2328
+ packet_teleport_confirm:
2329
+ teleportId: varint
2330
+ # MC: ServerboundBlockEntityTagQuery
2331
+ packet_query_block_nbt:
2332
+ transactionId: varint
2333
+ location: position
2334
+ # MC: ServerboundChatCommandPacket
2335
+ packet_chat_command:
2336
+ command: string
2337
+ timestamp: i64
2338
+ salt: i64
2339
+ argumentSignatures: []varint
2340
+ argumentName: string
2341
+ signature: [
2342
+ "buffer",
2343
+ {
2344
+ "count": 256
2345
+ }
2346
+ ]
2347
+ messageCount: varint
2348
+ acknowledged: [
2349
+ "buffer",
2350
+ {
2351
+ "count": 3
2352
+ }
2353
+ ]
2354
+ # MC: ServerboundChatPacket
2355
+ packet_chat_message:
2356
+ message: string
2357
+ timestamp: i64
2358
+ salt: i64
2359
+ signature?: [
2360
+ "buffer",
2361
+ {
2362
+ "count": 256
2363
+ }
2364
+ ]
2365
+ offset: varint
2366
+ acknowledged: [
2367
+ "buffer",
2368
+ {
2369
+ "count": 3
2370
+ }
2371
+ ]
2372
+ # MC: ServerboundChangeDifficultyPacket
2373
+ packet_set_difficulty:
2374
+ newDifficulty: u8
2375
+ # MC: ServerboundChatAckPacket
2376
+ packet_message_acknowledgement:
2377
+ count: varint
2378
+ # MC: ServerboundEditBookPacket
2379
+ packet_edit_book:
2380
+ hand: varint
2381
+ pages: string[]varint
2382
+ title?: string
2383
+ # MC: ServerboundEntityTagQuery
2384
+ packet_query_entity_nbt:
2385
+ transactionId: varint
2386
+ entityId: varint
2387
+ # MC: ServerboundPickItemPacket
2388
+ packet_pick_item:
2389
+ slot: varint
2390
+ # MC: ServerboundRenameItemPacket
2391
+ packet_name_item:
2392
+ name: string
2393
+ # MC: ServerboundSelectTradePacket
2394
+ packet_select_trade:
2395
+ slot: varint
2396
+ # MC: ServerboundSetBeaconPacket
2397
+ packet_set_beacon_effect:
2398
+ primary_effect?: varint
2399
+ secondary_effect?: varint
2400
+ # MC: ServerboundSetCommandBlockPacket
2401
+ packet_update_command_block:
2402
+ location: position
2403
+ command: string
2404
+ mode: varint
2405
+ flags: u8
2406
+ # MC: ServerboundSetCommandMinecartPacket
2407
+ packet_update_command_block_minecart:
2408
+ entityId: varint
2409
+ command: string
2410
+ track_output: bool
2411
+ # MC: ServerboundSetStructureBlockPacket
2412
+ packet_update_structure_block:
2413
+ location: position
2414
+ action: varint
2415
+ mode: varint
2416
+ name: string
2417
+ offset_x: i8
2418
+ offset_y: i8
2419
+ offset_z: i8
2420
+ size_x: i8
2421
+ size_y: i8
2422
+ size_z: i8
2423
+ mirror: varint
2424
+ rotation: varint
2425
+ metadata: string
2426
+ integrity: f32
2427
+ seed: varint
2428
+ flags: u8
2429
+ # MC: ServerboundCommandSuggestionPacket
2430
+ packet_tab_complete:
2431
+ transactionId: varint
2432
+ text: string
2433
+ # MC: ServerboundClientCommandPacket
2434
+ packet_client_command:
2435
+ actionId: varint
2436
+ # MC: ServerboundClientInformationPacket
2437
+ packet_settings:
2438
+ locale: string
2439
+ viewDistance: i8
2440
+ chatFlags: varint
2441
+ chatColors: bool
2442
+ skinParts: u8
2443
+ mainHand: varint
2444
+ enableTextFiltering: bool
2445
+ enableServerListing: bool
2446
+ # MC: ServerboundContainerButtonClickPacket
2447
+ packet_enchant_item:
2448
+ windowId: i8
2449
+ enchantment: i8
2450
+ # MC: ServerboundContainerClickPacket
2451
+ packet_window_click:
2452
+ windowId: u8
2453
+ stateId: varint
2454
+ slot: i16
2455
+ mouseButton: i8
2456
+ mode: varint
2457
+ changedSlots: []varint
2458
+ location: i16
2459
+ item: slot
2460
+ cursorItem: slot
2461
+ # MC: ServerboundContainerClosePacket
2462
+ packet_close_window:
2463
+ windowId: u8
2464
+ # MC: ServerboundCustomPayloadPacket
2465
+ packet_custom_payload:
2466
+ channel: string
2467
+ data: restBuffer
2468
+ # MC: ServerboundInteractPacket
2469
+ packet_use_entity:
2470
+ target: varint
2471
+ mouse: varint
2472
+ x: mouse ?
2473
+ if 2: f32
2474
+ default: void
2475
+ y: mouse ?
2476
+ if 2: f32
2477
+ default: void
2478
+ z: mouse ?
2479
+ if 2: f32
2480
+ default: void
2481
+ hand: mouse ?
2482
+ if 0: varint
2483
+ if 2: varint
2484
+ default: void
2485
+ sneaking: bool
2486
+ # MC: ServerboundJigsawGeneratePacket
2487
+ packet_generate_structure:
2488
+ location: position
2489
+ levels: varint
2490
+ keepJigsaws: bool
2491
+ # MC: ServerboundKeepAlivePacket
2492
+ packet_keep_alive:
2493
+ keepAliveId: i64
2494
+ # MC: ServerboundLockDifficultyPacket
2495
+ packet_lock_difficulty:
2496
+ locked: bool
2497
+ # MC: ServerboundMovePlayerPacket.Pos
2498
+ packet_position:
2499
+ x: f64
2500
+ y: f64
2501
+ z: f64
2502
+ onGround: bool
2503
+ # MC: ServerboundMovePlayerPacket.PosRot
2504
+ packet_position_look:
2505
+ x: f64
2506
+ y: f64
2507
+ z: f64
2508
+ yaw: f32
2509
+ pitch: f32
2510
+ onGround: bool
2511
+ # MC: ServerboundMovePlayerPacket.Rot
2512
+ packet_look:
2513
+ yaw: f32
2514
+ pitch: f32
2515
+ onGround: bool
2516
+ # MC: ServerboundMovePlayerPacket.StatusOnly
2517
+ packet_flying:
2518
+ onGround: bool
2519
+ # MC: ServerboundMoveVehiclePacket
2520
+ packet_vehicle_move:
2521
+ x: f64
2522
+ y: f64
2523
+ z: f64
2524
+ yaw: f32
2525
+ pitch: f32
2526
+ # MC: ServerboundPaddleBoatPacket
2527
+ packet_steer_boat:
2528
+ leftPaddle: bool
2529
+ rightPaddle: bool
2530
+ # MC: ServerboundPlaceRecipePacket
2531
+ packet_craft_recipe_request:
2532
+ windowId: i8
2533
+ recipe: string
2534
+ makeAll: bool
2535
+ # MC: ServerboundPlayerAbilitiesPacket
2536
+ packet_abilities:
2537
+ flags: i8
2538
+ # MC: ServerboundPlayerActionPacket
2539
+ packet_block_dig:
2540
+ status: varint
2541
+ location: position
2542
+ face: i8
2543
+ sequence: varint
2544
+ # MC: ServerboundPlayerCommandPacket
2545
+ packet_entity_action:
2546
+ entityId: varint
2547
+ actionId: varint
2548
+ jumpBoost: varint
2549
+ # MC: ServerboundPlayerInputPacket
2550
+ packet_steer_vehicle:
2551
+ sideways: f32
2552
+ forward: f32
2553
+ jump: u8
2554
+ # MC: ServerboundRecipeBookSeenRecipePacket
2555
+ packet_displayed_recipe:
2556
+ recipeId: string
2557
+ # MC: ServerboundRecipeBookChangeSettingsPacket
2558
+ packet_recipe_book:
2559
+ bookId: varint
2560
+ bookOpen: bool
2561
+ filterActive: bool
2562
+ # MC: ServerboundResourcePackPacket
2563
+ packet_resource_pack_receive:
2564
+ uuid: UUID
2565
+ result: varint
2566
+ # MC: ServerboundSetCarriedItemPacket
2567
+ packet_held_item_slot:
2568
+ slotId: i16
2569
+ # MC: ServerboundSetCreativeModeSlotPacket
2570
+ packet_set_creative_slot:
2571
+ slot: i16
2572
+ item: slot
2573
+ # MC: ServerboundSetJigsawBlockPacket
2574
+ packet_update_jigsaw_block:
2575
+ location: position
2576
+ name: string
2577
+ target: string
2578
+ pool: string
2579
+ finalState: string
2580
+ jointType: string
2581
+ selection_priority: varint
2582
+ placement_priority: varint
2583
+ # MC: ServerboundSignUpdatePacket
2584
+ packet_update_sign:
2585
+ location: position
2586
+ isFrontText: bool
2587
+ text1: string
2588
+ text2: string
2589
+ text3: string
2590
+ text4: string
2591
+ # MC: ServerboundSwingPacket
2592
+ packet_arm_animation:
2593
+ hand: varint
2594
+ # MC: ServerboundTeleportToEntityPacket
2595
+ packet_spectate:
2596
+ target: UUID
2597
+ # MC: ServerboundUseItemOnPacket
2598
+ packet_block_place:
2599
+ hand: varint
2600
+ location: position
2601
+ direction: varint
2602
+ cursorX: f32
2603
+ cursorY: f32
2604
+ cursorZ: f32
2605
+ insideBlock: bool
2606
+ sequence: varint
2607
+ # MC: ServerboundUseItemPacket
2608
+ packet_use_item:
2609
+ hand: varint
2610
+ sequence: varint
2611
+ # MC: ServerboundSeenAdvancementsPacket
2612
+ packet_advancement_tab:
2613
+ action: varint
2614
+ tabId: action ?
2615
+ if 0: string
2616
+ if 1: void
2617
+ # MC: ServerboundPongPacket
2618
+ packet_pong:
2619
+ id: i32
2620
+ # MC: ServerboundChatSessionUpdatePacket
2621
+ packet_chat_session_update:
2622
+ sessionUUID: UUID
2623
+ expireTime: i64
2624
+ publicKey: [
2625
+ "buffer",
2626
+ {
2627
+ "countType": "varint"
2628
+ }
2629
+ ]
2630
+ signature: [
2631
+ "buffer",
2632
+ {
2633
+ "countType": "varint"
2634
+ }
2635
+ ]
2636
+ # MC: ServerboundChunkBatchReceivedPacket
2637
+ packet_chunk_batch_received:
2638
+ chunksPerTick: f32
2639
+ # MC: ServerboundConfigurationAcknowledgedPacket
2640
+ packet_configuration_acknowledged:
2641
+ # Empty
2642
+ # MC: ServerboundPingRequestPacket
2643
+ packet_ping_request:
2644
+ id: i64
2645
+ # MC: ServerboundContainerSlotStateChangedPacket
2646
+ packet_set_slot_state:
2647
+ slot_id: varint
2648
+ window_id: varint
2649
+ state: bool
2650
+ packet:
2651
+ name: varint =>
2652
+ - teleport_confirm
2653
+ - query_block_nbt
2654
+ - set_difficulty
2655
+ - message_acknowledgement
2656
+ - chat_command
2657
+ - chat_message
2658
+ - chat_session_update
2659
+ - chunk_batch_received
2660
+ - client_command
2661
+ - settings
2662
+ - tab_complete
2663
+ - configuration_acknowledged
2664
+ - enchant_item
2665
+ - window_click
2666
+ - close_window
2667
+ - set_slot_state
2668
+ - custom_payload
2669
+ - edit_book
2670
+ - query_entity_nbt
2671
+ - use_entity
2672
+ - generate_structure
2673
+ - keep_alive
2674
+ - lock_difficulty
2675
+ - position
2676
+ - position_look
2677
+ - look
2678
+ - flying
2679
+ - vehicle_move
2680
+ - steer_boat
2681
+ - pick_item
2682
+ - ping_request
2683
+ - craft_recipe_request
2684
+ - abilities
2685
+ - block_dig
2686
+ - entity_action
2687
+ - steer_vehicle
2688
+ - pong
2689
+ - recipe_book
2690
+ - displayed_recipe
2691
+ - name_item
2692
+ - resource_pack_receive
2693
+ - advancement_tab
2694
+ - select_trade
2695
+ - set_beacon_effect
2696
+ - held_item_slot
2697
+ - update_command_block
2698
+ - update_command_block_minecart
2699
+ - set_creative_slot
2700
+ - update_jigsaw_block
2701
+ - update_structure_block
2702
+ - update_sign
2703
+ - arm_animation
2704
+ - spectate
2705
+ - block_place
2706
+ - use_item
2707
+ params: name ?
2708
+ if teleport_confirm: packet_teleport_confirm
2709
+ if query_block_nbt: packet_query_block_nbt
2710
+ if set_difficulty: packet_set_difficulty
2711
+ if message_acknowledgement: packet_message_acknowledgement
2712
+ if chat_command: packet_chat_command
2713
+ if chat_message: packet_chat_message
2714
+ if client_command: packet_client_command
2715
+ if settings: packet_settings
2716
+ if tab_complete: packet_tab_complete
2717
+ if enchant_item: packet_enchant_item
2718
+ if window_click: packet_window_click
2719
+ if close_window: packet_close_window
2720
+ if custom_payload: packet_custom_payload
2721
+ if edit_book: packet_edit_book
2722
+ if query_entity_nbt: packet_query_entity_nbt
2723
+ if use_entity: packet_use_entity
2724
+ if generate_structure: packet_generate_structure
2725
+ if keep_alive: packet_keep_alive
2726
+ if lock_difficulty: packet_lock_difficulty
2727
+ if position: packet_position
2728
+ if position_look: packet_position_look
2729
+ if look: packet_look
2730
+ if flying: packet_flying
2731
+ if vehicle_move: packet_vehicle_move
2732
+ if steer_boat: packet_steer_boat
2733
+ if pick_item: packet_pick_item
2734
+ if craft_recipe_request: packet_craft_recipe_request
2735
+ if abilities: packet_abilities
2736
+ if block_dig: packet_block_dig
2737
+ if entity_action: packet_entity_action
2738
+ if steer_vehicle: packet_steer_vehicle
2739
+ if pong: packet_pong
2740
+ if chat_session_update: packet_chat_session_update
2741
+ if recipe_book: packet_recipe_book
2742
+ if displayed_recipe: packet_displayed_recipe
2743
+ if name_item: packet_name_item
2744
+ if resource_pack_receive: packet_resource_pack_receive
2745
+ if advancement_tab: packet_advancement_tab
2746
+ if select_trade: packet_select_trade
2747
+ if set_beacon_effect: packet_set_beacon_effect
2748
+ if held_item_slot: packet_held_item_slot
2749
+ if update_command_block: packet_update_command_block
2750
+ if update_command_block_minecart: packet_update_command_block_minecart
2751
+ if set_creative_slot: packet_set_creative_slot
2752
+ if update_jigsaw_block: packet_update_jigsaw_block
2753
+ if update_structure_block: packet_update_structure_block
2754
+ if update_sign: packet_update_sign
2755
+ if arm_animation: packet_arm_animation
2756
+ if spectate: packet_spectate
2757
+ if block_place: packet_block_place
2758
+ if use_item: packet_use_item
2759
+ if chunk_batch_received: packet_chunk_batch_received
2760
+ if configuration_acknowledged: packet_configuration_acknowledged
2761
+ if ping_request: packet_ping_request
2762
+ if set_slot_state: packet_set_slot_state