{
  "types": {
    "varint": "native",
    "pstring": "native",
    "u16": "native",
    "u8": "native",
    "i64": "native",
    "buffer": "native",
    "i32": "native",
    "i8": "native",
    "bool": "native",
    "i16": "native",
    "f32": "native",
    "f64": "native",
    "UUID": "native",
    "option": "native",
    "entityMetadataLoop": "native",
    "bitfield": "native",
    "container": "native",
    "switch": "native",
    "void": "native",
    "array": "native",
    "restBuffer": "native",
    "nbt": "native",
    "compressedNbt": "native",
    "string": [
      "pstring",
      {
        "countType": "varint"
      }
    ],
    "slot": [
      "container",
      [
        {
          "name": "blockId",
          "type": "i16"
        },
        {
          "anon": true,
          "type": [
            "switch",
            {
              "compareTo": "blockId",
              "fields": {
                "-1": "void"
              },
              "default": [
                "container",
                [
                  {
                    "name": "itemCount",
                    "type": "i8"
                  },
                  {
                    "name": "itemDamage",
                    "type": "i16"
                  },
                  {
                    "name": "nbtData",
                    "type": "compressedNbt"
                  }
                ]
              ]
            }
          ]
        }
      ]
    ],
    "position_iii": [
      "container",
      [
        {
          "name": "x",
          "type": "i32"
        },
        {
          "name": "y",
          "type": "i32"
        },
        {
          "name": "z",
          "type": "i32"
        }
      ]
    ],
    "position_isi": [
      "container",
      [
        {
          "name": "x",
          "type": "i32"
        },
        {
          "name": "y",
          "type": "i16"
        },
        {
          "name": "z",
          "type": "i32"
        }
      ]
    ],
    "position_ibi": [
      "container",
      [
        {
          "name": "x",
          "type": "i32"
        },
        {
          "name": "y",
          "type": "u8"
        },
        {
          "name": "z",
          "type": "i32"
        }
      ]
    ],
    "entityMetadataItem": [
      "switch",
      {
        "compareTo": "$compareTo",
        "fields": {
          "0": "i8",
          "1": "i16",
          "2": "i32",
          "3": "f32",
          "4": "string",
          "5": "slot",
          "6": [
            "container",
            [
              {
                "name": "x",
                "type": "i32"
              },
              {
                "name": "y",
                "type": "i32"
              },
              {
                "name": "z",
                "type": "i32"
              }
            ]
          ],
          "7": [
            "container",
            [
              {
                "name": "pitch",
                "type": "f32"
              },
              {
                "name": "yaw",
                "type": "f32"
              },
              {
                "name": "roll",
                "type": "f32"
              }
            ]
          ]
        }
      }
    ],
    "entityMetadata": [
      "entityMetadataLoop",
      {
        "endVal": 127,
        "type": [
          "container",
          [
            {
              "anon": true,
              "type": [
                "bitfield",
                [
                  {
                    "name": "type",
                    "size": 3,
                    "signed": false
                  },
                  {
                    "name": "key",
                    "size": 5,
                    "signed": false
                  }
                ]
              ]
            },
            {
              "name": "value",
              "type": [
                "entityMetadataItem",
                {
                  "compareTo": "type"
                }
              ]
            }
          ]
        ]
      }
    ]
  },
  "handshaking": {
    "toClient": {
      "types": {
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {}
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {}
                }
              ]
            }
          ]
        ]
      }
    },
    "toServer": {
      "types": {
        "packet_set_protocol": [
          "container",
          [
            {
              "name": "protocolVersion",
              "type": "varint"
            },
            {
              "name": "serverHost",
              "type": "string"
            },
            {
              "name": "serverPort",
              "type": "u16"
            },
            {
              "name": "nextState",
              "type": "varint"
            }
          ]
        ],
        "packet_legacy_server_list_ping": [
          "container",
          [
            {
              "name": "payload",
              "type": "u8"
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "set_protocol",
                    "0xfe": "legacy_server_list_ping"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "set_protocol": "packet_set_protocol",
                    "legacy_server_list_ping": "packet_legacy_server_list_ping"
                  }
                }
              ]
            }
          ]
        ]
      }
    }
  },
  "status": {
    "toClient": {
      "types": {
        "packet_server_info": [
          "container",
          [
            {
              "name": "response",
              "type": "string"
            }
          ]
        ],
        "packet_ping": [
          "container",
          [
            {
              "name": "time",
              "type": "i64"
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "server_info",
                    "0x01": "ping"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "server_info": "packet_server_info",
                    "ping": "packet_ping"
                  }
                }
              ]
            }
          ]
        ]
      }
    },
    "toServer": {
      "types": {
        "packet_ping_start": [
          "container",
          []
        ],
        "packet_ping": [
          "container",
          [
            {
              "name": "time",
              "type": "i64"
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "ping_start",
                    "0x01": "ping"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "ping_start": "packet_ping_start",
                    "ping": "packet_ping"
                  }
                }
              ]
            }
          ]
        ]
      }
    }
  },
  "login": {
    "toClient": {
      "types": {
        "packet_disconnect": [
          "container",
          [
            {
              "name": "reason",
              "type": "string"
            }
          ]
        ],
        "packet_encryption_begin": [
          "container",
          [
            {
              "name": "serverId",
              "type": "string"
            },
            {
              "name": "publicKey",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            },
            {
              "name": "verifyToken",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            }
          ]
        ],
        "packet_success": [
          "container",
          [
            {
              "name": "uuid",
              "type": "string"
            },
            {
              "name": "username",
              "type": "string"
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "disconnect",
                    "0x01": "encryption_begin",
                    "0x02": "success"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "disconnect": "packet_disconnect",
                    "encryption_begin": "packet_encryption_begin",
                    "success": "packet_success"
                  }
                }
              ]
            }
          ]
        ]
      }
    },
    "toServer": {
      "types": {
        "packet_login_start": [
          "container",
          [
            {
              "name": "username",
              "type": "string"
            }
          ]
        ],
        "packet_encryption_begin": [
          "container",
          [
            {
              "name": "sharedSecret",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            },
            {
              "name": "verifyToken",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "login_start",
                    "0x01": "encryption_begin"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "login_start": "packet_login_start",
                    "encryption_begin": "packet_encryption_begin"
                  }
                }
              ]
            }
          ]
        ]
      }
    }
  },
  "play": {
    "toClient": {
      "types": {
        "packet_keep_alive": [
          "container",
          [
            {
              "name": "keepAliveId",
              "type": "i32"
            }
          ]
        ],
        "packet_login": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "gameMode",
              "type": "u8"
            },
            {
              "name": "dimension",
              "type": "i8"
            },
            {
              "name": "difficulty",
              "type": "u8"
            },
            {
              "name": "maxPlayers",
              "type": "u8"
            },
            {
              "name": "levelType",
              "type": "string"
            }
          ]
        ],
        "packet_chat": [
          "container",
          [
            {
              "name": "message",
              "type": "string"
            }
          ]
        ],
        "packet_update_time": [
          "container",
          [
            {
              "name": "age",
              "type": "i64"
            },
            {
              "name": "time",
              "type": "i64"
            }
          ]
        ],
        "packet_entity_equipment": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "slot",
              "type": "i16"
            },
            {
              "name": "item",
              "type": "slot"
            }
          ]
        ],
        "packet_spawn_position": [
          "container",
          [
            {
              "name": "location",
              "type": "position_iii"
            }
          ]
        ],
        "packet_update_health": [
          "container",
          [
            {
              "name": "health",
              "type": "f32"
            },
            {
              "name": "food",
              "type": "i16"
            },
            {
              "name": "foodSaturation",
              "type": "f32"
            }
          ]
        ],
        "packet_respawn": [
          "container",
          [
            {
              "name": "dimension",
              "type": "i32"
            },
            {
              "name": "difficulty",
              "type": "u8"
            },
            {
              "name": "gamemode",
              "type": "u8"
            },
            {
              "name": "levelType",
              "type": "string"
            }
          ]
        ],
        "packet_position": [
          "container",
          [
            {
              "name": "x",
              "type": "f64"
            },
            {
              "name": "y",
              "type": "f64"
            },
            {
              "name": "z",
              "type": "f64"
            },
            {
              "name": "yaw",
              "type": "f32"
            },
            {
              "name": "pitch",
              "type": "f32"
            },
            {
              "name": "onGround",
              "type": "bool"
            }
          ]
        ],
        "packet_held_item_slot": [
          "container",
          [
            {
              "name": "slot",
              "type": "i8"
            }
          ]
        ],
        "packet_bed": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "location",
              "type": "position_ibi"
            }
          ]
        ],
        "packet_animation": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "animation",
              "type": "u8"
            }
          ]
        ],
        "packet_named_entity_spawn": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "playerUUID",
              "type": "string"
            },
            {
              "name": "playerName",
              "type": "string"
            },
            {
              "name": "data",
              "type": [
                "array",
                {
                  "countType": "varint",
                  "type": [
                    "container",
                    [
                      {
                        "name": "name",
                        "type": "string"
                      },
                      {
                        "name": "value",
                        "type": "string"
                      },
                      {
                        "name": "signature",
                        "type": "string"
                      }
                    ]
                  ]
                }
              ]
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "yaw",
              "type": "i8"
            },
            {
              "name": "pitch",
              "type": "i8"
            },
            {
              "name": "currentItem",
              "type": "i16"
            },
            {
              "name": "metadata",
              "type": "entityMetadata"
            }
          ]
        ],
        "packet_collect": [
          "container",
          [
            {
              "name": "collectedEntityId",
              "type": "i32"
            },
            {
              "name": "collectorEntityId",
              "type": "i32"
            }
          ]
        ],
        "packet_spawn_entity": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "type",
              "type": "i8"
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "pitch",
              "type": "i8"
            },
            {
              "name": "yaw",
              "type": "i8"
            },
            {
              "name": "objectData",
              "type": [
                "container",
                [
                  {
                    "name": "intField",
                    "type": "i32"
                  },
                  {
                    "name": "velocityX",
                    "type": [
                      "switch",
                      {
                        "compareTo": "intField",
                        "fields": {
                          "0": "void"
                        },
                        "default": "i16"
                      }
                    ]
                  },
                  {
                    "name": "velocityY",
                    "type": [
                      "switch",
                      {
                        "compareTo": "intField",
                        "fields": {
                          "0": "void"
                        },
                        "default": "i16"
                      }
                    ]
                  },
                  {
                    "name": "velocityZ",
                    "type": [
                      "switch",
                      {
                        "compareTo": "intField",
                        "fields": {
                          "0": "void"
                        },
                        "default": "i16"
                      }
                    ]
                  }
                ]
              ]
            }
          ]
        ],
        "packet_spawn_entity_living": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "type",
              "type": "u8"
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "yaw",
              "type": "i8"
            },
            {
              "name": "pitch",
              "type": "i8"
            },
            {
              "name": "headPitch",
              "type": "i8"
            },
            {
              "name": "velocityX",
              "type": "i16"
            },
            {
              "name": "velocityY",
              "type": "i16"
            },
            {
              "name": "velocityZ",
              "type": "i16"
            },
            {
              "name": "metadata",
              "type": "entityMetadata"
            }
          ]
        ],
        "packet_spawn_entity_painting": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "title",
              "type": "string"
            },
            {
              "name": "location",
              "type": "position_iii"
            },
            {
              "name": "direction",
              "type": "i32"
            }
          ]
        ],
        "packet_spawn_entity_experience_orb": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "count",
              "type": "i16"
            }
          ]
        ],
        "packet_entity_velocity": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "velocityX",
              "type": "i16"
            },
            {
              "name": "velocityY",
              "type": "i16"
            },
            {
              "name": "velocityZ",
              "type": "i16"
            }
          ]
        ],
        "packet_entity_destroy": [
          "container",
          [
            {
              "name": "entityIds",
              "type": [
                "array",
                {
                  "countType": "i8",
                  "type": "i32"
                }
              ]
            }
          ]
        ],
        "packet_entity": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            }
          ]
        ],
        "packet_rel_entity_move": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "dX",
              "type": "i8"
            },
            {
              "name": "dY",
              "type": "i8"
            },
            {
              "name": "dZ",
              "type": "i8"
            }
          ]
        ],
        "packet_entity_look": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "yaw",
              "type": "i8"
            },
            {
              "name": "pitch",
              "type": "i8"
            }
          ]
        ],
        "packet_entity_move_look": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "dX",
              "type": "i8"
            },
            {
              "name": "dY",
              "type": "i8"
            },
            {
              "name": "dZ",
              "type": "i8"
            },
            {
              "name": "yaw",
              "type": "i8"
            },
            {
              "name": "pitch",
              "type": "i8"
            }
          ]
        ],
        "packet_entity_teleport": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "yaw",
              "type": "i8"
            },
            {
              "name": "pitch",
              "type": "i8"
            }
          ]
        ],
        "packet_entity_head_rotation": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "headYaw",
              "type": "i8"
            }
          ]
        ],
        "packet_entity_status": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "entityStatus",
              "type": "i8"
            }
          ]
        ],
        "packet_attach_entity": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "vehicleId",
              "type": "i32"
            },
            {
              "name": "leash",
              "type": "bool"
            }
          ]
        ],
        "packet_entity_metadata": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "metadata",
              "type": "entityMetadata"
            }
          ]
        ],
        "packet_entity_effect": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "effectId",
              "type": "i8"
            },
            {
              "name": "amplifier",
              "type": "i8"
            },
            {
              "name": "duration",
              "type": "i16"
            }
          ]
        ],
        "packet_remove_entity_effect": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "effectId",
              "type": "i8"
            }
          ]
        ],
        "packet_experience": [
          "container",
          [
            {
              "name": "experienceBar",
              "type": "f32"
            },
            {
              "name": "level",
              "type": "i16"
            },
            {
              "name": "totalExperience",
              "type": "i16"
            }
          ]
        ],
        "packet_update_attributes": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "properties",
              "type": [
                "array",
                {
                  "countType": "i32",
                  "type": [
                    "container",
                    [
                      {
                        "name": "key",
                        "type": "string"
                      },
                      {
                        "name": "value",
                        "type": "f64"
                      },
                      {
                        "name": "modifiers",
                        "type": [
                          "array",
                          {
                            "countType": "i16",
                            "type": [
                              "container",
                              [
                                {
                                  "name": "uuid",
                                  "type": "UUID"
                                },
                                {
                                  "name": "amount",
                                  "type": "f64"
                                },
                                {
                                  "name": "operation",
                                  "type": "i8"
                                }
                              ]
                            ]
                          }
                        ]
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        ],
        "packet_map_chunk": [
          "container",
          [
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "groundUp",
              "type": "bool"
            },
            {
              "name": "bitMap",
              "type": "u16"
            },
            {
              "name": "addBitMap",
              "type": "u16"
            },
            {
              "name": "compressedChunkData",
              "type": [
                "buffer",
                {
                  "countType": "i32"
                }
              ]
            }
          ]
        ],
        "packet_multi_block_change": [
          "container",
          [
            {
              "name": "chunkX",
              "type": "i32"
            },
            {
              "name": "chunkZ",
              "type": "i32"
            },
            {
              "name": "recordCount",
              "type": [
                "count",
                {
                  "type": "i16",
                  "countFor": "records"
                }
              ]
            },
            {
              "name": "dataLength",
              "type": "i32"
            },
            {
              "name": "records",
              "type": [
                "array",
                {
                  "count": "recordCount",
                  "type": [
                    "container",
                    [
                      {
                        "anon": true,
                        "type": [
                          "bitfield",
                          [
                            {
                              "name": "metadata",
                              "size": 4,
                              "signed": false
                            },
                            {
                              "name": "blockId",
                              "size": 12,
                              "signed": false
                            }
                          ]
                        ]
                      },
                      {
                        "name": "y",
                        "type": "u8"
                      },
                      {
                        "anon": true,
                        "type": [
                          "bitfield",
                          [
                            {
                              "name": "z",
                              "size": 4,
                              "signed": false
                            },
                            {
                              "name": "x",
                              "size": 4,
                              "signed": false
                            }
                          ]
                        ]
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        ],
        "packet_block_change": [
          "container",
          [
            {
              "name": "location",
              "type": "position_ibi"
            },
            {
              "name": "type",
              "type": "varint"
            },
            {
              "name": "metadata",
              "type": "u8"
            }
          ]
        ],
        "packet_block_action": [
          "container",
          [
            {
              "name": "location",
              "type": "position_isi"
            },
            {
              "name": "byte1",
              "type": "u8"
            },
            {
              "name": "byte2",
              "type": "u8"
            },
            {
              "name": "blockId",
              "type": "varint"
            }
          ]
        ],
        "packet_block_break_animation": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "location",
              "type": "position_iii"
            },
            {
              "name": "destroyStage",
              "type": "i8"
            }
          ]
        ],
        "packet_map_chunk_bulk": [
          "container",
          [
            {
              "name": "chunkColumnCount",
              "type": [
                "count",
                {
                  "type": "i16",
                  "countFor": "meta"
                }
              ]
            },
            {
              "name": "dataLength",
              "type": [
                "count",
                {
                  "type": "i32",
                  "countFor": "compressedChunkData"
                }
              ]
            },
            {
              "name": "skyLightSent",
              "type": "bool"
            },
            {
              "name": "compressedChunkData",
              "type": [
                "buffer",
                {
                  "count": "dataLength"
                }
              ]
            },
            {
              "name": "meta",
              "type": [
                "array",
                {
                  "count": "chunkColumnCount",
                  "type": [
                    "container",
                    [
                      {
                        "name": "x",
                        "type": "i32"
                      },
                      {
                        "name": "z",
                        "type": "i32"
                      },
                      {
                        "name": "bitMap",
                        "type": "u16"
                      },
                      {
                        "name": "addBitMap",
                        "type": "u16"
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        ],
        "packet_explosion": [
          "container",
          [
            {
              "name": "x",
              "type": "f32"
            },
            {
              "name": "y",
              "type": "f32"
            },
            {
              "name": "z",
              "type": "f32"
            },
            {
              "name": "radius",
              "type": "f32"
            },
            {
              "name": "affectedBlockOffsets",
              "type": [
                "array",
                {
                  "countType": "i32",
                  "type": [
                    "container",
                    [
                      {
                        "name": "x",
                        "type": "i8"
                      },
                      {
                        "name": "y",
                        "type": "i8"
                      },
                      {
                        "name": "z",
                        "type": "i8"
                      }
                    ]
                  ]
                }
              ]
            },
            {
              "name": "playerMotionX",
              "type": "f32"
            },
            {
              "name": "playerMotionY",
              "type": "f32"
            },
            {
              "name": "playerMotionZ",
              "type": "f32"
            }
          ]
        ],
        "packet_world_event": [
          "container",
          [
            {
              "name": "effectId",
              "type": "i32"
            },
            {
              "name": "location",
              "type": "position_ibi"
            },
            {
              "name": "data",
              "type": "i32"
            },
            {
              "name": "global",
              "type": "bool"
            }
          ]
        ],
        "packet_named_sound_effect": [
          "container",
          [
            {
              "name": "soundName",
              "type": "string"
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            },
            {
              "name": "volume",
              "type": "f32"
            },
            {
              "name": "pitch",
              "type": "u8"
            }
          ]
        ],
        "packet_world_particles": [
          "container",
          [
            {
              "name": "particleName",
              "type": "string"
            },
            {
              "name": "x",
              "type": "f32"
            },
            {
              "name": "y",
              "type": "f32"
            },
            {
              "name": "z",
              "type": "f32"
            },
            {
              "name": "offsetX",
              "type": "f32"
            },
            {
              "name": "offsetY",
              "type": "f32"
            },
            {
              "name": "offsetZ",
              "type": "f32"
            },
            {
              "name": "particleData",
              "type": "f32"
            },
            {
              "name": "particles",
              "type": "i32"
            }
          ]
        ],
        "packet_game_state_change": [
          "container",
          [
            {
              "name": "reason",
              "type": "u8"
            },
            {
              "name": "gameMode",
              "type": "f32"
            }
          ]
        ],
        "packet_spawn_entity_weather": [
          "container",
          [
            {
              "name": "entityId",
              "type": "varint"
            },
            {
              "name": "type",
              "type": "i8"
            },
            {
              "name": "x",
              "type": "i32"
            },
            {
              "name": "y",
              "type": "i32"
            },
            {
              "name": "z",
              "type": "i32"
            }
          ]
        ],
        "packet_open_window": [
          "container",
          [
            {
              "name": "windowId",
              "type": "u8"
            },
            {
              "name": "inventoryType",
              "type": "u8"
            },
            {
              "name": "windowTitle",
              "type": "string"
            },
            {
              "name": "slotCount",
              "type": "u8"
            },
            {
              "name": "useProvidedTitle",
              "type": "bool"
            },
            {
              "name": "entityId",
              "type": [
                "switch",
                {
                  "compareTo": "inventoryType",
                  "fields": {
                    "11": "i32"
                  },
                  "default": "void"
                }
              ]
            }
          ]
        ],
        "packet_close_window": [
          "container",
          [
            {
              "name": "windowId",
              "type": "u8"
            }
          ]
        ],
        "packet_set_slot": [
          "container",
          [
            {
              "name": "windowId",
              "type": "i8"
            },
            {
              "name": "slot",
              "type": "i16"
            },
            {
              "name": "item",
              "type": "slot"
            }
          ]
        ],
        "packet_window_items": [
          "container",
          [
            {
              "name": "windowId",
              "type": "u8"
            },
            {
              "name": "items",
              "type": [
                "array",
                {
                  "countType": "i16",
                  "type": "slot"
                }
              ]
            }
          ]
        ],
        "packet_craft_progress_bar": [
          "container",
          [
            {
              "name": "windowId",
              "type": "u8"
            },
            {
              "name": "property",
              "type": "i16"
            },
            {
              "name": "value",
              "type": "i16"
            }
          ]
        ],
        "packet_transaction": [
          "container",
          [
            {
              "name": "windowId",
              "type": "u8"
            },
            {
              "name": "action",
              "type": "i16"
            },
            {
              "name": "accepted",
              "type": "bool"
            }
          ]
        ],
        "packet_update_sign": [
          "container",
          [
            {
              "name": "location",
              "type": "position_isi"
            },
            {
              "name": "text1",
              "type": "string"
            },
            {
              "name": "text2",
              "type": "string"
            },
            {
              "name": "text3",
              "type": "string"
            },
            {
              "name": "text4",
              "type": "string"
            }
          ]
        ],
        "packet_map": [
          "container",
          [
            {
              "name": "itemDamage",
              "type": "varint"
            },
            {
              "name": "data",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            }
          ]
        ],
        "packet_tile_entity_data": [
          "container",
          [
            {
              "name": "location",
              "type": "position_isi"
            },
            {
              "name": "action",
              "type": "u8"
            },
            {
              "name": "nbtData",
              "type": "compressedNbt"
            }
          ]
        ],
        "packet_open_sign_entity": [
          "container",
          [
            {
              "name": "location",
              "type": "position_iii"
            }
          ]
        ],
        "packet_statistics": [
          "container",
          [
            {
              "name": "entries",
              "type": [
                "array",
                {
                  "countType": "varint",
                  "type": [
                    "container",
                    [
                      {
                        "name": "name",
                        "type": "string"
                      },
                      {
                        "name": "value",
                        "type": "varint"
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        ],
        "packet_player_info": [
          "container",
          [
            {
              "name": "playerName",
              "type": "string"
            },
            {
              "name": "online",
              "type": "bool"
            },
            {
              "name": "ping",
              "type": "i16"
            }
          ]
        ],
        "packet_abilities": [
          "container",
          [
            {
              "name": "flags",
              "type": "i8"
            },
            {
              "name": "flyingSpeed",
              "type": "f32"
            },
            {
              "name": "walkingSpeed",
              "type": "f32"
            }
          ]
        ],
        "packet_tab_complete": [
          "container",
          [
            {
              "name": "matches",
              "type": [
                "array",
                {
                  "countType": "varint",
                  "type": "string"
                }
              ]
            }
          ]
        ],
        "packet_scoreboard_objective": [
          "container",
          [
            {
              "name": "name",
              "type": "string"
            },
            {
              "name": "displayText",
              "type": "string"
            },
            {
              "name": "action",
              "type": "i8"
            }
          ]
        ],
        "packet_scoreboard_score": [
          "container",
          [
            {
              "name": "itemName",
              "type": "string"
            },
            {
              "name": "action",
              "type": "i8"
            },
            {
              "name": "scoreName",
              "type": [
                "switch",
                {
                  "compareTo": "action",
                  "fields": {
                    "1": "void"
                  },
                  "default": "string"
                }
              ]
            },
            {
              "name": "value",
              "type": [
                "switch",
                {
                  "compareTo": "action",
                  "fields": {
                    "1": "void"
                  },
                  "default": "i32"
                }
              ]
            }
          ]
        ],
        "packet_scoreboard_display_objective": [
          "container",
          [
            {
              "name": "position",
              "type": "i8"
            },
            {
              "name": "name",
              "type": "string"
            }
          ]
        ],
        "packet_scoreboard_team": [
          "container",
          [
            {
              "name": "team",
              "type": "string"
            },
            {
              "name": "mode",
              "type": "i8"
            },
            {
              "name": "name",
              "type": [
                "switch",
                {
                  "compareTo": "mode",
                  "fields": {
                    "0": "string",
                    "2": "string"
                  },
                  "default": "void"
                }
              ]
            },
            {
              "name": "prefix",
              "type": [
                "switch",
                {
                  "compareTo": "mode",
                  "fields": {
                    "0": "string",
                    "2": "string"
                  },
                  "default": "void"
                }
              ]
            },
            {
              "name": "suffix",
              "type": [
                "switch",
                {
                  "compareTo": "mode",
                  "fields": {
                    "0": "string",
                    "2": "string"
                  },
                  "default": "void"
                }
              ]
            },
            {
              "name": "friendlyFire",
              "type": [
                "switch",
                {
                  "compareTo": "mode",
                  "fields": {
                    "0": "i8",
                    "2": "i8"
                  },
                  "default": "void"
                }
              ]
            },
            {
              "name": "players",
              "type": [
                "switch",
                {
                  "compareTo": "mode",
                  "fields": {
                    "0": [
                      "array",
                      {
                        "countType": "i16",
                        "type": "string"
                      }
                    ],
                    "3": [
                      "array",
                      {
                        "countType": "i16",
                        "type": "string"
                      }
                    ],
                    "4": [
                      "array",
                      {
                        "countType": "i16",
                        "type": "string"
                      }
                    ]
                  },
                  "default": "void"
                }
              ]
            }
          ]
        ],
        "packet_custom_payload": [
          "container",
          [
            {
              "name": "channel",
              "type": "string"
            },
            {
              "name": "data",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            }
          ]
        ],
        "packet_kick_disconnect": [
          "container",
          [
            {
              "name": "reason",
              "type": "string"
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "keep_alive",
                    "0x01": "login",
                    "0x02": "chat",
                    "0x03": "update_time",
                    "0x04": "entity_equipment",
                    "0x05": "spawn_position",
                    "0x06": "update_health",
                    "0x07": "respawn",
                    "0x08": "position",
                    "0x09": "held_item_slot",
                    "0x0a": "bed",
                    "0x0b": "animation",
                    "0x0c": "named_entity_spawn",
                    "0x0d": "collect",
                    "0x0e": "spawn_entity",
                    "0x0f": "spawn_entity_living",
                    "0x10": "spawn_entity_painting",
                    "0x11": "spawn_entity_experience_orb",
                    "0x12": "entity_velocity",
                    "0x13": "entity_destroy",
                    "0x14": "entity",
                    "0x15": "rel_entity_move",
                    "0x16": "entity_look",
                    "0x17": "entity_move_look",
                    "0x18": "entity_teleport",
                    "0x19": "entity_head_rotation",
                    "0x1a": "entity_status",
                    "0x1b": "attach_entity",
                    "0x1c": "entity_metadata",
                    "0x1d": "entity_effect",
                    "0x1e": "remove_entity_effect",
                    "0x1f": "experience",
                    "0x20": "update_attributes",
                    "0x21": "map_chunk",
                    "0x22": "multi_block_change",
                    "0x23": "block_change",
                    "0x24": "block_action",
                    "0x25": "block_break_animation",
                    "0x26": "map_chunk_bulk",
                    "0x27": "explosion",
                    "0x28": "world_event",
                    "0x29": "named_sound_effect",
                    "0x2a": "world_particles",
                    "0x2b": "game_state_change",
                    "0x2c": "spawn_entity_weather",
                    "0x2d": "open_window",
                    "0x2e": "close_window",
                    "0x2f": "set_slot",
                    "0x30": "window_items",
                    "0x31": "craft_progress_bar",
                    "0x32": "transaction",
                    "0x33": "update_sign",
                    "0x34": "map",
                    "0x35": "tile_entity_data",
                    "0x36": "open_sign_entity",
                    "0x37": "statistics",
                    "0x38": "player_info",
                    "0x39": "abilities",
                    "0x3a": "tab_complete",
                    "0x3b": "scoreboard_objective",
                    "0x3c": "scoreboard_score",
                    "0x3d": "scoreboard_display_objective",
                    "0x3e": "scoreboard_team",
                    "0x3f": "custom_payload",
                    "0x40": "kick_disconnect"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "keep_alive": "packet_keep_alive",
                    "login": "packet_login",
                    "chat": "packet_chat",
                    "update_time": "packet_update_time",
                    "entity_equipment": "packet_entity_equipment",
                    "spawn_position": "packet_spawn_position",
                    "update_health": "packet_update_health",
                    "respawn": "packet_respawn",
                    "position": "packet_position",
                    "held_item_slot": "packet_held_item_slot",
                    "bed": "packet_bed",
                    "animation": "packet_animation",
                    "named_entity_spawn": "packet_named_entity_spawn",
                    "collect": "packet_collect",
                    "spawn_entity": "packet_spawn_entity",
                    "spawn_entity_living": "packet_spawn_entity_living",
                    "spawn_entity_painting": "packet_spawn_entity_painting",
                    "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb",
                    "entity_velocity": "packet_entity_velocity",
                    "entity_destroy": "packet_entity_destroy",
                    "entity": "packet_entity",
                    "rel_entity_move": "packet_rel_entity_move",
                    "entity_look": "packet_entity_look",
                    "entity_move_look": "packet_entity_move_look",
                    "entity_teleport": "packet_entity_teleport",
                    "entity_head_rotation": "packet_entity_head_rotation",
                    "entity_status": "packet_entity_status",
                    "attach_entity": "packet_attach_entity",
                    "entity_metadata": "packet_entity_metadata",
                    "entity_effect": "packet_entity_effect",
                    "remove_entity_effect": "packet_remove_entity_effect",
                    "experience": "packet_experience",
                    "update_attributes": "packet_update_attributes",
                    "map_chunk": "packet_map_chunk",
                    "multi_block_change": "packet_multi_block_change",
                    "block_change": "packet_block_change",
                    "block_action": "packet_block_action",
                    "block_break_animation": "packet_block_break_animation",
                    "map_chunk_bulk": "packet_map_chunk_bulk",
                    "explosion": "packet_explosion",
                    "world_event": "packet_world_event",
                    "named_sound_effect": "packet_named_sound_effect",
                    "world_particles": "packet_world_particles",
                    "game_state_change": "packet_game_state_change",
                    "spawn_entity_weather": "packet_spawn_entity_weather",
                    "open_window": "packet_open_window",
                    "close_window": "packet_close_window",
                    "set_slot": "packet_set_slot",
                    "window_items": "packet_window_items",
                    "craft_progress_bar": "packet_craft_progress_bar",
                    "transaction": "packet_transaction",
                    "update_sign": "packet_update_sign",
                    "map": "packet_map",
                    "tile_entity_data": "packet_tile_entity_data",
                    "open_sign_entity": "packet_open_sign_entity",
                    "statistics": "packet_statistics",
                    "player_info": "packet_player_info",
                    "abilities": "packet_abilities",
                    "tab_complete": "packet_tab_complete",
                    "scoreboard_objective": "packet_scoreboard_objective",
                    "scoreboard_score": "packet_scoreboard_score",
                    "scoreboard_display_objective": "packet_scoreboard_display_objective",
                    "scoreboard_team": "packet_scoreboard_team",
                    "custom_payload": "packet_custom_payload",
                    "kick_disconnect": "packet_kick_disconnect"
                  }
                }
              ]
            }
          ]
        ]
      }
    },
    "toServer": {
      "types": {
        "packet_keep_alive": [
          "container",
          [
            {
              "name": "keepAliveId",
              "type": "i32"
            }
          ]
        ],
        "packet_chat": [
          "container",
          [
            {
              "name": "message",
              "type": "string"
            }
          ]
        ],
        "packet_use_entity": [
          "container",
          [
            {
              "name": "target",
              "type": "i32"
            },
            {
              "name": "mouse",
              "type": "i8"
            },
            {
              "name": "x",
              "type": [
                "switch",
                {
                  "compareTo": "mouse",
                  "fields": {
                    "2": "f32"
                  },
                  "default": "void"
                }
              ]
            },
            {
              "name": "y",
              "type": [
                "switch",
                {
                  "compareTo": "mouse",
                  "fields": {
                    "2": "f32"
                  },
                  "default": "void"
                }
              ]
            },
            {
              "name": "z",
              "type": [
                "switch",
                {
                  "compareTo": "mouse",
                  "fields": {
                    "2": "f32"
                  },
                  "default": "void"
                }
              ]
            }
          ]
        ],
        "packet_flying": [
          "container",
          [
            {
              "name": "onGround",
              "type": "bool"
            }
          ]
        ],
        "packet_position": [
          "container",
          [
            {
              "name": "x",
              "type": "f64"
            },
            {
              "name": "stance",
              "type": "f64"
            },
            {
              "name": "y",
              "type": "f64"
            },
            {
              "name": "z",
              "type": "f64"
            },
            {
              "name": "onGround",
              "type": "bool"
            }
          ]
        ],
        "packet_look": [
          "container",
          [
            {
              "name": "yaw",
              "type": "f32"
            },
            {
              "name": "pitch",
              "type": "f32"
            },
            {
              "name": "onGround",
              "type": "bool"
            }
          ]
        ],
        "packet_position_look": [
          "container",
          [
            {
              "name": "x",
              "type": "f64"
            },
            {
              "name": "stance",
              "type": "f64"
            },
            {
              "name": "y",
              "type": "f64"
            },
            {
              "name": "z",
              "type": "f64"
            },
            {
              "name": "yaw",
              "type": "f32"
            },
            {
              "name": "pitch",
              "type": "f32"
            },
            {
              "name": "onGround",
              "type": "bool"
            }
          ]
        ],
        "packet_block_dig": [
          "container",
          [
            {
              "name": "status",
              "type": "i8"
            },
            {
              "name": "location",
              "type": "position_ibi"
            },
            {
              "name": "face",
              "type": "i8"
            }
          ]
        ],
        "packet_block_place": [
          "container",
          [
            {
              "name": "location",
              "type": "position_ibi"
            },
            {
              "name": "direction",
              "type": "i8"
            },
            {
              "name": "heldItem",
              "type": "slot"
            },
            {
              "name": "cursorX",
              "type": "i8"
            },
            {
              "name": "cursorY",
              "type": "i8"
            },
            {
              "name": "cursorZ",
              "type": "i8"
            }
          ]
        ],
        "packet_held_item_slot": [
          "container",
          [
            {
              "name": "slotId",
              "type": "i16"
            }
          ]
        ],
        "packet_arm_animation": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "animation",
              "type": "i8"
            }
          ]
        ],
        "packet_entity_action": [
          "container",
          [
            {
              "name": "entityId",
              "type": "i32"
            },
            {
              "name": "actionId",
              "type": "i8"
            },
            {
              "name": "jumpBoost",
              "type": "i32"
            }
          ]
        ],
        "packet_steer_vehicle": [
          "container",
          [
            {
              "name": "sideways",
              "type": "f32"
            },
            {
              "name": "forward",
              "type": "f32"
            },
            {
              "name": "jump",
              "type": "bool"
            },
            {
              "name": "unmount",
              "type": "bool"
            }
          ]
        ],
        "packet_close_window": [
          "container",
          [
            {
              "name": "windowId",
              "type": "u8"
            }
          ]
        ],
        "packet_window_click": [
          "container",
          [
            {
              "name": "windowId",
              "type": "i8"
            },
            {
              "name": "slot",
              "type": "i16"
            },
            {
              "name": "mouseButton",
              "type": "i8"
            },
            {
              "name": "action",
              "type": "i16"
            },
            {
              "name": "mode",
              "type": "i8"
            },
            {
              "name": "item",
              "type": "slot"
            }
          ]
        ],
        "packet_transaction": [
          "container",
          [
            {
              "name": "windowId",
              "type": "i8"
            },
            {
              "name": "action",
              "type": "i16"
            },
            {
              "name": "accepted",
              "type": "bool"
            }
          ]
        ],
        "packet_set_creative_slot": [
          "container",
          [
            {
              "name": "slot",
              "type": "i16"
            },
            {
              "name": "item",
              "type": "slot"
            }
          ]
        ],
        "packet_enchant_item": [
          "container",
          [
            {
              "name": "windowId",
              "type": "i8"
            },
            {
              "name": "enchantment",
              "type": "i8"
            }
          ]
        ],
        "packet_update_sign": [
          "container",
          [
            {
              "name": "location",
              "type": "position_isi"
            },
            {
              "name": "text1",
              "type": "string"
            },
            {
              "name": "text2",
              "type": "string"
            },
            {
              "name": "text3",
              "type": "string"
            },
            {
              "name": "text4",
              "type": "string"
            }
          ]
        ],
        "packet_abilities": [
          "container",
          [
            {
              "name": "flags",
              "type": "i8"
            },
            {
              "name": "flyingSpeed",
              "type": "f32"
            },
            {
              "name": "walkingSpeed",
              "type": "f32"
            }
          ]
        ],
        "packet_tab_complete": [
          "container",
          [
            {
              "name": "text",
              "type": "string"
            }
          ]
        ],
        "packet_settings": [
          "container",
          [
            {
              "name": "locale",
              "type": "string"
            },
            {
              "name": "viewDistance",
              "type": "i8"
            },
            {
              "name": "chatFlags",
              "type": "i8"
            },
            {
              "name": "chatColors",
              "type": "bool"
            },
            {
              "name": "difficulty",
              "type": "u8"
            },
            {
              "name": "showCape",
              "type": "bool"
            }
          ]
        ],
        "packet_client_command": [
          "container",
          [
            {
              "name": "payload",
              "type": "i8"
            }
          ]
        ],
        "packet_custom_payload": [
          "container",
          [
            {
              "name": "channel",
              "type": "string"
            },
            {
              "name": "data",
              "type": [
                "buffer",
                {
                  "countType": "i16"
                }
              ]
            }
          ]
        ],
        "packet": [
          "container",
          [
            {
              "name": "name",
              "type": [
                "mapper",
                {
                  "type": "varint",
                  "mappings": {
                    "0x00": "keep_alive",
                    "0x01": "chat",
                    "0x02": "use_entity",
                    "0x03": "flying",
                    "0x04": "position",
                    "0x05": "look",
                    "0x06": "position_look",
                    "0x07": "block_dig",
                    "0x08": "block_place",
                    "0x09": "held_item_slot",
                    "0x0a": "arm_animation",
                    "0x0b": "entity_action",
                    "0x0c": "steer_vehicle",
                    "0x0d": "close_window",
                    "0x0e": "window_click",
                    "0x0f": "transaction",
                    "0x10": "set_creative_slot",
                    "0x11": "enchant_item",
                    "0x12": "update_sign",
                    "0x13": "abilities",
                    "0x14": "tab_complete",
                    "0x15": "settings",
                    "0x16": "client_command",
                    "0x17": "custom_payload"
                  }
                }
              ]
            },
            {
              "name": "params",
              "type": [
                "switch",
                {
                  "compareTo": "name",
                  "fields": {
                    "keep_alive": "packet_keep_alive",
                    "chat": "packet_chat",
                    "use_entity": "packet_use_entity",
                    "flying": "packet_flying",
                    "position": "packet_position",
                    "look": "packet_look",
                    "position_look": "packet_position_look",
                    "block_dig": "packet_block_dig",
                    "block_place": "packet_block_place",
                    "held_item_slot": "packet_held_item_slot",
                    "arm_animation": "packet_arm_animation",
                    "entity_action": "packet_entity_action",
                    "steer_vehicle": "packet_steer_vehicle",
                    "close_window": "packet_close_window",
                    "window_click": "packet_window_click",
                    "transaction": "packet_transaction",
                    "set_creative_slot": "packet_set_creative_slot",
                    "enchant_item": "packet_enchant_item",
                    "update_sign": "packet_update_sign",
                    "abilities": "packet_abilities",
                    "tab_complete": "packet_tab_complete",
                    "settings": "packet_settings",
                    "client_command": "packet_client_command",
                    "custom_payload": "packet_custom_payload"
                  }
                }
              ]
            }
          ]
        ]
      }
    }
  }
}