From 1e6ce06fb089722817e672bd0b97540eb22643eb Mon Sep 17 00:00:00 2001 From: Admin Else <74665496+admin-else@users.noreply.github.com> Date: Tue, 4 Aug 2026 22:01:06 +0200 Subject: [PATCH] strom: add 1.12.2 protocol support and legacy login/status handlers - Add minecraft-data for 1.12.2 (protocol 340) - Generate proto_generated/v1_12_2 - Add v1_12_2 legacy handlers to client.Login (OnDisconnect, OnCompress, OnSuccess) and client.Status (OnStatus, OnPong) - Same pattern as v1_8: RegisterUntilLatest only registers upward, so legacy versions need explicit RegisterCritical handlers --- mc/client/login.go | 29 + mc/client/status.go | 20 + mc/data/minecraft-data/pc/1.12.2/proto.yml | 1192 ++ .../minecraft-data/pc/1.12.2/protocol.json | 3982 ++++++ mc/data/minecraft-data/pc/1.12.2/sounds.json | 2198 ++++ mc/data/minecraft-data/pc/1.12.2/version.json | 5 + mc/proto_generated/packet_info.go | 5 +- mc/proto_generated/v1_12_2/proto.go | 10503 ++++++++++++++++ mc/proto_generator/main.go | 2 +- 9 files changed, 17933 insertions(+), 3 deletions(-) create mode 100644 mc/data/minecraft-data/pc/1.12.2/proto.yml create mode 100644 mc/data/minecraft-data/pc/1.12.2/protocol.json create mode 100644 mc/data/minecraft-data/pc/1.12.2/sounds.json create mode 100644 mc/data/minecraft-data/pc/1.12.2/version.json create mode 100644 mc/proto_generated/v1_12_2/proto.go diff --git a/mc/client/login.go b/mc/client/login.go index 35ae1c6..7e07c35 100644 --- a/mc/client/login.go +++ b/mc/client/login.go @@ -16,6 +16,7 @@ import ( "github.com/admin-else/strom/mc/proto_base" "github.com/admin-else/strom/mc/proto_generated/v1_21_8" "github.com/admin-else/strom/mc/proto_generated/v1_8" + "github.com/admin-else/strom/mc/proto_generated/v1_12_2" "github.com/admin-else/strom/mc/proto_generated/v26_2" "github.com/admin-else/strom/mc/text" "github.com/google/uuid" @@ -139,6 +140,31 @@ func (s *LoginClient) OnSuccessV1_8(success *v1_8.LoginToClientPacketSuccess) (e return } +func (s *LoginClient) OnDisconnectV1_12_2(packet *v1_12_2.LoginToClientPacketDisconnect) (err error) { + var reason text.Component + err = json.Unmarshal([]byte(packet.Reason), &reason) + if err != nil { + return + } + err = KickedDuringLoginErr{reason} + return +} + +func (s *LoginClient) OnCompressV1_12_2(packet *v1_12_2.LoginToClientPacketCompress) (err error) { + s.SetCompressionThreshold(packet.Threshold) + return +} + +func (s *LoginClient) OnSuccessV1_12_2(success *v1_12_2.LoginToClientPacketSuccess) (err error) { + s.GivenAccount = &v1_21_8.LoginToClientPacketSuccess{ + Uuid: uuid.MustParse(success.Uuid), + Username: success.Username, + } + s.SetState(proto_base.Play) + err = event.HandlerDoneErr{} + return +} + func (s *LoginClient) OnSuccess(success *v1_21_8.LoginToClientPacketSuccess) (err error) { s.GivenAccount = success if s.ProtocolVersion >= 764 { @@ -189,6 +215,9 @@ func LoginRawAddr(c *proto.Conn, account *api.Account, hostAddr string) (err err lc.RegisterCritical(lc.OnCompressV1_8) lc.RegisterCritical(lc.OnDisconnectV1_8) lc.RegisterCritical(lc.OnSuccessV1_8) + lc.RegisterCritical(lc.OnCompressV1_12_2) + lc.RegisterCritical(lc.OnDisconnectV1_12_2) + lc.RegisterCritical(lc.OnSuccessV1_12_2) var p proto_base.EncodeDecodeAble if hostAddr != "" { diff --git a/mc/client/status.go b/mc/client/status.go index 3fdcb43..eaa53e7 100644 --- a/mc/client/status.go +++ b/mc/client/status.go @@ -10,6 +10,7 @@ import ( "github.com/admin-else/strom/mc/proto_base" "github.com/admin-else/strom/mc/proto_generated/v1_21_8" "github.com/admin-else/strom/mc/proto_generated/v1_8" + "github.com/admin-else/strom/mc/proto_generated/v1_12_2" "github.com/admin-else/strom/mc/server" ) @@ -54,6 +55,23 @@ func (s *StatusClient) OnPongV1_8(p *v1_8.StatusToClientPacketPing) (err error) return } +func (s *StatusClient) OnStatusV1_12_2(p *v1_12_2.StatusToClientPacketServerInfo) (err error) { + s.Status = p.Response + s.PingSendTime = time.Now() + if s.DoPingRoundTripTime { + err = s.Send(&v1_21_8.StatusToServerPacketPing{Time: s.PingSendTime.UnixMilli()}) + } else { + err = event.HandlerDoneErr{} + } + return +} + +func (s *StatusClient) OnPongV1_12_2(p *v1_12_2.StatusToClientPacketPing) (err error) { + s.PingReceiveTime = time.Now() + err = event.HandlerDoneErr{} + return +} + // StatusRaw returns a StatusClient that is not connected to a server. // So ignore the resource leak warning. And maybe attach a warn ignore comment. // It does not resolve SRV records. @@ -79,6 +97,8 @@ func StatusRawWithVersion(ctx context.Context, addr, version string) (s *StatusC s.RegisterCriticalUntilLatest(s.OnPong) s.RegisterCritical(s.OnStatusV1_8) s.RegisterCritical(s.OnPongV1_8) + s.RegisterCritical(s.OnStatusV1_12_2) + s.RegisterCritical(s.OnPongV1_12_2) p, err := MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr) if err != nil { diff --git a/mc/data/minecraft-data/pc/1.12.2/proto.yml b/mc/data/minecraft-data/pc/1.12.2/proto.yml new file mode 100644 index 0000000..065fc45 --- /dev/null +++ b/mc/data/minecraft-data/pc/1.12.2/proto.yml @@ -0,0 +1,1192 @@ +!version: 1.12.2 + +^types: + varint: native + varlong: 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 + bitflags: native + container: native + switch: native + void: native + array: native + restBuffer: native + nbt: native + optionalNbt: native + ByteArray: ["buffer", { "countType": "varint" }] + string: ["pstring", { "countType": "varint" }] + vec3i16: + x: i16 + y: i16 + z: i16 + slot: + blockId: i16 + _: blockId ? + if -1: void + default: + itemCount: i8 + itemDamage: i16 + nbtData: optionalNbt + position: [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ] + entityMetadataItem: $compareTo ? + if 0: i8 + if 1: varint + if 2: f32 + if 3: string + if 4: string + if 5: slot + if 6: bool + if 7: + pitch: f32 + yaw: f32 + roll: f32 + if 8: position + if 9: [ + "option", + "position" + ] + if 10: varint + if 11: [ + "option", + "UUID" + ] + if 12: varint + if 13: nbt + entityMetadata: [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "name": "value", + "type": [ + "entityMetadataItem", + { + "compareTo": "type" + } + ] + } + ] + ] + } + ] + +^handshaking.toClient.types: + packet: + name: varint => + params: ["switch",{"compareTo":"name","fields":{}}] + +^handshaking.toServer.types: + packet_set_protocol: + protocolVersion: varint + serverHost: string + serverPort: u16 + nextState: varint + packet_legacy_server_list_ping: + payload: u8 + packet: + name: varint => + 0x00: set_protocol + 0xfe: legacy_server_list_ping + params: name ? + if set_protocol: packet_set_protocol + if legacy_server_list_ping: packet_legacy_server_list_ping + +^status.toClient.types: + packet_server_info: + response: string + packet_ping: + time: i64 + packet: + name: varint => + 0x00: server_info + 0x01: ping + params: name ? + if server_info: packet_server_info + if ping: packet_ping + +^status.toServer.types: + packet_ping_start: + # Empty + packet_ping: + time: i64 + packet: + name: varint => + 0x00: ping_start + 0x01: ping + params: name ? + if ping_start: packet_ping_start + if ping: packet_ping + +^login.toClient.types: + packet_disconnect: + reason: string + packet_encryption_begin: + serverId: string + publicKey: [ + "buffer", + { + "countType": "varint" + } + ] + verifyToken: [ + "buffer", + { + "countType": "varint" + } + ] + packet_success: + uuid: string + username: string + packet_compress: + threshold: varint + packet: + name: varint => + 0x00: disconnect + 0x01: encryption_begin + 0x02: success + 0x03: compress + params: name ? + if disconnect: packet_disconnect + if encryption_begin: packet_encryption_begin + if success: packet_success + if compress: packet_compress + +^login.toServer.types: + packet_login_start: + username: string + packet_encryption_begin: + sharedSecret: [ + "buffer", + { + "countType": "varint" + } + ] + verifyToken: [ + "buffer", + { + "countType": "varint" + } + ] + packet: + name: varint => + 0x00: login_start + 0x01: encryption_begin + params: name ? + if login_start: packet_login_start + if encryption_begin: packet_encryption_begin + +^play.toClient.types: + packet_spawn_entity: + entityId: varint + objectUUID: UUID + type: i8 + x: f64 + y: f64 + z: f64 + pitch: i8 + yaw: i8 + objectData: i32 + velocity: vec3i16 + packet_spawn_entity_experience_orb: + entityId: varint + x: f64 + y: f64 + z: f64 + count: i16 + packet_spawn_entity_weather: + entityId: varint + type: i8 + x: f64 + y: f64 + z: f64 + packet_spawn_entity_living: + entityId: varint + entityUUID: UUID + type: varint + x: f64 + y: f64 + z: f64 + yaw: i8 + pitch: i8 + headPitch: i8 + velocity: vec3i16 + metadata: entityMetadata + packet_spawn_entity_painting: + entityId: varint + entityUUID: UUID + title: string + location: position + direction: u8 + packet_named_entity_spawn: + entityId: varint + playerUUID: UUID + x: f64 + y: f64 + z: f64 + yaw: i8 + pitch: i8 + metadata: entityMetadata + packet_animation: + entityId: varint + animation: u8 + packet_statistics: + entries: []varint + name: string + value: varint + packet_advancements: + reset: bool + advancementMapping: []varint + key: string + value: + parentId?: string + displayData?: + title: string + description: string + icon: slot + frameType: varint + flags: [ + "bitfield", + [ + { + "name": "_unused", + "size": 29, + "signed": false + }, + { + "name": "hidden", + "size": 1, + "signed": false + }, + { + "name": "show_toast", + "size": 1, + "signed": false + }, + { + "name": "has_background_texture", + "size": 1, + "signed": false + } + ] + ] + backgroundTexture: flags/has_background_texture ? + if 1: string + default: void + xCord: f32 + yCord: f32 + criteria: []varint + key: string + value: void + requirements: []varint + _: string[]varint + identifiers: string[]varint + progressMapping: []varint + key: string + value: []varint + criterionIdentifier: string + criterionProgress?: i64 + packet_block_break_animation: + entityId: varint + location: position + destroyStage: i8 + packet_tile_entity_data: + location: position + action: u8 + nbtData: optionalNbt + packet_block_action: + location: position + byte1: u8 + byte2: u8 + blockId: varint + packet_block_change: + location: position + type: varint + packet_boss_bar: + entityUUID: UUID + action: varint + title: action ? + if 0: string + if 3: string + default: void + health: action ? + if 0: f32 + if 2: f32 + default: void + color: action ? + if 0: varint + if 4: varint + default: void + dividers: action ? + if 0: varint + if 4: varint + default: void + flags: action ? + if 0: u8 + if 5: u8 + default: void + packet_difficulty: + difficulty: u8 + packet_tab_complete: + matches: string[]varint + packet_chat: + message: string + position: i8 + packet_multi_block_change: + chunkX: i32 + chunkZ: i32 + records: []varint + horizontalPos: u8 + y: u8 + blockId: varint + packet_transaction: + windowId: i8 + action: i16 + accepted: bool + packet_close_window: + windowId: u8 + packet_open_window: + windowId: u8 + inventoryType: string + windowTitle: string + slotCount: u8 + entityId: inventoryType ? + if EntityHorse: i32 + default: void + packet_window_items: + windowId: u8 + items: slot[]i16 + packet_craft_progress_bar: + windowId: u8 + property: i16 + value: i16 + packet_set_slot: + windowId: i8 + slot: i16 + item: slot + packet_set_cooldown: + itemID: varint + cooldownTicks: varint + packet_custom_payload: + channel: string + data: restBuffer + packet_named_sound_effect: + soundName: string + soundCategory: varint + x: i32 + y: i32 + z: i32 + volume: f32 + pitch: f32 + packet_kick_disconnect: + reason: string + packet_entity_status: + entityId: i32 + entityStatus: i8 + packet_explosion: + x: f32 + y: f32 + z: f32 + radius: f32 + affectedBlockOffsets: []i32 + x: i8 + y: i8 + z: i8 + playerMotionX: f32 + playerMotionY: f32 + playerMotionZ: f32 + packet_unload_chunk: + chunkX: i32 + chunkZ: i32 + packet_game_state_change: + reason: u8 + gameMode: f32 + packet_keep_alive: + keepAliveId: i64 + packet_map_chunk: + x: i32 + z: i32 + groundUp: bool + bitMap: varint + chunkData: [ + "buffer", + { + "countType": "varint" + } + ] + blockEntities: nbt[]varint + packet_world_event: + effectId: i32 + location: position + data: i32 + global: bool + packet_world_particles: + particleId: i32 + longDistance: bool + x: f32 + y: f32 + z: f32 + offsetX: f32 + offsetY: f32 + offsetZ: f32 + particleData: f32 + particles: i32 + data: particleId ? + if 36: varint[]$2 + if 37: varint[]$1 + if 38: varint[]$1 + default: void + packet_login: + entityId: i32 + gameMode: u8 + dimension: i32 + difficulty: u8 + maxPlayers: u8 + levelType: string + reducedDebugInfo: bool + packet_map: + itemDamage: varint + scale: i8 + trackingPosition: bool + icons: []varint + directionAndType: i8 + x: i8 + z: i8 + columns: i8 + rows: columns ? + if 0: void + default: i8 + x: columns ? + if 0: void + default: i8 + y: columns ? + if 0: void + default: i8 + data: columns ? + if 0: void + default: [ + "buffer", + { + "countType": "varint" + } + ] + packet_rel_entity_move: + entityId: varint + dX: i16 + dY: i16 + dZ: i16 + onGround: bool + packet_entity_move_look: + entityId: varint + dX: i16 + dY: i16 + dZ: i16 + yaw: i8 + pitch: i8 + onGround: bool + packet_entity_look: + entityId: varint + yaw: i8 + pitch: i8 + onGround: bool + packet_entity: + entityId: varint + packet_vehicle_move: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + packet_open_sign_entity: + location: position + packet_craft_recipe_response: + windowId: i8 + recipe: varint + packet_abilities: + flags: i8 + flyingSpeed: f32 + walkingSpeed: f32 + packet_combat_event: + event: varint + duration: event ? + if 1: varint + default: void + playerId: event ? + if 2: varint + default: void + entityId: event ? + if 1: i32 + if 2: i32 + default: void + message: event ? + if 2: string + default: void + # MC: ClientboundPlayerInfoPacket + packet_player_info: + action: varint => + - add_player + - update_game_mode + - update_latency + - update_display_name + - remove_player + ## https://github.com/extremeheat/extracted_minecraft_data/blob/client1.13.2/client/net/minecraft/network/play/server/SPacketPlayerListItem.java#L114 + data: []varint + uuid: UUID + _: ../action ? + if add_player: + name: string + properties: []varint + name: string + value: string + signature?: string + gamemode: varint + ping: varint + displayName?: string + if update_game_mode: + gamemode: varint + if update_latency: + ping: varint + if update_display_name: + displayName?: string + if remove_player: void + packet_position: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + flags: i8 + teleportId: varint + packet_bed: + entityId: varint + location: position + packet_unlock_recipes: + action: varint + craftingBookOpen: bool + filteringCraftable: bool + recipes1: varint[]varint + recipes2: action ? + if 0: varint[]varint + default: void + packet_entity_destroy: + entityIds: varint[]varint + packet_remove_entity_effect: + entityId: varint + effectId: i8 + packet_resource_pack_send: + url: string + hash: string + packet_respawn: + dimension: i32 + difficulty: u8 + gamemode: u8 + levelType: string + packet_entity_head_rotation: + entityId: varint + headYaw: i8 + packet_world_border: + action: varint + radius: action ? + if 0: f64 + default: void + x: action ? + if 2: f64 + if 3: f64 + default: void + z: action ? + if 2: f64 + if 3: f64 + default: void + old_radius: action ? + if 1: f64 + if 3: f64 + default: void + new_radius: action ? + if 1: f64 + if 3: f64 + default: void + speed: action ? + if 1: varlong + if 3: varlong + default: void + portalBoundary: action ? + if 3: varint + default: void + warning_time: action ? + if 3: varint + if 4: varint + default: void + warning_blocks: action ? + if 3: varint + if 5: varint + default: void + packet_camera: + cameraId: varint + packet_held_item_slot: + slot: i8 + packet_scoreboard_display_objective: + position: i8 + name: string + packet_entity_metadata: + entityId: varint + metadata: entityMetadata + packet_attach_entity: + entityId: i32 + vehicleId: i32 + packet_entity_velocity: + entityId: varint + velocity: vec3i16 + packet_entity_equipment: + entityId: varint + slot: varint + item: slot + packet_experience: + experienceBar: f32 + level: varint + totalExperience: varint + packet_update_health: + health: f32 + food: varint + foodSaturation: f32 + packet_scoreboard_objective: + name: string + action: i8 + displayText: action ? + if 0: string + if 2: string + default: void + type: action ? + if 0: string + if 2: string + default: void + packet_set_passengers: + entityId: varint + passengers: varint[]varint + packet_teams: + team: string + mode: i8 + name: mode ? + if 0: string + if 2: string + default: void + prefix: mode ? + if 0: string + if 2: string + default: void + suffix: mode ? + if 0: string + if 2: string + default: void + friendlyFire: mode ? + if 0: i8 + if 2: i8 + default: void + nameTagVisibility: mode ? + if 0: string + if 2: string + default: void + collisionRule: mode ? + if 0: string + if 2: string + default: void + color: mode ? + if 0: i8 + if 2: i8 + default: void + players: mode ? + if 0: string[]varint + if 3: string[]varint + if 4: string[]varint + default: void + packet_scoreboard_score: + itemName: string + action: varint + scoreName: string + value: action ? + if 1: void + default: varint + packet_spawn_position: + location: position + packet_update_time: + age: i64 + time: i64 + packet_title: + action: varint + text: action ? + if 0: string + if 1: string + if 2: string + default: void + fadeIn: action ? + if 3: i32 + default: void + stay: action ? + if 3: i32 + default: void + fadeOut: action ? + if 3: i32 + default: void + packet_sound_effect: + soundId: varint + soundCategory: varint + x: i32 + y: i32 + z: i32 + volume: f32 + pitch: f32 + packet_playerlist_header: + header: string + footer: string + packet_collect: + collectedEntityId: varint + collectorEntityId: varint + pickupItemCount: varint + packet_entity_teleport: + entityId: varint + x: f64 + y: f64 + z: f64 + yaw: i8 + pitch: i8 + onGround: bool + packet_entity_update_attributes: + entityId: varint + properties: []i32 + key: string + value: f64 + modifiers: []varint + uuid: UUID + amount: f64 + operation: i8 + packet_entity_effect: + entityId: varint + effectId: i8 + amplifier: i8 + duration: varint + hideParticles: i8 + packet_select_advancement_tab: + id?: string + packet: + name: varint => + 0x00: spawn_entity + 0x01: spawn_entity_experience_orb + 0x02: spawn_entity_weather + 0x03: spawn_entity_living + 0x04: spawn_entity_painting + 0x05: named_entity_spawn + 0x06: animation + 0x07: statistics + 0x08: block_break_animation + 0x09: tile_entity_data + 0x0a: block_action + 0x0b: block_change + 0x0c: boss_bar + 0x0d: difficulty + 0x0e: tab_complete + 0x0f: chat + 0x10: multi_block_change + 0x11: transaction + 0x12: close_window + 0x13: open_window + 0x14: window_items + 0x15: craft_progress_bar + 0x16: set_slot + 0x17: set_cooldown + 0x18: custom_payload + 0x19: named_sound_effect + 0x1a: kick_disconnect + 0x1b: entity_status + 0x1c: explosion + 0x1d: unload_chunk + 0x1e: game_state_change + 0x1f: keep_alive + 0x20: map_chunk + 0x21: world_event + 0x22: world_particles + 0x23: login + 0x24: map + 0x25: entity + 0x26: rel_entity_move + 0x27: entity_move_look + 0x28: entity_look + 0x29: vehicle_move + 0x2a: open_sign_entity + 0x2b: craft_recipe_response + 0x2c: abilities + 0x2d: combat_event + 0x2e: player_info + 0x2f: position + 0x30: bed + 0x31: unlock_recipes + 0x32: entity_destroy + 0x33: remove_entity_effect + 0x34: resource_pack_send + 0x35: respawn + 0x36: entity_head_rotation + 0x37: select_advancement_tab + 0x38: world_border + 0x39: camera + 0x3a: held_item_slot + 0x3b: scoreboard_display_objective + 0x3c: entity_metadata + 0x3d: attach_entity + 0x3e: entity_velocity + 0x3f: entity_equipment + 0x40: experience + 0x41: update_health + 0x42: scoreboard_objective + 0x43: set_passengers + 0x44: teams + 0x45: scoreboard_score + 0x46: spawn_position + 0x47: update_time + 0x48: title + 0x49: sound_effect + 0x4a: playerlist_header + 0x4b: collect + 0x4c: entity_teleport + 0x4d: advancements + 0x4e: entity_update_attributes + 0x4f: entity_effect + params: name ? + if spawn_entity: packet_spawn_entity + if spawn_entity_experience_orb: packet_spawn_entity_experience_orb + if spawn_entity_weather: packet_spawn_entity_weather + if spawn_entity_living: packet_spawn_entity_living + if spawn_entity_painting: packet_spawn_entity_painting + if named_entity_spawn: packet_named_entity_spawn + if animation: packet_animation + if statistics: packet_statistics + if advancements: packet_advancements + if block_break_animation: packet_block_break_animation + if tile_entity_data: packet_tile_entity_data + if block_action: packet_block_action + if block_change: packet_block_change + if boss_bar: packet_boss_bar + if difficulty: packet_difficulty + if tab_complete: packet_tab_complete + if chat: packet_chat + if multi_block_change: packet_multi_block_change + if transaction: packet_transaction + if close_window: packet_close_window + if open_window: packet_open_window + if window_items: packet_window_items + if craft_progress_bar: packet_craft_progress_bar + if set_slot: packet_set_slot + if set_cooldown: packet_set_cooldown + if custom_payload: packet_custom_payload + if named_sound_effect: packet_named_sound_effect + if kick_disconnect: packet_kick_disconnect + if entity_status: packet_entity_status + if explosion: packet_explosion + if unload_chunk: packet_unload_chunk + if game_state_change: packet_game_state_change + if keep_alive: packet_keep_alive + if map_chunk: packet_map_chunk + if world_event: packet_world_event + if world_particles: packet_world_particles + if login: packet_login + if map: packet_map + if rel_entity_move: packet_rel_entity_move + if entity_move_look: packet_entity_move_look + if entity_look: packet_entity_look + if entity: packet_entity + if vehicle_move: packet_vehicle_move + if open_sign_entity: packet_open_sign_entity + if craft_recipe_response: packet_craft_recipe_response + if abilities: packet_abilities + if combat_event: packet_combat_event + if player_info: packet_player_info + if position: packet_position + if bed: packet_bed + if unlock_recipes: packet_unlock_recipes + if entity_destroy: packet_entity_destroy + if remove_entity_effect: packet_remove_entity_effect + if resource_pack_send: packet_resource_pack_send + if respawn: packet_respawn + if entity_update_attributes: packet_entity_update_attributes + if world_border: packet_world_border + if camera: packet_camera + if held_item_slot: packet_held_item_slot + if scoreboard_display_objective: packet_scoreboard_display_objective + if entity_metadata: packet_entity_metadata + if attach_entity: packet_attach_entity + if entity_velocity: packet_entity_velocity + if entity_equipment: packet_entity_equipment + if experience: packet_experience + if update_health: packet_update_health + if scoreboard_objective: packet_scoreboard_objective + if set_passengers: packet_set_passengers + if teams: packet_teams + if scoreboard_score: packet_scoreboard_score + if spawn_position: packet_spawn_position + if update_time: packet_update_time + if title: packet_title + if sound_effect: packet_sound_effect + if playerlist_header: packet_playerlist_header + if collect: packet_collect + if entity_teleport: packet_entity_teleport + if entity_head_rotation: packet_entity_head_rotation + if entity_effect: packet_entity_effect + if select_advancement_tab: packet_select_advancement_tab + +^play.toServer.types: + packet_teleport_confirm: + teleportId: varint + packet_tab_complete: + text: string + assumeCommand: bool + lookedAtBlock?: position + packet_chat: + message: string + packet_client_command: + actionId: varint + packet_settings: + locale: string + viewDistance: i8 + chatFlags: varint + chatColors: bool + skinParts: u8 + mainHand: varint + packet_transaction: + windowId: i8 + action: i16 + accepted: bool + packet_enchant_item: + windowId: i8 + enchantment: i8 + packet_window_click: + windowId: u8 + slot: i16 + mouseButton: i8 + action: i16 + mode: i8 + item: slot + packet_close_window: + windowId: u8 + packet_custom_payload: + channel: string + data: restBuffer + packet_use_entity: + target: varint + mouse: varint + x: mouse ? + if 2: f32 + default: void + y: mouse ? + if 2: f32 + default: void + z: mouse ? + if 2: f32 + default: void + hand: mouse ? + if 0: varint + if 2: varint + default: void + packet_keep_alive: + keepAliveId: i64 + packet_position: + x: f64 + y: f64 + z: f64 + onGround: bool + packet_position_look: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + onGround: bool + packet_look: + yaw: f32 + pitch: f32 + onGround: bool + packet_flying: + onGround: bool + packet_vehicle_move: + x: f64 + y: f64 + z: f64 + yaw: f32 + pitch: f32 + packet_steer_boat: + leftPaddle: bool + rightPaddle: bool + packet_craft_recipe_request: + windowId: i8 + recipe: varint + makeAll: bool + packet_abilities: + flags: i8 + flyingSpeed: f32 + walkingSpeed: f32 + packet_block_dig: + status: varint + location: position + face: i8 + packet_entity_action: + entityId: varint + actionId: varint + jumpBoost: varint + packet_steer_vehicle: + sideways: f32 + forward: f32 + jump: u8 + packet_crafting_book_data: + type: varint + _: type ? + if 0: + displayedRecipe: i32 + if 1: + craftingBookOpen: bool + craftingFilter: bool + packet_resource_pack_receive: + result: varint + packet_held_item_slot: + slotId: i16 + packet_set_creative_slot: + slot: i16 + item: slot + packet_update_sign: + location: position + text1: string + text2: string + text3: string + text4: string + packet_arm_animation: + hand: varint + packet_spectate: + target: UUID + packet_block_place: + location: position + direction: varint + hand: varint + cursorX: f32 + cursorY: f32 + cursorZ: f32 + packet_use_item: + hand: varint + packet_advancement_tab: + action: varint + tabId: action ? + if 0: string + if 1: void + packet: + name: varint => + 0x00: teleport_confirm + 0x01: tab_complete + 0x02: chat + 0x03: client_command + 0x04: settings + 0x05: transaction + 0x06: enchant_item + 0x07: window_click + 0x08: close_window + 0x09: custom_payload + 0x0a: use_entity + 0x0b: keep_alive + 0x0c: flying + 0x0d: position + 0x0e: position_look + 0x0f: look + 0x10: vehicle_move + 0x11: steer_boat + 0x12: craft_recipe_request + 0x13: abilities + 0x14: block_dig + 0x15: entity_action + 0x16: steer_vehicle + 0x17: crafting_book_data + 0x18: resource_pack_receive + 0x19: advancement_tab + 0x1a: held_item_slot + 0x1b: set_creative_slot + 0x1c: update_sign + 0x1d: arm_animation + 0x1e: spectate + 0x1f: block_place + 0x20: use_item + params: name ? + if teleport_confirm: packet_teleport_confirm + if tab_complete: packet_tab_complete + if chat: packet_chat + if client_command: packet_client_command + if settings: packet_settings + if transaction: packet_transaction + if enchant_item: packet_enchant_item + if window_click: packet_window_click + if close_window: packet_close_window + if custom_payload: packet_custom_payload + if use_entity: packet_use_entity + if keep_alive: packet_keep_alive + if position: packet_position + if position_look: packet_position_look + if look: packet_look + if flying: packet_flying + if vehicle_move: packet_vehicle_move + if steer_boat: packet_steer_boat + if craft_recipe_request: packet_craft_recipe_request + if abilities: packet_abilities + if block_dig: packet_block_dig + if entity_action: packet_entity_action + if steer_vehicle: packet_steer_vehicle + if crafting_book_data: packet_crafting_book_data + if resource_pack_receive: packet_resource_pack_receive + if held_item_slot: packet_held_item_slot + if set_creative_slot: packet_set_creative_slot + if update_sign: packet_update_sign + if arm_animation: packet_arm_animation + if spectate: packet_spectate + if block_place: packet_block_place + if use_item: packet_use_item + if advancement_tab: packet_advancement_tab diff --git a/mc/data/minecraft-data/pc/1.12.2/protocol.json b/mc/data/minecraft-data/pc/1.12.2/protocol.json new file mode 100644 index 0000000..927c803 --- /dev/null +++ b/mc/data/minecraft-data/pc/1.12.2/protocol.json @@ -0,0 +1,3982 @@ +{ + "types": { + "varint": "native", + "varlong": "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", + "bitflags": "native", + "container": "native", + "switch": "native", + "void": "native", + "array": "native", + "restBuffer": "native", + "nbt": "native", + "optionalNbt": "native", + "ByteArray": [ + "buffer", + { + "countType": "varint" + } + ], + "string": [ + "pstring", + { + "countType": "varint" + } + ], + "vec3i16": [ + "container", + [ + { + "name": "x", + "type": "i16" + }, + { + "name": "y", + "type": "i16" + }, + { + "name": "z", + "type": "i16" + } + ] + ], + "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": "optionalNbt" + } + ] + ] + } + ] + } + ] + ], + "position": [ + "bitfield", + [ + { + "name": "x", + "size": 26, + "signed": true + }, + { + "name": "y", + "size": 12, + "signed": true + }, + { + "name": "z", + "size": 26, + "signed": true + } + ] + ], + "entityMetadataItem": [ + "switch", + { + "compareTo": "$compareTo", + "fields": { + "0": "i8", + "1": "varint", + "2": "f32", + "3": "string", + "4": "string", + "5": "slot", + "6": "bool", + "7": [ + "container", + [ + { + "name": "pitch", + "type": "f32" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "roll", + "type": "f32" + } + ] + ], + "8": "position", + "9": [ + "option", + "position" + ], + "10": "varint", + "11": [ + "option", + "UUID" + ], + "12": "varint", + "13": "nbt" + } + } + ], + "entityMetadata": [ + "entityMetadataLoop", + { + "endVal": 255, + "type": [ + "container", + [ + { + "anon": true, + "type": [ + "container", + [ + { + "name": "key", + "type": "u8" + }, + { + "name": "type", + "type": "i8" + } + ] + ] + }, + { + "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": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "packet_success": [ + "container", + [ + { + "name": "uuid", + "type": "string" + }, + { + "name": "username", + "type": "string" + } + ] + ], + "packet_compress": [ + "container", + [ + { + "name": "threshold", + "type": "varint" + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "disconnect", + "0x01": "encryption_begin", + "0x02": "success", + "0x03": "compress" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "disconnect": "packet_disconnect", + "encryption_begin": "packet_encryption_begin", + "success": "packet_success", + "compress": "packet_compress" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_login_start": [ + "container", + [ + { + "name": "username", + "type": "string" + } + ] + ], + "packet_encryption_begin": [ + "container", + [ + { + "name": "sharedSecret", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "verifyToken", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + ], + "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_spawn_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "objectUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "objectData", + "type": "i32" + }, + { + "name": "velocity", + "type": "vec3i16" + } + ] + ], + "packet_spawn_entity_experience_orb": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "count", + "type": "i16" + } + ] + ], + "packet_spawn_entity_weather": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "type", + "type": "i8" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + } + ] + ], + "packet_spawn_entity_living": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "type", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "headPitch", + "type": "i8" + }, + { + "name": "velocity", + "type": "vec3i16" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_spawn_entity_painting": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "title", + "type": "string" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "u8" + } + ] + ], + "packet_named_entity_spawn": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "playerUUID", + "type": "UUID" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "animation", + "type": "u8" + } + ] + ], + "packet_statistics": [ + "container", + [ + { + "name": "entries", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_advancements": [ + "container", + [ + { + "name": "reset", + "type": "bool" + }, + { + "name": "advancementMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "container", + [ + { + "name": "parentId", + "type": [ + "option", + "string" + ] + }, + { + "name": "displayData", + "type": [ + "option", + [ + "container", + [ + { + "name": "title", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "icon", + "type": "slot" + }, + { + "name": "frameType", + "type": "varint" + }, + { + "name": "flags", + "type": [ + "bitfield", + [ + { + "name": "_unused", + "size": 29, + "signed": false + }, + { + "name": "hidden", + "size": 1, + "signed": false + }, + { + "name": "show_toast", + "size": 1, + "signed": false + }, + { + "name": "has_background_texture", + "size": 1, + "signed": false + } + ] + ] + }, + { + "name": "backgroundTexture", + "type": [ + "switch", + { + "compareTo": "flags/has_background_texture", + "fields": { + "1": "string" + }, + "default": "void" + } + ] + }, + { + "name": "xCord", + "type": "f32" + }, + { + "name": "yCord", + "type": "f32" + } + ] + ] + ] + }, + { + "name": "criteria", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "void" + } + ] + ] + } + ] + }, + { + "name": "requirements", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "name": "identifiers", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + { + "name": "progressMapping", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "criterionIdentifier", + "type": "string" + }, + { + "name": "criterionProgress", + "type": [ + "option", + "i64" + ] + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_block_break_animation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "destroyStage", + "type": "i8" + } + ] + ], + "packet_tile_entity_data": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "action", + "type": "u8" + }, + { + "name": "nbtData", + "type": "optionalNbt" + } + ] + ], + "packet_block_action": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "byte1", + "type": "u8" + }, + { + "name": "byte2", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ], + "packet_block_change": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "type", + "type": "varint" + } + ] + ], + "packet_boss_bar": [ + "container", + [ + { + "name": "entityUUID", + "type": "UUID" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "title", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "3": "string" + }, + "default": "void" + } + ] + }, + { + "name": "health", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f32", + "2": "f32" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "dividers", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "flags", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "u8", + "5": "u8" + }, + "default": "void" + } + ] + } + ] + ], + "packet_difficulty": [ + "container", + [ + { + "name": "difficulty", + "type": "u8" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "matches", + "type": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + }, + { + "name": "position", + "type": "i8" + } + ] + ], + "packet_multi_block_change": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + }, + { + "name": "records", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "horizontalPos", + "type": "u8" + }, + { + "name": "y", + "type": "u8" + }, + { + "name": "blockId", + "type": "varint" + } + ] + ] + } + ] + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_open_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "inventoryType", + "type": "string" + }, + { + "name": "windowTitle", + "type": "string" + }, + { + "name": "slotCount", + "type": "u8" + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "inventoryType", + "fields": { + "EntityHorse": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "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_set_slot": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_set_cooldown": [ + "container", + [ + { + "name": "itemID", + "type": "varint" + }, + { + "name": "cooldownTicks", + "type": "varint" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_named_sound_effect": [ + "container", + [ + { + "name": "soundName", + "type": "string" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_kick_disconnect": [ + "container", + [ + { + "name": "reason", + "type": "string" + } + ] + ], + "packet_entity_status": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "entityStatus", + "type": "i8" + } + ] + ], + "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_unload_chunk": [ + "container", + [ + { + "name": "chunkX", + "type": "i32" + }, + { + "name": "chunkZ", + "type": "i32" + } + ] + ], + "packet_game_state_change": [ + "container", + [ + { + "name": "reason", + "type": "u8" + }, + { + "name": "gameMode", + "type": "f32" + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_map_chunk": [ + "container", + [ + { + "name": "x", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "groundUp", + "type": "bool" + }, + { + "name": "bitMap", + "type": "varint" + }, + { + "name": "chunkData", + "type": [ + "buffer", + { + "countType": "varint" + } + ] + }, + { + "name": "blockEntities", + "type": [ + "array", + { + "countType": "varint", + "type": "nbt" + } + ] + } + ] + ], + "packet_world_event": [ + "container", + [ + { + "name": "effectId", + "type": "i32" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "data", + "type": "i32" + }, + { + "name": "global", + "type": "bool" + } + ] + ], + "packet_world_particles": [ + "container", + [ + { + "name": "particleId", + "type": "i32" + }, + { + "name": "longDistance", + "type": "bool" + }, + { + "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" + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "particleId", + "fields": { + "36": [ + "array", + { + "count": 2, + "type": "varint" + } + ], + "37": [ + "array", + { + "count": 1, + "type": "varint" + } + ], + "38": [ + "array", + { + "count": 1, + "type": "varint" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_login": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "gameMode", + "type": "u8" + }, + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "maxPlayers", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + }, + { + "name": "reducedDebugInfo", + "type": "bool" + } + ] + ], + "packet_map": [ + "container", + [ + { + "name": "itemDamage", + "type": "varint" + }, + { + "name": "scale", + "type": "i8" + }, + { + "name": "trackingPosition", + "type": "bool" + }, + { + "name": "icons", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "directionAndType", + "type": "i8" + }, + { + "name": "x", + "type": "i8" + }, + { + "name": "z", + "type": "i8" + } + ] + ] + } + ] + }, + { + "name": "columns", + "type": "i8" + }, + { + "name": "rows", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "y", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": "i8" + } + ] + }, + { + "name": "data", + "type": [ + "switch", + { + "compareTo": "columns", + "fields": { + "0": "void" + }, + "default": [ + "buffer", + { + "countType": "varint" + } + ] + } + ] + } + ] + ], + "packet_rel_entity_move": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_move_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "dX", + "type": "i16" + }, + { + "name": "dY", + "type": "i16" + }, + { + "name": "dZ", + "type": "i16" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_look": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_open_sign_entity": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_craft_recipe_response": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "varint" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_combat_event": [ + "container", + [ + { + "name": "event", + "type": "varint" + }, + { + "name": "duration", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "playerId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "entityId", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "1": "i32", + "2": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "message", + "type": [ + "switch", + { + "compareTo": "event", + "fields": { + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_player_info": [ + "container", + [ + { + "name": "action", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0": "add_player", + "1": "update_game_mode", + "2": "update_latency", + "3": "update_display_name", + "4": "remove_player" + } + } + ] + }, + { + "name": "data", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "../action", + "fields": { + "add_player": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "value", + "type": "string" + }, + { + "name": "signature", + "type": [ + "option", + "string" + ] + } + ] + ] + } + ] + }, + { + "name": "gamemode", + "type": "varint" + }, + { + "name": "ping", + "type": "varint" + }, + { + "name": "displayName", + "type": [ + "option", + "string" + ] + } + ] + ], + "update_game_mode": [ + "container", + [ + { + "name": "gamemode", + "type": "varint" + } + ] + ], + "update_latency": [ + "container", + [ + { + "name": "ping", + "type": "varint" + } + ] + ], + "update_display_name": [ + "container", + [ + { + "name": "displayName", + "type": [ + "option", + "string" + ] + } + ] + ], + "remove_player": "void" + } + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "flags", + "type": "i8" + }, + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_bed": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "location", + "type": "position" + } + ] + ], + "packet_unlock_recipes": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "filteringCraftable", + "type": "bool" + }, + { + "name": "recipes1", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + }, + { + "name": "recipes2", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_entity_destroy": [ + "container", + [ + { + "name": "entityIds", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_remove_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + } + ] + ], + "packet_resource_pack_send": [ + "container", + [ + { + "name": "url", + "type": "string" + }, + { + "name": "hash", + "type": "string" + } + ] + ], + "packet_respawn": [ + "container", + [ + { + "name": "dimension", + "type": "i32" + }, + { + "name": "difficulty", + "type": "u8" + }, + { + "name": "gamemode", + "type": "u8" + }, + { + "name": "levelType", + "type": "string" + } + ] + ], + "packet_entity_head_rotation": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "headYaw", + "type": "i8" + } + ] + ], + "packet_world_border": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "x", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "z", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "2": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "old_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "new_radius", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "f64", + "3": "f64" + }, + "default": "void" + } + ] + }, + { + "name": "speed", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "varlong", + "3": "varlong" + }, + "default": "void" + } + ] + }, + { + "name": "portalBoundary", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_time", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "4": "varint" + }, + "default": "void" + } + ] + }, + { + "name": "warning_blocks", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "varint", + "5": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_camera": [ + "container", + [ + { + "name": "cameraId", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slot", + "type": "i8" + } + ] + ], + "packet_scoreboard_display_objective": [ + "container", + [ + { + "name": "position", + "type": "i8" + }, + { + "name": "name", + "type": "string" + } + ] + ], + "packet_entity_metadata": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "metadata", + "type": "entityMetadata" + } + ] + ], + "packet_attach_entity": [ + "container", + [ + { + "name": "entityId", + "type": "i32" + }, + { + "name": "vehicleId", + "type": "i32" + } + ] + ], + "packet_entity_velocity": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "velocity", + "type": "vec3i16" + } + ] + ], + "packet_entity_equipment": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "slot", + "type": "varint" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_experience": [ + "container", + [ + { + "name": "experienceBar", + "type": "f32" + }, + { + "name": "level", + "type": "varint" + }, + { + "name": "totalExperience", + "type": "varint" + } + ] + ], + "packet_update_health": [ + "container", + [ + { + "name": "health", + "type": "f32" + }, + { + "name": "food", + "type": "varint" + }, + { + "name": "foodSaturation", + "type": "f32" + } + ] + ], + "packet_scoreboard_objective": [ + "container", + [ + { + "name": "name", + "type": "string" + }, + { + "name": "action", + "type": "i8" + }, + { + "name": "displayText", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "type", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + } + ] + ], + "packet_set_passengers": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "passengers", + "type": [ + "array", + { + "countType": "varint", + "type": "varint" + } + ] + } + ] + ], + "packet_teams": [ + "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": "nameTagVisibility", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "collisionRule", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "color", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": "i8", + "2": "i8" + }, + "default": "void" + } + ] + }, + { + "name": "players", + "type": [ + "switch", + { + "compareTo": "mode", + "fields": { + "0": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "3": [ + "array", + { + "countType": "varint", + "type": "string" + } + ], + "4": [ + "array", + { + "countType": "varint", + "type": "string" + } + ] + }, + "default": "void" + } + ] + } + ] + ], + "packet_scoreboard_score": [ + "container", + [ + { + "name": "itemName", + "type": "string" + }, + { + "name": "action", + "type": "varint" + }, + { + "name": "scoreName", + "type": "string" + }, + { + "name": "value", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "1": "void" + }, + "default": "varint" + } + ] + } + ] + ], + "packet_spawn_position": [ + "container", + [ + { + "name": "location", + "type": "position" + } + ] + ], + "packet_update_time": [ + "container", + [ + { + "name": "age", + "type": "i64" + }, + { + "name": "time", + "type": "i64" + } + ] + ], + "packet_title": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "text", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "string", + "2": "string" + }, + "default": "void" + } + ] + }, + { + "name": "fadeIn", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "stay", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + }, + { + "name": "fadeOut", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "3": "i32" + }, + "default": "void" + } + ] + } + ] + ], + "packet_sound_effect": [ + "container", + [ + { + "name": "soundId", + "type": "varint" + }, + { + "name": "soundCategory", + "type": "varint" + }, + { + "name": "x", + "type": "i32" + }, + { + "name": "y", + "type": "i32" + }, + { + "name": "z", + "type": "i32" + }, + { + "name": "volume", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_playerlist_header": [ + "container", + [ + { + "name": "header", + "type": "string" + }, + { + "name": "footer", + "type": "string" + } + ] + ], + "packet_collect": [ + "container", + [ + { + "name": "collectedEntityId", + "type": "varint" + }, + { + "name": "collectorEntityId", + "type": "varint" + }, + { + "name": "pickupItemCount", + "type": "varint" + } + ] + ], + "packet_entity_teleport": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "i8" + }, + { + "name": "pitch", + "type": "i8" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_entity_update_attributes": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "properties", + "type": [ + "array", + { + "countType": "i32", + "type": [ + "container", + [ + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "f64" + }, + { + "name": "modifiers", + "type": [ + "array", + { + "countType": "varint", + "type": [ + "container", + [ + { + "name": "uuid", + "type": "UUID" + }, + { + "name": "amount", + "type": "f64" + }, + { + "name": "operation", + "type": "i8" + } + ] + ] + } + ] + } + ] + ] + } + ] + } + ] + ], + "packet_entity_effect": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "effectId", + "type": "i8" + }, + { + "name": "amplifier", + "type": "i8" + }, + { + "name": "duration", + "type": "varint" + }, + { + "name": "hideParticles", + "type": "i8" + } + ] + ], + "packet_select_advancement_tab": [ + "container", + [ + { + "name": "id", + "type": [ + "option", + "string" + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "spawn_entity", + "0x01": "spawn_entity_experience_orb", + "0x02": "spawn_entity_weather", + "0x03": "spawn_entity_living", + "0x04": "spawn_entity_painting", + "0x05": "named_entity_spawn", + "0x06": "animation", + "0x07": "statistics", + "0x08": "block_break_animation", + "0x09": "tile_entity_data", + "0x0a": "block_action", + "0x0b": "block_change", + "0x0c": "boss_bar", + "0x0d": "difficulty", + "0x0e": "tab_complete", + "0x0f": "chat", + "0x10": "multi_block_change", + "0x11": "transaction", + "0x12": "close_window", + "0x13": "open_window", + "0x14": "window_items", + "0x15": "craft_progress_bar", + "0x16": "set_slot", + "0x17": "set_cooldown", + "0x18": "custom_payload", + "0x19": "named_sound_effect", + "0x1a": "kick_disconnect", + "0x1b": "entity_status", + "0x1c": "explosion", + "0x1d": "unload_chunk", + "0x1e": "game_state_change", + "0x1f": "keep_alive", + "0x20": "map_chunk", + "0x21": "world_event", + "0x22": "world_particles", + "0x23": "login", + "0x24": "map", + "0x25": "entity", + "0x26": "rel_entity_move", + "0x27": "entity_move_look", + "0x28": "entity_look", + "0x29": "vehicle_move", + "0x2a": "open_sign_entity", + "0x2b": "craft_recipe_response", + "0x2c": "abilities", + "0x2d": "combat_event", + "0x2e": "player_info", + "0x2f": "position", + "0x30": "bed", + "0x31": "unlock_recipes", + "0x32": "entity_destroy", + "0x33": "remove_entity_effect", + "0x34": "resource_pack_send", + "0x35": "respawn", + "0x36": "entity_head_rotation", + "0x37": "select_advancement_tab", + "0x38": "world_border", + "0x39": "camera", + "0x3a": "held_item_slot", + "0x3b": "scoreboard_display_objective", + "0x3c": "entity_metadata", + "0x3d": "attach_entity", + "0x3e": "entity_velocity", + "0x3f": "entity_equipment", + "0x40": "experience", + "0x41": "update_health", + "0x42": "scoreboard_objective", + "0x43": "set_passengers", + "0x44": "teams", + "0x45": "scoreboard_score", + "0x46": "spawn_position", + "0x47": "update_time", + "0x48": "title", + "0x49": "sound_effect", + "0x4a": "playerlist_header", + "0x4b": "collect", + "0x4c": "entity_teleport", + "0x4d": "advancements", + "0x4e": "entity_update_attributes", + "0x4f": "entity_effect" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "spawn_entity": "packet_spawn_entity", + "spawn_entity_experience_orb": "packet_spawn_entity_experience_orb", + "spawn_entity_weather": "packet_spawn_entity_weather", + "spawn_entity_living": "packet_spawn_entity_living", + "spawn_entity_painting": "packet_spawn_entity_painting", + "named_entity_spawn": "packet_named_entity_spawn", + "animation": "packet_animation", + "statistics": "packet_statistics", + "advancements": "packet_advancements", + "block_break_animation": "packet_block_break_animation", + "tile_entity_data": "packet_tile_entity_data", + "block_action": "packet_block_action", + "block_change": "packet_block_change", + "boss_bar": "packet_boss_bar", + "difficulty": "packet_difficulty", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "multi_block_change": "packet_multi_block_change", + "transaction": "packet_transaction", + "close_window": "packet_close_window", + "open_window": "packet_open_window", + "window_items": "packet_window_items", + "craft_progress_bar": "packet_craft_progress_bar", + "set_slot": "packet_set_slot", + "set_cooldown": "packet_set_cooldown", + "custom_payload": "packet_custom_payload", + "named_sound_effect": "packet_named_sound_effect", + "kick_disconnect": "packet_kick_disconnect", + "entity_status": "packet_entity_status", + "explosion": "packet_explosion", + "unload_chunk": "packet_unload_chunk", + "game_state_change": "packet_game_state_change", + "keep_alive": "packet_keep_alive", + "map_chunk": "packet_map_chunk", + "world_event": "packet_world_event", + "world_particles": "packet_world_particles", + "login": "packet_login", + "map": "packet_map", + "rel_entity_move": "packet_rel_entity_move", + "entity_move_look": "packet_entity_move_look", + "entity_look": "packet_entity_look", + "entity": "packet_entity", + "vehicle_move": "packet_vehicle_move", + "open_sign_entity": "packet_open_sign_entity", + "craft_recipe_response": "packet_craft_recipe_response", + "abilities": "packet_abilities", + "combat_event": "packet_combat_event", + "player_info": "packet_player_info", + "position": "packet_position", + "bed": "packet_bed", + "unlock_recipes": "packet_unlock_recipes", + "entity_destroy": "packet_entity_destroy", + "remove_entity_effect": "packet_remove_entity_effect", + "resource_pack_send": "packet_resource_pack_send", + "respawn": "packet_respawn", + "entity_update_attributes": "packet_entity_update_attributes", + "world_border": "packet_world_border", + "camera": "packet_camera", + "held_item_slot": "packet_held_item_slot", + "scoreboard_display_objective": "packet_scoreboard_display_objective", + "entity_metadata": "packet_entity_metadata", + "attach_entity": "packet_attach_entity", + "entity_velocity": "packet_entity_velocity", + "entity_equipment": "packet_entity_equipment", + "experience": "packet_experience", + "update_health": "packet_update_health", + "scoreboard_objective": "packet_scoreboard_objective", + "set_passengers": "packet_set_passengers", + "teams": "packet_teams", + "scoreboard_score": "packet_scoreboard_score", + "spawn_position": "packet_spawn_position", + "update_time": "packet_update_time", + "title": "packet_title", + "sound_effect": "packet_sound_effect", + "playerlist_header": "packet_playerlist_header", + "collect": "packet_collect", + "entity_teleport": "packet_entity_teleport", + "entity_head_rotation": "packet_entity_head_rotation", + "entity_effect": "packet_entity_effect", + "select_advancement_tab": "packet_select_advancement_tab" + } + } + ] + } + ] + ] + } + }, + "toServer": { + "types": { + "packet_teleport_confirm": [ + "container", + [ + { + "name": "teleportId", + "type": "varint" + } + ] + ], + "packet_tab_complete": [ + "container", + [ + { + "name": "text", + "type": "string" + }, + { + "name": "assumeCommand", + "type": "bool" + }, + { + "name": "lookedAtBlock", + "type": [ + "option", + "position" + ] + } + ] + ], + "packet_chat": [ + "container", + [ + { + "name": "message", + "type": "string" + } + ] + ], + "packet_client_command": [ + "container", + [ + { + "name": "actionId", + "type": "varint" + } + ] + ], + "packet_settings": [ + "container", + [ + { + "name": "locale", + "type": "string" + }, + { + "name": "viewDistance", + "type": "i8" + }, + { + "name": "chatFlags", + "type": "varint" + }, + { + "name": "chatColors", + "type": "bool" + }, + { + "name": "skinParts", + "type": "u8" + }, + { + "name": "mainHand", + "type": "varint" + } + ] + ], + "packet_transaction": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "accepted", + "type": "bool" + } + ] + ], + "packet_enchant_item": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "enchantment", + "type": "i8" + } + ] + ], + "packet_window_click": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + }, + { + "name": "slot", + "type": "i16" + }, + { + "name": "mouseButton", + "type": "i8" + }, + { + "name": "action", + "type": "i16" + }, + { + "name": "mode", + "type": "i8" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_close_window": [ + "container", + [ + { + "name": "windowId", + "type": "u8" + } + ] + ], + "packet_custom_payload": [ + "container", + [ + { + "name": "channel", + "type": "string" + }, + { + "name": "data", + "type": "restBuffer" + } + ] + ], + "packet_use_entity": [ + "container", + [ + { + "name": "target", + "type": "varint" + }, + { + "name": "mouse", + "type": "varint" + }, + { + "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" + } + ] + }, + { + "name": "hand", + "type": [ + "switch", + { + "compareTo": "mouse", + "fields": { + "0": "varint", + "2": "varint" + }, + "default": "void" + } + ] + } + ] + ], + "packet_keep_alive": [ + "container", + [ + { + "name": "keepAliveId", + "type": "i64" + } + ] + ], + "packet_position": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_position_look": [ + "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_look": [ + "container", + [ + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + }, + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_flying": [ + "container", + [ + { + "name": "onGround", + "type": "bool" + } + ] + ], + "packet_vehicle_move": [ + "container", + [ + { + "name": "x", + "type": "f64" + }, + { + "name": "y", + "type": "f64" + }, + { + "name": "z", + "type": "f64" + }, + { + "name": "yaw", + "type": "f32" + }, + { + "name": "pitch", + "type": "f32" + } + ] + ], + "packet_steer_boat": [ + "container", + [ + { + "name": "leftPaddle", + "type": "bool" + }, + { + "name": "rightPaddle", + "type": "bool" + } + ] + ], + "packet_craft_recipe_request": [ + "container", + [ + { + "name": "windowId", + "type": "i8" + }, + { + "name": "recipe", + "type": "varint" + }, + { + "name": "makeAll", + "type": "bool" + } + ] + ], + "packet_abilities": [ + "container", + [ + { + "name": "flags", + "type": "i8" + }, + { + "name": "flyingSpeed", + "type": "f32" + }, + { + "name": "walkingSpeed", + "type": "f32" + } + ] + ], + "packet_block_dig": [ + "container", + [ + { + "name": "status", + "type": "varint" + }, + { + "name": "location", + "type": "position" + }, + { + "name": "face", + "type": "i8" + } + ] + ], + "packet_entity_action": [ + "container", + [ + { + "name": "entityId", + "type": "varint" + }, + { + "name": "actionId", + "type": "varint" + }, + { + "name": "jumpBoost", + "type": "varint" + } + ] + ], + "packet_steer_vehicle": [ + "container", + [ + { + "name": "sideways", + "type": "f32" + }, + { + "name": "forward", + "type": "f32" + }, + { + "name": "jump", + "type": "u8" + } + ] + ], + "packet_crafting_book_data": [ + "container", + [ + { + "name": "type", + "type": "varint" + }, + { + "anon": true, + "type": [ + "switch", + { + "compareTo": "type", + "fields": { + "0": [ + "container", + [ + { + "name": "displayedRecipe", + "type": "i32" + } + ] + ], + "1": [ + "container", + [ + { + "name": "craftingBookOpen", + "type": "bool" + }, + { + "name": "craftingFilter", + "type": "bool" + } + ] + ] + } + } + ] + } + ] + ], + "packet_resource_pack_receive": [ + "container", + [ + { + "name": "result", + "type": "varint" + } + ] + ], + "packet_held_item_slot": [ + "container", + [ + { + "name": "slotId", + "type": "i16" + } + ] + ], + "packet_set_creative_slot": [ + "container", + [ + { + "name": "slot", + "type": "i16" + }, + { + "name": "item", + "type": "slot" + } + ] + ], + "packet_update_sign": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "text1", + "type": "string" + }, + { + "name": "text2", + "type": "string" + }, + { + "name": "text3", + "type": "string" + }, + { + "name": "text4", + "type": "string" + } + ] + ], + "packet_arm_animation": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_spectate": [ + "container", + [ + { + "name": "target", + "type": "UUID" + } + ] + ], + "packet_block_place": [ + "container", + [ + { + "name": "location", + "type": "position" + }, + { + "name": "direction", + "type": "varint" + }, + { + "name": "hand", + "type": "varint" + }, + { + "name": "cursorX", + "type": "f32" + }, + { + "name": "cursorY", + "type": "f32" + }, + { + "name": "cursorZ", + "type": "f32" + } + ] + ], + "packet_use_item": [ + "container", + [ + { + "name": "hand", + "type": "varint" + } + ] + ], + "packet_advancement_tab": [ + "container", + [ + { + "name": "action", + "type": "varint" + }, + { + "name": "tabId", + "type": [ + "switch", + { + "compareTo": "action", + "fields": { + "0": "string", + "1": "void" + } + } + ] + } + ] + ], + "packet": [ + "container", + [ + { + "name": "name", + "type": [ + "mapper", + { + "type": "varint", + "mappings": { + "0x00": "teleport_confirm", + "0x01": "tab_complete", + "0x02": "chat", + "0x03": "client_command", + "0x04": "settings", + "0x05": "transaction", + "0x06": "enchant_item", + "0x07": "window_click", + "0x08": "close_window", + "0x09": "custom_payload", + "0x0a": "use_entity", + "0x0b": "keep_alive", + "0x0c": "flying", + "0x0d": "position", + "0x0e": "position_look", + "0x0f": "look", + "0x10": "vehicle_move", + "0x11": "steer_boat", + "0x12": "craft_recipe_request", + "0x13": "abilities", + "0x14": "block_dig", + "0x15": "entity_action", + "0x16": "steer_vehicle", + "0x17": "crafting_book_data", + "0x18": "resource_pack_receive", + "0x19": "advancement_tab", + "0x1a": "held_item_slot", + "0x1b": "set_creative_slot", + "0x1c": "update_sign", + "0x1d": "arm_animation", + "0x1e": "spectate", + "0x1f": "block_place", + "0x20": "use_item" + } + } + ] + }, + { + "name": "params", + "type": [ + "switch", + { + "compareTo": "name", + "fields": { + "teleport_confirm": "packet_teleport_confirm", + "tab_complete": "packet_tab_complete", + "chat": "packet_chat", + "client_command": "packet_client_command", + "settings": "packet_settings", + "transaction": "packet_transaction", + "enchant_item": "packet_enchant_item", + "window_click": "packet_window_click", + "close_window": "packet_close_window", + "custom_payload": "packet_custom_payload", + "use_entity": "packet_use_entity", + "keep_alive": "packet_keep_alive", + "position": "packet_position", + "position_look": "packet_position_look", + "look": "packet_look", + "flying": "packet_flying", + "vehicle_move": "packet_vehicle_move", + "steer_boat": "packet_steer_boat", + "craft_recipe_request": "packet_craft_recipe_request", + "abilities": "packet_abilities", + "block_dig": "packet_block_dig", + "entity_action": "packet_entity_action", + "steer_vehicle": "packet_steer_vehicle", + "crafting_book_data": "packet_crafting_book_data", + "resource_pack_receive": "packet_resource_pack_receive", + "held_item_slot": "packet_held_item_slot", + "set_creative_slot": "packet_set_creative_slot", + "update_sign": "packet_update_sign", + "arm_animation": "packet_arm_animation", + "spectate": "packet_spectate", + "block_place": "packet_block_place", + "use_item": "packet_use_item", + "advancement_tab": "packet_advancement_tab" + } + } + ] + } + ] + ] + } + } + } +} \ No newline at end of file diff --git a/mc/data/minecraft-data/pc/1.12.2/sounds.json b/mc/data/minecraft-data/pc/1.12.2/sounds.json new file mode 100644 index 0000000..a108e06 --- /dev/null +++ b/mc/data/minecraft-data/pc/1.12.2/sounds.json @@ -0,0 +1,2198 @@ +[ + { + "id": 0, + "name": "ambient.cave" + }, + { + "id": 1, + "name": "block.anvil.break" + }, + { + "id": 2, + "name": "block.anvil.destroy" + }, + { + "id": 3, + "name": "block.anvil.fall" + }, + { + "id": 4, + "name": "block.anvil.hit" + }, + { + "id": 5, + "name": "block.anvil.land" + }, + { + "id": 6, + "name": "block.anvil.place" + }, + { + "id": 7, + "name": "block.anvil.step" + }, + { + "id": 8, + "name": "block.anvil.use" + }, + { + "id": 9, + "name": "block.brewing_stand.brew" + }, + { + "id": 10, + "name": "block.chest.close" + }, + { + "id": 11, + "name": "block.chest.locked" + }, + { + "id": 12, + "name": "block.chest.open" + }, + { + "id": 13, + "name": "block.chorus_flower.death" + }, + { + "id": 14, + "name": "block.chorus_flower.grow" + }, + { + "id": 15, + "name": "block.cloth.break" + }, + { + "id": 16, + "name": "block.cloth.fall" + }, + { + "id": 17, + "name": "block.cloth.hit" + }, + { + "id": 18, + "name": "block.cloth.place" + }, + { + "id": 19, + "name": "block.cloth.step" + }, + { + "id": 20, + "name": "block.comparator.click" + }, + { + "id": 21, + "name": "block.dispenser.dispense" + }, + { + "id": 22, + "name": "block.dispenser.fail" + }, + { + "id": 23, + "name": "block.dispenser.launch" + }, + { + "id": 24, + "name": "block.enchantment_table.use" + }, + { + "id": 25, + "name": "block.end_gateway.spawn" + }, + { + "id": 26, + "name": "block.end_portal.spawn" + }, + { + "id": 27, + "name": "block.end_portal_frame.fill" + }, + { + "id": 28, + "name": "block.enderchest.close" + }, + { + "id": 29, + "name": "block.enderchest.open" + }, + { + "id": 30, + "name": "block.fence_gate.close" + }, + { + "id": 31, + "name": "block.fence_gate.open" + }, + { + "id": 32, + "name": "block.fire.ambient" + }, + { + "id": 33, + "name": "block.fire.extinguish" + }, + { + "id": 34, + "name": "block.furnace.fire_crackle" + }, + { + "id": 35, + "name": "block.glass.break" + }, + { + "id": 36, + "name": "block.glass.fall" + }, + { + "id": 37, + "name": "block.glass.hit" + }, + { + "id": 38, + "name": "block.glass.place" + }, + { + "id": 39, + "name": "block.glass.step" + }, + { + "id": 40, + "name": "block.grass.break" + }, + { + "id": 41, + "name": "block.grass.fall" + }, + { + "id": 42, + "name": "block.grass.hit" + }, + { + "id": 43, + "name": "block.grass.place" + }, + { + "id": 44, + "name": "block.grass.step" + }, + { + "id": 45, + "name": "block.gravel.break" + }, + { + "id": 46, + "name": "block.gravel.fall" + }, + { + "id": 47, + "name": "block.gravel.hit" + }, + { + "id": 48, + "name": "block.gravel.place" + }, + { + "id": 49, + "name": "block.gravel.step" + }, + { + "id": 50, + "name": "block.iron_door.close" + }, + { + "id": 51, + "name": "block.iron_door.open" + }, + { + "id": 52, + "name": "block.iron_trapdoor.close" + }, + { + "id": 53, + "name": "block.iron_trapdoor.open" + }, + { + "id": 54, + "name": "block.ladder.break" + }, + { + "id": 55, + "name": "block.ladder.fall" + }, + { + "id": 56, + "name": "block.ladder.hit" + }, + { + "id": 57, + "name": "block.ladder.place" + }, + { + "id": 58, + "name": "block.ladder.step" + }, + { + "id": 59, + "name": "block.lava.ambient" + }, + { + "id": 60, + "name": "block.lava.extinguish" + }, + { + "id": 61, + "name": "block.lava.pop" + }, + { + "id": 62, + "name": "block.lever.click" + }, + { + "id": 63, + "name": "block.metal.break" + }, + { + "id": 64, + "name": "block.metal.fall" + }, + { + "id": 65, + "name": "block.metal.hit" + }, + { + "id": 66, + "name": "block.metal.place" + }, + { + "id": 67, + "name": "block.metal.step" + }, + { + "id": 68, + "name": "block.metal_pressureplate.click_off" + }, + { + "id": 69, + "name": "block.metal_pressureplate.click_on" + }, + { + "id": 70, + "name": "block.note.basedrum" + }, + { + "id": 71, + "name": "block.note.bass" + }, + { + "id": 72, + "name": "block.note.bell" + }, + { + "id": 73, + "name": "block.note.chime" + }, + { + "id": 74, + "name": "block.note.flute" + }, + { + "id": 75, + "name": "block.note.guitar" + }, + { + "id": 76, + "name": "block.note.harp" + }, + { + "id": 77, + "name": "block.note.hat" + }, + { + "id": 78, + "name": "block.note.pling" + }, + { + "id": 79, + "name": "block.note.snare" + }, + { + "id": 80, + "name": "block.note.xylophone" + }, + { + "id": 81, + "name": "block.piston.contract" + }, + { + "id": 82, + "name": "block.piston.extend" + }, + { + "id": 83, + "name": "block.portal.ambient" + }, + { + "id": 84, + "name": "block.portal.travel" + }, + { + "id": 85, + "name": "block.portal.trigger" + }, + { + "id": 86, + "name": "block.redstone_torch.burnout" + }, + { + "id": 87, + "name": "block.sand.break" + }, + { + "id": 88, + "name": "block.sand.fall" + }, + { + "id": 89, + "name": "block.sand.hit" + }, + { + "id": 90, + "name": "block.sand.place" + }, + { + "id": 91, + "name": "block.sand.step" + }, + { + "id": 92, + "name": "block.shulker_box.close" + }, + { + "id": 93, + "name": "block.shulker_box.open" + }, + { + "id": 94, + "name": "block.slime.break" + }, + { + "id": 95, + "name": "block.slime.fall" + }, + { + "id": 96, + "name": "block.slime.hit" + }, + { + "id": 97, + "name": "block.slime.place" + }, + { + "id": 98, + "name": "block.slime.step" + }, + { + "id": 99, + "name": "block.snow.break" + }, + { + "id": 100, + "name": "block.snow.fall" + }, + { + "id": 101, + "name": "block.snow.hit" + }, + { + "id": 102, + "name": "block.snow.place" + }, + { + "id": 103, + "name": "block.snow.step" + }, + { + "id": 104, + "name": "block.stone.break" + }, + { + "id": 105, + "name": "block.stone.fall" + }, + { + "id": 106, + "name": "block.stone.hit" + }, + { + "id": 107, + "name": "block.stone.place" + }, + { + "id": 108, + "name": "block.stone.step" + }, + { + "id": 109, + "name": "block.stone_button.click_off" + }, + { + "id": 110, + "name": "block.stone_button.click_on" + }, + { + "id": 111, + "name": "block.stone_pressureplate.click_off" + }, + { + "id": 112, + "name": "block.stone_pressureplate.click_on" + }, + { + "id": 113, + "name": "block.tripwire.attach" + }, + { + "id": 114, + "name": "block.tripwire.click_off" + }, + { + "id": 115, + "name": "block.tripwire.click_on" + }, + { + "id": 116, + "name": "block.tripwire.detach" + }, + { + "id": 117, + "name": "block.water.ambient" + }, + { + "id": 118, + "name": "block.waterlily.place" + }, + { + "id": 119, + "name": "block.wood.break" + }, + { + "id": 120, + "name": "block.wood.fall" + }, + { + "id": 121, + "name": "block.wood.hit" + }, + { + "id": 122, + "name": "block.wood.place" + }, + { + "id": 123, + "name": "block.wood.step" + }, + { + "id": 124, + "name": "block.wood_button.click_off" + }, + { + "id": 125, + "name": "block.wood_button.click_on" + }, + { + "id": 126, + "name": "block.wood_pressureplate.click_off" + }, + { + "id": 127, + "name": "block.wood_pressureplate.click_on" + }, + { + "id": 128, + "name": "block.wooden_door.close" + }, + { + "id": 129, + "name": "block.wooden_door.open" + }, + { + "id": 130, + "name": "block.wooden_trapdoor.close" + }, + { + "id": 131, + "name": "block.wooden_trapdoor.open" + }, + { + "id": 132, + "name": "enchant.thorns.hit" + }, + { + "id": 133, + "name": "entity.armorstand.break" + }, + { + "id": 134, + "name": "entity.armorstand.fall" + }, + { + "id": 135, + "name": "entity.armorstand.hit" + }, + { + "id": 136, + "name": "entity.armorstand.place" + }, + { + "id": 137, + "name": "entity.arrow.hit" + }, + { + "id": 138, + "name": "entity.arrow.hit_player" + }, + { + "id": 139, + "name": "entity.arrow.shoot" + }, + { + "id": 140, + "name": "entity.bat.ambient" + }, + { + "id": 141, + "name": "entity.bat.death" + }, + { + "id": 142, + "name": "entity.bat.hurt" + }, + { + "id": 143, + "name": "entity.bat.loop" + }, + { + "id": 144, + "name": "entity.bat.takeoff" + }, + { + "id": 145, + "name": "entity.blaze.ambient" + }, + { + "id": 146, + "name": "entity.blaze.burn" + }, + { + "id": 147, + "name": "entity.blaze.death" + }, + { + "id": 148, + "name": "entity.blaze.hurt" + }, + { + "id": 149, + "name": "entity.blaze.shoot" + }, + { + "id": 150, + "name": "entity.boat.paddle_land" + }, + { + "id": 151, + "name": "entity.boat.paddle_water" + }, + { + "id": 152, + "name": "entity.bobber.retrieve" + }, + { + "id": 153, + "name": "entity.bobber.splash" + }, + { + "id": 154, + "name": "entity.bobber.throw" + }, + { + "id": 155, + "name": "entity.cat.ambient" + }, + { + "id": 156, + "name": "entity.cat.death" + }, + { + "id": 157, + "name": "entity.cat.hiss" + }, + { + "id": 158, + "name": "entity.cat.hurt" + }, + { + "id": 159, + "name": "entity.cat.purr" + }, + { + "id": 160, + "name": "entity.cat.purreow" + }, + { + "id": 161, + "name": "entity.chicken.ambient" + }, + { + "id": 162, + "name": "entity.chicken.death" + }, + { + "id": 163, + "name": "entity.chicken.egg" + }, + { + "id": 164, + "name": "entity.chicken.hurt" + }, + { + "id": 165, + "name": "entity.chicken.step" + }, + { + "id": 166, + "name": "entity.cow.ambient" + }, + { + "id": 167, + "name": "entity.cow.death" + }, + { + "id": 168, + "name": "entity.cow.hurt" + }, + { + "id": 169, + "name": "entity.cow.milk" + }, + { + "id": 170, + "name": "entity.cow.step" + }, + { + "id": 171, + "name": "entity.creeper.death" + }, + { + "id": 172, + "name": "entity.creeper.hurt" + }, + { + "id": 173, + "name": "entity.creeper.primed" + }, + { + "id": 174, + "name": "entity.donkey.ambient" + }, + { + "id": 175, + "name": "entity.donkey.angry" + }, + { + "id": 176, + "name": "entity.donkey.chest" + }, + { + "id": 177, + "name": "entity.donkey.death" + }, + { + "id": 178, + "name": "entity.donkey.hurt" + }, + { + "id": 179, + "name": "entity.egg.throw" + }, + { + "id": 180, + "name": "entity.elder_guardian.ambient" + }, + { + "id": 181, + "name": "entity.elder_guardian.ambient_land" + }, + { + "id": 182, + "name": "entity.elder_guardian.curse" + }, + { + "id": 183, + "name": "entity.elder_guardian.death" + }, + { + "id": 184, + "name": "entity.elder_guardian.death_land" + }, + { + "id": 185, + "name": "entity.elder_guardian.flop" + }, + { + "id": 186, + "name": "entity.elder_guardian.hurt" + }, + { + "id": 187, + "name": "entity.elder_guardian.hurt_land" + }, + { + "id": 188, + "name": "entity.enderdragon.ambient" + }, + { + "id": 189, + "name": "entity.enderdragon.death" + }, + { + "id": 190, + "name": "entity.enderdragon.flap" + }, + { + "id": 191, + "name": "entity.enderdragon.growl" + }, + { + "id": 192, + "name": "entity.enderdragon.hurt" + }, + { + "id": 193, + "name": "entity.enderdragon.shoot" + }, + { + "id": 194, + "name": "entity.enderdragon_fireball.explode" + }, + { + "id": 195, + "name": "entity.endereye.death" + }, + { + "id": 196, + "name": "entity.endereye.launch" + }, + { + "id": 197, + "name": "entity.endermen.ambient" + }, + { + "id": 198, + "name": "entity.endermen.death" + }, + { + "id": 199, + "name": "entity.endermen.hurt" + }, + { + "id": 200, + "name": "entity.endermen.scream" + }, + { + "id": 201, + "name": "entity.endermen.stare" + }, + { + "id": 202, + "name": "entity.endermen.teleport" + }, + { + "id": 203, + "name": "entity.endermite.ambient" + }, + { + "id": 204, + "name": "entity.endermite.death" + }, + { + "id": 205, + "name": "entity.endermite.hurt" + }, + { + "id": 206, + "name": "entity.endermite.step" + }, + { + "id": 207, + "name": "entity.enderpearl.throw" + }, + { + "id": 208, + "name": "entity.evocation_fangs.attack" + }, + { + "id": 209, + "name": "entity.evocation_illager.ambient" + }, + { + "id": 210, + "name": "entity.evocation_illager.cast_spell" + }, + { + "id": 211, + "name": "entity.evocation_illager.death" + }, + { + "id": 212, + "name": "entity.evocation_illager.hurt" + }, + { + "id": 213, + "name": "entity.evocation_illager.prepare_attack" + }, + { + "id": 214, + "name": "entity.evocation_illager.prepare_summon" + }, + { + "id": 215, + "name": "entity.evocation_illager.prepare_wololo" + }, + { + "id": 216, + "name": "entity.experience_bottle.throw" + }, + { + "id": 217, + "name": "entity.experience_orb.pickup" + }, + { + "id": 218, + "name": "entity.firework.blast" + }, + { + "id": 219, + "name": "entity.firework.blast_far" + }, + { + "id": 220, + "name": "entity.firework.large_blast" + }, + { + "id": 221, + "name": "entity.firework.large_blast_far" + }, + { + "id": 222, + "name": "entity.firework.launch" + }, + { + "id": 223, + "name": "entity.firework.shoot" + }, + { + "id": 224, + "name": "entity.firework.twinkle" + }, + { + "id": 225, + "name": "entity.firework.twinkle_far" + }, + { + "id": 226, + "name": "entity.generic.big_fall" + }, + { + "id": 227, + "name": "entity.generic.burn" + }, + { + "id": 228, + "name": "entity.generic.death" + }, + { + "id": 229, + "name": "entity.generic.drink" + }, + { + "id": 230, + "name": "entity.generic.eat" + }, + { + "id": 231, + "name": "entity.generic.explode" + }, + { + "id": 232, + "name": "entity.generic.extinguish_fire" + }, + { + "id": 233, + "name": "entity.generic.hurt" + }, + { + "id": 234, + "name": "entity.generic.small_fall" + }, + { + "id": 235, + "name": "entity.generic.splash" + }, + { + "id": 236, + "name": "entity.generic.swim" + }, + { + "id": 237, + "name": "entity.ghast.ambient" + }, + { + "id": 238, + "name": "entity.ghast.death" + }, + { + "id": 239, + "name": "entity.ghast.hurt" + }, + { + "id": 240, + "name": "entity.ghast.scream" + }, + { + "id": 241, + "name": "entity.ghast.shoot" + }, + { + "id": 242, + "name": "entity.ghast.warn" + }, + { + "id": 243, + "name": "entity.guardian.ambient" + }, + { + "id": 244, + "name": "entity.guardian.ambient_land" + }, + { + "id": 245, + "name": "entity.guardian.attack" + }, + { + "id": 246, + "name": "entity.guardian.death" + }, + { + "id": 247, + "name": "entity.guardian.death_land" + }, + { + "id": 248, + "name": "entity.guardian.flop" + }, + { + "id": 249, + "name": "entity.guardian.hurt" + }, + { + "id": 250, + "name": "entity.guardian.hurt_land" + }, + { + "id": 251, + "name": "entity.horse.ambient" + }, + { + "id": 252, + "name": "entity.horse.angry" + }, + { + "id": 253, + "name": "entity.horse.armor" + }, + { + "id": 254, + "name": "entity.horse.breathe" + }, + { + "id": 255, + "name": "entity.horse.death" + }, + { + "id": 256, + "name": "entity.horse.eat" + }, + { + "id": 257, + "name": "entity.horse.gallop" + }, + { + "id": 258, + "name": "entity.horse.hurt" + }, + { + "id": 259, + "name": "entity.horse.jump" + }, + { + "id": 260, + "name": "entity.horse.land" + }, + { + "id": 261, + "name": "entity.horse.saddle" + }, + { + "id": 262, + "name": "entity.horse.step" + }, + { + "id": 263, + "name": "entity.horse.step_wood" + }, + { + "id": 264, + "name": "entity.hostile.big_fall" + }, + { + "id": 265, + "name": "entity.hostile.death" + }, + { + "id": 266, + "name": "entity.hostile.hurt" + }, + { + "id": 267, + "name": "entity.hostile.small_fall" + }, + { + "id": 268, + "name": "entity.hostile.splash" + }, + { + "id": 269, + "name": "entity.hostile.swim" + }, + { + "id": 270, + "name": "entity.husk.ambient" + }, + { + "id": 271, + "name": "entity.husk.death" + }, + { + "id": 272, + "name": "entity.husk.hurt" + }, + { + "id": 273, + "name": "entity.husk.step" + }, + { + "id": 274, + "name": "entity.illusion_illager.ambient" + }, + { + "id": 275, + "name": "entity.illusion_illager.cast_spell" + }, + { + "id": 276, + "name": "entity.illusion_illager.death" + }, + { + "id": 277, + "name": "entity.illusion_illager.hurt" + }, + { + "id": 278, + "name": "entity.illusion_illager.mirror_move" + }, + { + "id": 279, + "name": "entity.illusion_illager.prepare_blindness" + }, + { + "id": 280, + "name": "entity.illusion_illager.prepare_mirror" + }, + { + "id": 281, + "name": "entity.irongolem.attack" + }, + { + "id": 282, + "name": "entity.irongolem.death" + }, + { + "id": 283, + "name": "entity.irongolem.hurt" + }, + { + "id": 284, + "name": "entity.irongolem.step" + }, + { + "id": 285, + "name": "entity.item.break" + }, + { + "id": 286, + "name": "entity.item.pickup" + }, + { + "id": 287, + "name": "entity.itemframe.add_item" + }, + { + "id": 288, + "name": "entity.itemframe.break" + }, + { + "id": 289, + "name": "entity.itemframe.place" + }, + { + "id": 290, + "name": "entity.itemframe.remove_item" + }, + { + "id": 291, + "name": "entity.itemframe.rotate_item" + }, + { + "id": 292, + "name": "entity.leashknot.break" + }, + { + "id": 293, + "name": "entity.leashknot.place" + }, + { + "id": 294, + "name": "entity.lightning.impact" + }, + { + "id": 295, + "name": "entity.lightning.thunder" + }, + { + "id": 296, + "name": "entity.lingeringpotion.throw" + }, + { + "id": 297, + "name": "entity.llama.ambient" + }, + { + "id": 298, + "name": "entity.llama.angry" + }, + { + "id": 299, + "name": "entity.llama.chest" + }, + { + "id": 300, + "name": "entity.llama.death" + }, + { + "id": 301, + "name": "entity.llama.eat" + }, + { + "id": 302, + "name": "entity.llama.hurt" + }, + { + "id": 303, + "name": "entity.llama.spit" + }, + { + "id": 304, + "name": "entity.llama.step" + }, + { + "id": 305, + "name": "entity.llama.swag" + }, + { + "id": 306, + "name": "entity.magmacube.death" + }, + { + "id": 307, + "name": "entity.magmacube.hurt" + }, + { + "id": 308, + "name": "entity.magmacube.jump" + }, + { + "id": 309, + "name": "entity.magmacube.squish" + }, + { + "id": 310, + "name": "entity.minecart.inside" + }, + { + "id": 311, + "name": "entity.minecart.riding" + }, + { + "id": 312, + "name": "entity.mooshroom.shear" + }, + { + "id": 313, + "name": "entity.mule.ambient" + }, + { + "id": 314, + "name": "entity.mule.chest" + }, + { + "id": 315, + "name": "entity.mule.death" + }, + { + "id": 316, + "name": "entity.mule.hurt" + }, + { + "id": 317, + "name": "entity.painting.break" + }, + { + "id": 318, + "name": "entity.painting.place" + }, + { + "id": 319, + "name": "entity.parrot.ambient" + }, + { + "id": 320, + "name": "entity.parrot.death" + }, + { + "id": 321, + "name": "entity.parrot.eat" + }, + { + "id": 322, + "name": "entity.parrot.fly" + }, + { + "id": 323, + "name": "entity.parrot.hurt" + }, + { + "id": 324, + "name": "entity.parrot.imitate.blaze" + }, + { + "id": 325, + "name": "entity.parrot.imitate.creeper" + }, + { + "id": 326, + "name": "entity.parrot.imitate.elder_guardian" + }, + { + "id": 327, + "name": "entity.parrot.imitate.enderdragon" + }, + { + "id": 328, + "name": "entity.parrot.imitate.enderman" + }, + { + "id": 329, + "name": "entity.parrot.imitate.endermite" + }, + { + "id": 330, + "name": "entity.parrot.imitate.evocation_illager" + }, + { + "id": 331, + "name": "entity.parrot.imitate.ghast" + }, + { + "id": 332, + "name": "entity.parrot.imitate.husk" + }, + { + "id": 333, + "name": "entity.parrot.imitate.illusion_illager" + }, + { + "id": 334, + "name": "entity.parrot.imitate.magmacube" + }, + { + "id": 335, + "name": "entity.parrot.imitate.polar_bear" + }, + { + "id": 336, + "name": "entity.parrot.imitate.shulker" + }, + { + "id": 337, + "name": "entity.parrot.imitate.silverfish" + }, + { + "id": 338, + "name": "entity.parrot.imitate.skeleton" + }, + { + "id": 339, + "name": "entity.parrot.imitate.slime" + }, + { + "id": 340, + "name": "entity.parrot.imitate.spider" + }, + { + "id": 341, + "name": "entity.parrot.imitate.stray" + }, + { + "id": 342, + "name": "entity.parrot.imitate.vex" + }, + { + "id": 343, + "name": "entity.parrot.imitate.vindication_illager" + }, + { + "id": 344, + "name": "entity.parrot.imitate.witch" + }, + { + "id": 345, + "name": "entity.parrot.imitate.wither" + }, + { + "id": 346, + "name": "entity.parrot.imitate.wither_skeleton" + }, + { + "id": 347, + "name": "entity.parrot.imitate.wolf" + }, + { + "id": 348, + "name": "entity.parrot.imitate.zombie" + }, + { + "id": 349, + "name": "entity.parrot.imitate.zombie_pigman" + }, + { + "id": 350, + "name": "entity.parrot.imitate.zombie_villager" + }, + { + "id": 351, + "name": "entity.parrot.step" + }, + { + "id": 352, + "name": "entity.pig.ambient" + }, + { + "id": 353, + "name": "entity.pig.death" + }, + { + "id": 354, + "name": "entity.pig.hurt" + }, + { + "id": 355, + "name": "entity.pig.saddle" + }, + { + "id": 356, + "name": "entity.pig.step" + }, + { + "id": 357, + "name": "entity.player.attack.crit" + }, + { + "id": 358, + "name": "entity.player.attack.knockback" + }, + { + "id": 359, + "name": "entity.player.attack.nodamage" + }, + { + "id": 360, + "name": "entity.player.attack.strong" + }, + { + "id": 361, + "name": "entity.player.attack.sweep" + }, + { + "id": 362, + "name": "entity.player.attack.weak" + }, + { + "id": 363, + "name": "entity.player.big_fall" + }, + { + "id": 364, + "name": "entity.player.breath" + }, + { + "id": 365, + "name": "entity.player.burp" + }, + { + "id": 366, + "name": "entity.player.death" + }, + { + "id": 367, + "name": "entity.player.hurt" + }, + { + "id": 368, + "name": "entity.player.hurt_drown" + }, + { + "id": 369, + "name": "entity.player.hurt_on_fire" + }, + { + "id": 370, + "name": "entity.player.levelup" + }, + { + "id": 371, + "name": "entity.player.small_fall" + }, + { + "id": 372, + "name": "entity.player.splash" + }, + { + "id": 373, + "name": "entity.player.swim" + }, + { + "id": 374, + "name": "entity.polar_bear.ambient" + }, + { + "id": 375, + "name": "entity.polar_bear.baby_ambient" + }, + { + "id": 376, + "name": "entity.polar_bear.death" + }, + { + "id": 377, + "name": "entity.polar_bear.hurt" + }, + { + "id": 378, + "name": "entity.polar_bear.step" + }, + { + "id": 379, + "name": "entity.polar_bear.warning" + }, + { + "id": 380, + "name": "entity.rabbit.ambient" + }, + { + "id": 381, + "name": "entity.rabbit.attack" + }, + { + "id": 382, + "name": "entity.rabbit.death" + }, + { + "id": 383, + "name": "entity.rabbit.hurt" + }, + { + "id": 384, + "name": "entity.rabbit.jump" + }, + { + "id": 385, + "name": "entity.sheep.ambient" + }, + { + "id": 386, + "name": "entity.sheep.death" + }, + { + "id": 387, + "name": "entity.sheep.hurt" + }, + { + "id": 388, + "name": "entity.sheep.shear" + }, + { + "id": 389, + "name": "entity.sheep.step" + }, + { + "id": 390, + "name": "entity.shulker.ambient" + }, + { + "id": 391, + "name": "entity.shulker.close" + }, + { + "id": 392, + "name": "entity.shulker.death" + }, + { + "id": 393, + "name": "entity.shulker.hurt" + }, + { + "id": 394, + "name": "entity.shulker.hurt_closed" + }, + { + "id": 395, + "name": "entity.shulker.open" + }, + { + "id": 396, + "name": "entity.shulker.shoot" + }, + { + "id": 397, + "name": "entity.shulker.teleport" + }, + { + "id": 398, + "name": "entity.shulker_bullet.hit" + }, + { + "id": 399, + "name": "entity.shulker_bullet.hurt" + }, + { + "id": 400, + "name": "entity.silverfish.ambient" + }, + { + "id": 401, + "name": "entity.silverfish.death" + }, + { + "id": 402, + "name": "entity.silverfish.hurt" + }, + { + "id": 403, + "name": "entity.silverfish.step" + }, + { + "id": 404, + "name": "entity.skeleton.ambient" + }, + { + "id": 405, + "name": "entity.skeleton.death" + }, + { + "id": 406, + "name": "entity.skeleton.hurt" + }, + { + "id": 407, + "name": "entity.skeleton.shoot" + }, + { + "id": 408, + "name": "entity.skeleton.step" + }, + { + "id": 409, + "name": "entity.skeleton_horse.ambient" + }, + { + "id": 410, + "name": "entity.skeleton_horse.death" + }, + { + "id": 411, + "name": "entity.skeleton_horse.hurt" + }, + { + "id": 412, + "name": "entity.slime.attack" + }, + { + "id": 413, + "name": "entity.slime.death" + }, + { + "id": 414, + "name": "entity.slime.hurt" + }, + { + "id": 415, + "name": "entity.slime.jump" + }, + { + "id": 416, + "name": "entity.slime.squish" + }, + { + "id": 417, + "name": "entity.small_magmacube.death" + }, + { + "id": 418, + "name": "entity.small_magmacube.hurt" + }, + { + "id": 419, + "name": "entity.small_magmacube.squish" + }, + { + "id": 420, + "name": "entity.small_slime.death" + }, + { + "id": 421, + "name": "entity.small_slime.hurt" + }, + { + "id": 422, + "name": "entity.small_slime.jump" + }, + { + "id": 423, + "name": "entity.small_slime.squish" + }, + { + "id": 424, + "name": "entity.snowball.throw" + }, + { + "id": 425, + "name": "entity.snowman.ambient" + }, + { + "id": 426, + "name": "entity.snowman.death" + }, + { + "id": 427, + "name": "entity.snowman.hurt" + }, + { + "id": 428, + "name": "entity.snowman.shoot" + }, + { + "id": 429, + "name": "entity.spider.ambient" + }, + { + "id": 430, + "name": "entity.spider.death" + }, + { + "id": 431, + "name": "entity.spider.hurt" + }, + { + "id": 432, + "name": "entity.spider.step" + }, + { + "id": 433, + "name": "entity.splash_potion.break" + }, + { + "id": 434, + "name": "entity.splash_potion.throw" + }, + { + "id": 435, + "name": "entity.squid.ambient" + }, + { + "id": 436, + "name": "entity.squid.death" + }, + { + "id": 437, + "name": "entity.squid.hurt" + }, + { + "id": 438, + "name": "entity.stray.ambient" + }, + { + "id": 439, + "name": "entity.stray.death" + }, + { + "id": 440, + "name": "entity.stray.hurt" + }, + { + "id": 441, + "name": "entity.stray.step" + }, + { + "id": 442, + "name": "entity.tnt.primed" + }, + { + "id": 443, + "name": "entity.vex.ambient" + }, + { + "id": 444, + "name": "entity.vex.charge" + }, + { + "id": 445, + "name": "entity.vex.death" + }, + { + "id": 446, + "name": "entity.vex.hurt" + }, + { + "id": 447, + "name": "entity.villager.ambient" + }, + { + "id": 448, + "name": "entity.villager.death" + }, + { + "id": 449, + "name": "entity.villager.hurt" + }, + { + "id": 450, + "name": "entity.villager.no" + }, + { + "id": 451, + "name": "entity.villager.trading" + }, + { + "id": 452, + "name": "entity.villager.yes" + }, + { + "id": 453, + "name": "entity.vindication_illager.ambient" + }, + { + "id": 454, + "name": "entity.vindication_illager.death" + }, + { + "id": 455, + "name": "entity.vindication_illager.hurt" + }, + { + "id": 456, + "name": "entity.witch.ambient" + }, + { + "id": 457, + "name": "entity.witch.death" + }, + { + "id": 458, + "name": "entity.witch.drink" + }, + { + "id": 459, + "name": "entity.witch.hurt" + }, + { + "id": 460, + "name": "entity.witch.throw" + }, + { + "id": 461, + "name": "entity.wither.ambient" + }, + { + "id": 462, + "name": "entity.wither.break_block" + }, + { + "id": 463, + "name": "entity.wither.death" + }, + { + "id": 464, + "name": "entity.wither.hurt" + }, + { + "id": 465, + "name": "entity.wither.shoot" + }, + { + "id": 466, + "name": "entity.wither.spawn" + }, + { + "id": 467, + "name": "entity.wither_skeleton.ambient" + }, + { + "id": 468, + "name": "entity.wither_skeleton.death" + }, + { + "id": 469, + "name": "entity.wither_skeleton.hurt" + }, + { + "id": 470, + "name": "entity.wither_skeleton.step" + }, + { + "id": 471, + "name": "entity.wolf.ambient" + }, + { + "id": 472, + "name": "entity.wolf.death" + }, + { + "id": 473, + "name": "entity.wolf.growl" + }, + { + "id": 474, + "name": "entity.wolf.howl" + }, + { + "id": 475, + "name": "entity.wolf.hurt" + }, + { + "id": 476, + "name": "entity.wolf.pant" + }, + { + "id": 477, + "name": "entity.wolf.shake" + }, + { + "id": 478, + "name": "entity.wolf.step" + }, + { + "id": 479, + "name": "entity.wolf.whine" + }, + { + "id": 480, + "name": "entity.zombie.ambient" + }, + { + "id": 481, + "name": "entity.zombie.attack_door_wood" + }, + { + "id": 482, + "name": "entity.zombie.attack_iron_door" + }, + { + "id": 483, + "name": "entity.zombie.break_door_wood" + }, + { + "id": 484, + "name": "entity.zombie.death" + }, + { + "id": 485, + "name": "entity.zombie.hurt" + }, + { + "id": 486, + "name": "entity.zombie.infect" + }, + { + "id": 487, + "name": "entity.zombie.step" + }, + { + "id": 488, + "name": "entity.zombie_horse.ambient" + }, + { + "id": 489, + "name": "entity.zombie_horse.death" + }, + { + "id": 490, + "name": "entity.zombie_horse.hurt" + }, + { + "id": 491, + "name": "entity.zombie_pig.ambient" + }, + { + "id": 492, + "name": "entity.zombie_pig.angry" + }, + { + "id": 493, + "name": "entity.zombie_pig.death" + }, + { + "id": 494, + "name": "entity.zombie_pig.hurt" + }, + { + "id": 495, + "name": "entity.zombie_villager.ambient" + }, + { + "id": 496, + "name": "entity.zombie_villager.converted" + }, + { + "id": 497, + "name": "entity.zombie_villager.cure" + }, + { + "id": 498, + "name": "entity.zombie_villager.death" + }, + { + "id": 499, + "name": "entity.zombie_villager.hurt" + }, + { + "id": 500, + "name": "entity.zombie_villager.step" + }, + { + "id": 501, + "name": "item.armor.equip_chain" + }, + { + "id": 502, + "name": "item.armor.equip_diamond" + }, + { + "id": 503, + "name": "item.armor.equip_elytra" + }, + { + "id": 504, + "name": "item.armor.equip_generic" + }, + { + "id": 505, + "name": "item.armor.equip_gold" + }, + { + "id": 506, + "name": "item.armor.equip_iron" + }, + { + "id": 507, + "name": "item.armor.equip_leather" + }, + { + "id": 508, + "name": "item.bottle.empty" + }, + { + "id": 509, + "name": "item.bottle.fill" + }, + { + "id": 510, + "name": "item.bottle.fill_dragonbreath" + }, + { + "id": 511, + "name": "item.bucket.empty" + }, + { + "id": 512, + "name": "item.bucket.empty_lava" + }, + { + "id": 513, + "name": "item.bucket.fill" + }, + { + "id": 514, + "name": "item.bucket.fill_lava" + }, + { + "id": 515, + "name": "item.chorus_fruit.teleport" + }, + { + "id": 516, + "name": "item.elytra.flying" + }, + { + "id": 517, + "name": "item.firecharge.use" + }, + { + "id": 518, + "name": "item.flintandsteel.use" + }, + { + "id": 519, + "name": "item.hoe.till" + }, + { + "id": 520, + "name": "item.shield.block" + }, + { + "id": 521, + "name": "item.shield.break" + }, + { + "id": 522, + "name": "item.shovel.flatten" + }, + { + "id": 523, + "name": "item.totem.use" + }, + { + "id": 524, + "name": "music.creative" + }, + { + "id": 525, + "name": "music.credits" + }, + { + "id": 526, + "name": "music.dragon" + }, + { + "id": 527, + "name": "music.end" + }, + { + "id": 528, + "name": "music.game" + }, + { + "id": 529, + "name": "music.menu" + }, + { + "id": 530, + "name": "music.nether" + }, + { + "id": 531, + "name": "record.11" + }, + { + "id": 532, + "name": "record.13" + }, + { + "id": 533, + "name": "record.blocks" + }, + { + "id": 534, + "name": "record.cat" + }, + { + "id": 535, + "name": "record.chirp" + }, + { + "id": 536, + "name": "record.far" + }, + { + "id": 537, + "name": "record.mall" + }, + { + "id": 538, + "name": "record.mellohi" + }, + { + "id": 539, + "name": "record.stal" + }, + { + "id": 540, + "name": "record.strad" + }, + { + "id": 541, + "name": "record.wait" + }, + { + "id": 542, + "name": "record.ward" + }, + { + "id": 543, + "name": "ui.button.click" + }, + { + "id": 544, + "name": "ui.toast.in" + }, + { + "id": 545, + "name": "ui.toast.out" + }, + { + "id": 546, + "name": "ui.toast.challenge_complete" + }, + { + "id": 547, + "name": "weather.rain" + }, + { + "id": 548, + "name": "weather.rain.above" + } +] \ No newline at end of file diff --git a/mc/data/minecraft-data/pc/1.12.2/version.json b/mc/data/minecraft-data/pc/1.12.2/version.json new file mode 100644 index 0000000..455361e --- /dev/null +++ b/mc/data/minecraft-data/pc/1.12.2/version.json @@ -0,0 +1,5 @@ +{ + "minecraftVersion": "1.12.2", + "version":340, + "majorVersion": "1.12" +} diff --git a/mc/proto_generated/packet_info.go b/mc/proto_generated/packet_info.go index 30082f0..4caeea1 100644 --- a/mc/proto_generated/packet_info.go +++ b/mc/proto_generated/packet_info.go @@ -3,6 +3,7 @@ package proto_generated import ( "github.com/admin-else/strom/mc/proto_base" "github.com/admin-else/strom/mc/proto_generated/v1_8" + "github.com/admin-else/strom/mc/proto_generated/v1_12_2" "github.com/admin-else/strom/mc/proto_generated/v1_21_8" "github.com/admin-else/strom/mc/proto_generated/v1_21_9" "github.com/admin-else/strom/mc/proto_generated/v1_21_11" @@ -10,5 +11,5 @@ import ( "github.com/admin-else/strom/mc/proto_generated/v26_2" ) -var SupportedVersions = []string{"1.8", "1.21.8", "1.21.9", "1.21.11", "26.1", "26.2"} -var Packets = []proto_base.PacketInfo{{Type: &v1_8.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 47}, {Type: &v1_8.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 47}, {Type: &v1_8.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBed{}, Name: "bed", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketChat{}, Name: "chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCombatEvent{}, Name: "combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntity{}, Name: "entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMapChunkBulk{}, Name: "map_chunk_bulk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketNamedEntitySpawn{}, Name: "named_entity_spawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketNamedSoundEffect{}, Name: "named_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketResourcePackSend{}, Name: "resource_pack_send", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardTeam{}, Name: "scoreboard_team", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSetCompression{}, Name: "set_compression", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityExperienceOrb{}, Name: "spawn_entity_experience_orb", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityLiving{}, Name: "spawn_entity_living", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityPainting{}, Name: "spawn_entity_painting", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityWeather{}, Name: "spawn_entity_weather", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTitle{}, Name: "title", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTransaction{}, Name: "transaction", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateAttributes{}, Name: "update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateEntityNbt{}, Name: "update_entity_nbt", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWorldBorder{}, Name: "world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketChat{}, Name: "chat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSteerVehicle{}, Name: "steer_vehicle", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketTransaction{}, Name: "transaction", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 47}, {Type: &v1_8.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_21_8.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 772}, {Type: &v1_21_8.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketDebugSampleSubscription{}, Name: "debug_sample_subscription", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_9.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 773}, {Type: &v1_21_9.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_11.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 774}, {Type: &v1_21_11.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 774}, {Type: &v26_1.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 775}, {Type: &v26_1.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 139, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketGameRuleValues{}, Name: "game_rule_values", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketLowDiskSpaceWarning{}, Name: "low_disk_space_warning", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 140, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketAttack{}, Name: "attack", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 66, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketContainerButtonClick{}, Name: "container_button_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 68, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetGameRule{}, Name: "set_game_rule", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSpectateEntity{}, Name: "spectate_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTeleportToEntity{}, Name: "teleport_to_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 67, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 775}, {Type: &v26_1.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_2.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 776}, {Type: &v26_2.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 139, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketGameRuleValues{}, Name: "game_rule_values", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketLowDiskSpaceWarning{}, Name: "low_disk_space_warning", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 140, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketAttack{}, Name: "attack", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 66, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketContainerButtonClick{}, Name: "container_button_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 68, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetGameRule{}, Name: "set_game_rule", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSpectatorAction{}, Name: "spectator_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTeleportToEntity{}, Name: "teleport_to_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 67, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 776}, {Type: &v26_2.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 776}} +var SupportedVersions = []string{"1.8", "1.12.2", "1.21.8", "1.21.9", "1.21.11", "26.1", "26.2"} +var Packets = []proto_base.PacketInfo{{Type: &v1_8.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 47}, {Type: &v1_8.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 47}, {Type: &v1_8.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBed{}, Name: "bed", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketChat{}, Name: "chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCombatEvent{}, Name: "combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntity{}, Name: "entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMapChunkBulk{}, Name: "map_chunk_bulk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketNamedEntitySpawn{}, Name: "named_entity_spawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketNamedSoundEffect{}, Name: "named_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketResourcePackSend{}, Name: "resource_pack_send", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketScoreboardTeam{}, Name: "scoreboard_team", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSetCompression{}, Name: "set_compression", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityExperienceOrb{}, Name: "spawn_entity_experience_orb", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityLiving{}, Name: "spawn_entity_living", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityPainting{}, Name: "spawn_entity_painting", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnEntityWeather{}, Name: "spawn_entity_weather", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTitle{}, Name: "title", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketTransaction{}, Name: "transaction", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateAttributes{}, Name: "update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateEntityNbt{}, Name: "update_entity_nbt", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWorldBorder{}, Name: "world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 47}, {Type: &v1_8.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketChat{}, Name: "chat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketSteerVehicle{}, Name: "steer_vehicle", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketTransaction{}, Name: "transaction", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 47}, {Type: &v1_8.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 47}, {Type: &v1_8.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_8.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 47}, {Type: &v1_8.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 47}, {Type: &v1_12_2.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 340}, {Type: &v1_12_2.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_12_2.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 340}, {Type: &v1_12_2.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_12_2.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 340}, {Type: &v1_12_2.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 340}, {Type: &v1_12_2.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 340}, {Type: &v1_12_2.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketBed{}, Name: "bed", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketChat{}, Name: "chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCombatEvent{}, Name: "combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntity{}, Name: "entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketNamedEntitySpawn{}, Name: "named_entity_spawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketNamedSoundEffect{}, Name: "named_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketResourcePackSend{}, Name: "resource_pack_send", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSpawnEntityExperienceOrb{}, Name: "spawn_entity_experience_orb", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSpawnEntityLiving{}, Name: "spawn_entity_living", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSpawnEntityPainting{}, Name: "spawn_entity_painting", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSpawnEntityWeather{}, Name: "spawn_entity_weather", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketTitle{}, Name: "title", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketTransaction{}, Name: "transaction", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketUnlockRecipes{}, Name: "unlock_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketWorldBorder{}, Name: "world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketChat{}, Name: "chat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketCraftingBookData{}, Name: "crafting_book_data", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketSteerVehicle{}, Name: "steer_vehicle", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketTransaction{}, Name: "transaction", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 340}, {Type: &v1_12_2.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 340}, {Type: &v1_12_2.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 340}, {Type: &v1_12_2.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_12_2.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 340}, {Type: &v1_12_2.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 340}, {Type: &v1_21_8.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 772}, {Type: &v1_21_8.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketDebugSampleSubscription{}, Name: "debug_sample_subscription", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 772}, {Type: &v1_21_8.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 772}, {Type: &v1_21_8.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 772}, {Type: &v1_21_9.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 773}, {Type: &v1_21_9.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 773}, {Type: &v1_21_9.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 773}, {Type: &v1_21_9.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 773}, {Type: &v1_21_11.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 774}, {Type: &v1_21_11.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketEnchantItem{}, Name: "enchant_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSpectate{}, Name: "spectate", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 774}, {Type: &v1_21_11.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 774}, {Type: &v1_21_11.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 774}, {Type: &v26_1.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 775}, {Type: &v26_1.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 139, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketGameRuleValues{}, Name: "game_rule_values", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketLowDiskSpaceWarning{}, Name: "low_disk_space_warning", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 140, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 775}, {Type: &v26_1.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketAttack{}, Name: "attack", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 66, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketContainerButtonClick{}, Name: "container_button_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 68, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetGameRule{}, Name: "set_game_rule", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSpectateEntity{}, Name: "spectate_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTeleportToEntity{}, Name: "teleport_to_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 67, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 775}, {Type: &v26_1.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 775}, {Type: &v26_1.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_1.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 775}, {Type: &v26_1.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 775}, {Type: &v26_2.ConfigurationToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 17, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCodeOfConduct{}, Name: "code_of_conduct", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 19, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 15, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketFeatureFlags{}, Name: "feature_flags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 12, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketRegistryData{}, Name: "registry_data", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketResetChat{}, Name: "reset_chat", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 14, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 16, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 18, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 10, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 13, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Configuration, PacketId: 11, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketAcceptCodeOfConduct{}, Name: "accept_code_of_conduct", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketFinishConfiguration{}, Name: "finish_configuration", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonSelectKnownPacks{}, Name: "select_known_packs", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.ConfigurationToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Configuration, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.HandshakingToServerPacketLegacyServerListPing{}, Name: "legacy_server_list_ping", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 254, ProtocolVersion: 776}, {Type: &v26_2.HandshakingToServerPacketSetProtocol{}, Name: "set_protocol", Direction: proto_base.ToServer, State: proto_base.Handshaking, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketCompress{}, Name: "compress", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketDisconnect{}, Name: "disconnect", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketLoginPluginRequest{}, Name: "login_plugin_request", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.LoginToClientPacketSuccess{}, Name: "success", Direction: proto_base.ToClient, State: proto_base.Login, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketEncryptionBegin{}, Name: "encryption_begin", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketLoginAcknowledged{}, Name: "login_acknowledged", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketLoginPluginResponse{}, Name: "login_plugin_response", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.LoginToServerPacketLoginStart{}, Name: "login_start", Direction: proto_base.ToServer, State: proto_base.Login, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAbilities{}, Name: "abilities", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 64, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAcknowledgePlayerDigging{}, Name: "acknowledge_player_digging", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketActionBar{}, Name: "action_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 87, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonAddResourcePack{}, Name: "add_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 81, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAdvancements{}, Name: "advancements", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 130, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAnimation{}, Name: "animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketAttachEntity{}, Name: "attach_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 100, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBlockAction{}, Name: "block_action", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBlockBreakAnimation{}, Name: "block_break_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBlockChange{}, Name: "block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBossBar{}, Name: "boss_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketBundleDelimiter{}, Name: "bundle_delimiter", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCamera{}, Name: "camera", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 93, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChatSuggestions{}, Name: "chat_suggestions", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 23, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChunkBatchFinished{}, Name: "chunk_batch_finished", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 11, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChunkBatchStart{}, Name: "chunk_batch_start", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 12, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketChunkBiomes{}, Name: "chunk_biomes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 13, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonClearDialog{}, Name: "clear_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 139, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketClearTitles{}, Name: "clear_titles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 14, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 17, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCollect{}, Name: "collect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 124, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonCookieRequest{}, Name: "cookie_request", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 21, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCraftProgressBar{}, Name: "craft_progress_bar", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 19, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCraftRecipeResponse{}, Name: "craft_recipe_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 63, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 24, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonCustomReportDetails{}, Name: "custom_report_details", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 136, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDamageEvent{}, Name: "damage_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 25, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDeathCombatEvent{}, Name: "death_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 68, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugBlockValue{}, Name: "debug_block_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 26, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugChunkValue{}, Name: "debug_chunk_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 27, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugEntityValue{}, Name: "debug_entity_value", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 28, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugEvent{}, Name: "debug_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 29, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDebugSample{}, Name: "debug_sample", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 30, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDeclareCommands{}, Name: "declare_commands", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 16, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDeclareRecipes{}, Name: "declare_recipes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 133, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketDifficulty{}, Name: "difficulty", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 10, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEndCombatEvent{}, Name: "end_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 66, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEnterCombatEvent{}, Name: "enter_combat_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 67, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityDestroy{}, Name: "entity_destroy", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 77, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityEffect{}, Name: "entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 132, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityEquipment{}, Name: "entity_equipment", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 102, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityHeadRotation{}, Name: "entity_head_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 83, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityLook{}, Name: "entity_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 56, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityMetadata{}, Name: "entity_metadata", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 99, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityMoveLook{}, Name: "entity_move_look", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 54, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntitySoundEffect{}, Name: "entity_sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 116, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityStatus{}, Name: "entity_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 34, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityTeleport{}, Name: "entity_teleport", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 125, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityUpdateAttributes{}, Name: "entity_update_attributes", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 131, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketEntityVelocity{}, Name: "entity_velocity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 101, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketExperience{}, Name: "experience", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 103, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketExplosion{}, Name: "explosion", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 36, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketFacePlayer{}, Name: "face_player", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 71, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketGameRuleValues{}, Name: "game_rule_values", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 39, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketGameStateChange{}, Name: "game_state_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 38, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketGameTestHighlightPos{}, Name: "game_test_highlight_pos", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 40, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 105, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketHideMessage{}, Name: "hide_message", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 31, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketHurtAnimation{}, Name: "hurt_animation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 42, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketInitializeWorldBorder{}, Name: "initialize_world_border", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 43, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 44, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketKickDisconnect{}, Name: "kick_disconnect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 32, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketLogin{}, Name: "login", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 49, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketLowDiskSpaceWarning{}, Name: "low_disk_space_warning", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 50, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMap{}, Name: "map", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 51, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMapChunk{}, Name: "map_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 45, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMoveMinecart{}, Name: "move_minecart", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 55, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketMultiBlockChange{}, Name: "multi_block_change", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 84, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketNbtQueryResponse{}, Name: "nbt_query_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 123, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenBook{}, Name: "open_book", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 58, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenHorseWindow{}, Name: "open_horse_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 41, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenSignEntity{}, Name: "open_sign_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 60, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketOpenWindow{}, Name: "open_window", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 59, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 61, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPingResponse{}, Name: "ping_response", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 62, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerChat{}, Name: "player_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 65, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerInfo{}, Name: "player_info", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 70, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerRemove{}, Name: "player_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 69, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerRotation{}, Name: "player_rotation", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 73, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPlayerlistHeader{}, Name: "playerlist_header", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 122, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketPosition{}, Name: "position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 72, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketProfilelessChat{}, Name: "profileless_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 33, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRecipeBookAdd{}, Name: "recipe_book_add", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 74, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRecipeBookRemove{}, Name: "recipe_book_remove", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 75, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRecipeBookSettings{}, Name: "recipe_book_settings", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 76, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRelEntityMove{}, Name: "rel_entity_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 53, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRemoveEntityEffect{}, Name: "remove_entity_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 78, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonRemoveResourcePack{}, Name: "remove_resource_pack", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 80, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketResetScore{}, Name: "reset_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 79, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketRespawn{}, Name: "respawn", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 82, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketScoreboardDisplayObjective{}, Name: "scoreboard_display_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 98, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketScoreboardObjective{}, Name: "scoreboard_objective", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 106, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketScoreboardScore{}, Name: "scoreboard_score", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 110, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSelectAdvancementTab{}, Name: "select_advancement_tab", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 85, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketServerData{}, Name: "server_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 86, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonServerLinks{}, Name: "server_links", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 137, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetCooldown{}, Name: "set_cooldown", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 22, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetCursorItem{}, Name: "set_cursor_item", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 96, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetPassengers{}, Name: "set_passengers", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 107, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetPlayerInventory{}, Name: "set_player_inventory", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 108, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetProjectilePower{}, Name: "set_projectile_power", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 135, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetSlot{}, Name: "set_slot", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 20, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTickingState{}, Name: "set_ticking_state", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 127, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTitleSubtitle{}, Name: "set_title_subtitle", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 112, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTitleText{}, Name: "set_title_text", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 114, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSetTitleTime{}, Name: "set_title_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 115, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketShowDialog{}, Name: "show_dialog", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 140, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSimulationDistance{}, Name: "simulation_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 111, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSoundEffect{}, Name: "sound_effect", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 117, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSpawnEntity{}, Name: "spawn_entity", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSpawnPosition{}, Name: "spawn_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 97, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStartConfiguration{}, Name: "start_configuration", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 118, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStatistics{}, Name: "statistics", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStepTick{}, Name: "step_tick", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 128, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketStopSound{}, Name: "stop_sound", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 119, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonStoreCookie{}, Name: "store_cookie", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 120, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSyncEntityPosition{}, Name: "sync_entity_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 35, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketSystemChat{}, Name: "system_chat", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 121, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 15, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTags{}, Name: "tags", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 134, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTeams{}, Name: "teams", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 109, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTestInstanceBlockStatus{}, Name: "test_instance_block_status", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 126, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTileEntityData{}, Name: "tile_entity_data", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTrackedWaypoint{}, Name: "tracked_waypoint", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 138, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketTradeList{}, Name: "trade_list", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 52, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketCommonTransfer{}, Name: "transfer", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 129, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUnloadChunk{}, Name: "unload_chunk", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 37, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateHealth{}, Name: "update_health", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 104, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateLight{}, Name: "update_light", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 48, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateTime{}, Name: "update_time", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 113, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateViewDistance{}, Name: "update_view_distance", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 95, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketUpdateViewPosition{}, Name: "update_view_position", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 94, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 57, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWindowItems{}, Name: "window_items", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 18, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderCenter{}, Name: "world_border_center", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 88, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderLerpSize{}, Name: "world_border_lerp_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 89, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderSize{}, Name: "world_border_size", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 90, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderWarningDelay{}, Name: "world_border_warning_delay", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 91, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldBorderWarningReach{}, Name: "world_border_warning_reach", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 92, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldEvent{}, Name: "world_event", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 46, ProtocolVersion: 776}, {Type: &v26_2.PlayToClientPacketWorldParticles{}, Name: "world_particles", Direction: proto_base.ToClient, State: proto_base.Play, PacketId: 47, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketAbilities{}, Name: "abilities", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 40, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketAdvancementTab{}, Name: "advancement_tab", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 50, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketArmAnimation{}, Name: "arm_animation", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 63, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketAttack{}, Name: "attack", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketBlockDig{}, Name: "block_dig", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 41, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketBlockPlace{}, Name: "block_place", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 66, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChangeGamemode{}, Name: "change_gamemode", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 5, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatCommand{}, Name: "chat_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 7, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatCommandSigned{}, Name: "chat_command_signed", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 8, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatMessage{}, Name: "chat_message", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 9, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChatSessionUpdate{}, Name: "chat_session_update", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 10, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketChunkBatchReceived{}, Name: "chunk_batch_received", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 11, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketClientCommand{}, Name: "client_command", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 12, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCloseWindow{}, Name: "close_window", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 19, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketConfigurationAcknowledged{}, Name: "configuration_acknowledged", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 16, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketContainerButtonClick{}, Name: "container_button_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 17, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCommonCookieResponse{}, Name: "cookie_response", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 21, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCraftRecipeRequest{}, Name: "craft_recipe_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 39, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCommonCustomClickAction{}, Name: "custom_click_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 68, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCustomPayload{}, Name: "custom_payload", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 22, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketDebugSubscriptionRequest{}, Name: "debug_subscription_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 23, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketDisplayedRecipe{}, Name: "displayed_recipe", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 47, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketEditBook{}, Name: "edit_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 24, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketEntityAction{}, Name: "entity_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 42, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketFlying{}, Name: "flying", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 33, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketGenerateStructure{}, Name: "generate_structure", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 27, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketHeldItemSlot{}, Name: "held_item_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 53, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketKeepAlive{}, Name: "keep_alive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 28, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketLockDifficulty{}, Name: "lock_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 29, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketLook{}, Name: "look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 32, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketMessageAcknowledgement{}, Name: "message_acknowledgement", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 6, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketNameItem{}, Name: "name_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 48, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPickItemFromBlock{}, Name: "pick_item_from_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 36, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPickItemFromEntity{}, Name: "pick_item_from_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 37, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPingRequest{}, Name: "ping_request", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 38, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPlayerInput{}, Name: "player_input", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 43, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPlayerLoaded{}, Name: "player_loaded", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 44, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPong{}, Name: "pong", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 45, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPosition{}, Name: "position", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 30, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketPositionLook{}, Name: "position_look", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 31, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketQueryBlockNbt{}, Name: "query_block_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 2, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketQueryEntityNbt{}, Name: "query_entity_nbt", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 25, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketRecipeBook{}, Name: "recipe_book", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 46, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketResourcePackReceive{}, Name: "resource_pack_receive", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 49, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSelectBundleItem{}, Name: "select_bundle_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 3, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSelectTrade{}, Name: "select_trade", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 51, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetBeaconEffect{}, Name: "set_beacon_effect", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 52, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetCreativeSlot{}, Name: "set_creative_slot", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 56, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetDifficulty{}, Name: "set_difficulty", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 4, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetGameRule{}, Name: "set_game_rule", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 57, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetSlotState{}, Name: "set_slot_state", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 20, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSetTestBlock{}, Name: "set_test_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 60, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketCommonSettings{}, Name: "settings", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 14, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSpectatorAction{}, Name: "spectator_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 62, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketSteerBoat{}, Name: "steer_boat", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 35, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTabComplete{}, Name: "tab_complete", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 15, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTeleportConfirm{}, Name: "teleport_confirm", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTeleportToEntity{}, Name: "teleport_to_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 64, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTestInstanceBlockAction{}, Name: "test_instance_block_action", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 65, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketTickEnd{}, Name: "tick_end", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 13, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateCommandBlock{}, Name: "update_command_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 54, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateCommandBlockMinecart{}, Name: "update_command_block_minecart", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 55, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateJigsawBlock{}, Name: "update_jigsaw_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 58, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateSign{}, Name: "update_sign", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 61, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUpdateStructureBlock{}, Name: "update_structure_block", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 59, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUseEntity{}, Name: "use_entity", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 26, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketUseItem{}, Name: "use_item", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 67, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketVehicleMove{}, Name: "vehicle_move", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 34, ProtocolVersion: 776}, {Type: &v26_2.PlayToServerPacketWindowClick{}, Name: "window_click", Direction: proto_base.ToServer, State: proto_base.Play, PacketId: 18, ProtocolVersion: 776}, {Type: &v26_2.StatusToClientPacketPing{}, Name: "ping", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.StatusToClientPacketServerInfo{}, Name: "server_info", Direction: proto_base.ToClient, State: proto_base.Status, PacketId: 0, ProtocolVersion: 776}, {Type: &v26_2.StatusToServerPacketPing{}, Name: "ping", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 1, ProtocolVersion: 776}, {Type: &v26_2.StatusToServerPacketPingStart{}, Name: "ping_start", Direction: proto_base.ToServer, State: proto_base.Status, PacketId: 0, ProtocolVersion: 776}} diff --git a/mc/proto_generated/v1_12_2/proto.go b/mc/proto_generated/v1_12_2/proto.go new file mode 100644 index 0000000..f79c60d --- /dev/null +++ b/mc/proto_generated/v1_12_2/proto.go @@ -0,0 +1,10503 @@ +// Code generated by strom. DO NOT EDIT. +// source: minecraft-data/pc/1.12.2/protocol.json (sha256:21c57208db654a5e14a34cb696570080df179c5c642e53b16120399eee9232be) +// version: (devel) (go1.26.5-X:nodwarf5) +package v1_12_2 + +import ( + "encoding/binary" + "io" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/nbt" + "github.com/google/uuid" +) + +type ByteArray struct { + Val []byte +} + +func (ret *ByteArray) Decode(r io.ReadSeeker) (err error) { + var lByteArray int32 + lByteArray, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Val, err = io.ReadAll(io.LimitReader(r, int64(lByteArray))) + if err != nil { + return + } + return +} +func (ret *ByteArray) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, int32(len(ret.Val))) + if err != nil { + return + } + _, err = w.Write(ret.Val) + if err != nil { + return + } + return +} + +type EntityMetadata struct { + Val map[byte]struct { + Anon struct { + Key uint8 + Type int8 + } + Value EntityMetadataItem + } +} + +func (ret *EntityMetadata) Decode(r io.ReadSeeker) (err error) { + ret.Val = make(map[uint8]struct { + Anon struct { + Key uint8 + Type int8 + } + Value EntityMetadataItem + }) + var id uint8 + for { + err = binary.Read(r, binary.BigEndian, &id) + if err != nil { + return + } + if id == 255 { + break + } + _, err = r.Seek(-1, io.SeekCurrent) + if err != nil { + return + } + var entry struct { + Anon struct { + Key uint8 + Type int8 + } + Value EntityMetadataItem + } + err = binary.Read(r, binary.BigEndian, &entry.Anon.Key) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &entry.Anon.Type) + if err != nil { + return + } + err = entry.Value.Decode(r) + if err != nil { + return + } + ret.Val[id] = entry + } + return +} +func (ret *EntityMetadata) Encode(w io.Writer) (err error) { + for _, v := range ret.Val { + err = binary.Write(w, binary.BigEndian, v.Anon.Key) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, v.Anon.Type) + if err != nil { + return + } + EntityMetadataValueEncTmp := v.Value + err = EntityMetadataValueEncTmp.Encode(w) + if err != nil { + return + } + } + err = binary.Write(w, binary.BigEndian, uint8(255)) + if err != nil { + return + } + return +} + +type EntityMetadataItem struct { + Val any +} + +func (ret *EntityMetadataItem) Decode(r io.ReadSeeker) (err error) { + err = proto_base.ToDoError + return +} +func (ret *EntityMetadataItem) Encode(w io.Writer) (err error) { + err = proto_base.ToDoError + return +} + +type Position struct { + X int32 + Y int16 + Z int32 +} + +func (ret *Position) Decode(r io.ReadSeeker) (err error) { + var PositionPacked uint64 + err = binary.Read(r, binary.BigEndian, &PositionPacked) + if err != nil { + return + } + ret.X = int32(PositionPacked << 0 >> 38) + if ret.X >= 1<<25 { + ret.X -= 1 << 26 + } + ret.Y = int16(PositionPacked << 26 >> 52) + if ret.Y >= 1<<11 { + ret.Y -= 1 << 12 + } + ret.Z = int32(PositionPacked << 38 >> 38) + if ret.Z >= 1<<25 { + ret.Z -= 1 << 26 + } + return +} +func (ret *Position) Encode(w io.Writer) (err error) { + var PositionPacked uint64 + PositionPacked |= (uint64(ret.Z) & 0x3FFFFFF) << 0x0 + PositionPacked |= (uint64(ret.Y) & 0xFFF) << 0x1A + PositionPacked |= (uint64(ret.X) & 0x3FFFFFF) << 0x26 + err = binary.Write(w, binary.BigEndian, PositionPacked) + if err != nil { + return + } + return +} + +type Slot struct { + BlockId int16 + Anon any +} + +func (ret *Slot) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.BlockId) + if err != nil { + return + } + switch ret.BlockId { + case -1: + var SlotAnon1Tmp struct { + } + ret.Anon = SlotAnon1Tmp + default: + var SlotAnonTmp struct { + ItemCount int8 + ItemDamage int16 + NbtData nbt.Tag + } + err = binary.Read(r, binary.BigEndian, &SlotAnonTmp.ItemCount) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &SlotAnonTmp.ItemDamage) + if err != nil { + return + } + err = SlotAnonTmp.NbtData.Decode(r) + if err != nil { + return + } + ret.Anon = SlotAnonTmp + } + return +} +func (ret *Slot) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.BlockId) + if err != nil { + return + } + switch ret.BlockId { + case -1: + _, ok := ret.Anon.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + default: + _, ok := ret.Anon.(struct { + ItemCount int8 + ItemDamage int16 + NbtData nbt.Tag + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, ret.Anon.(struct { + ItemCount int8 + ItemDamage int16 + NbtData nbt.Tag + }).ItemCount) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Anon.(struct { + ItemCount int8 + ItemDamage int16 + NbtData nbt.Tag + }).ItemDamage) + if err != nil { + return + } + SlotAnonNbtDataEncTmp := ret.Anon.(struct { + ItemCount int8 + ItemDamage int16 + NbtData nbt.Tag + }).NbtData + err = SlotAnonNbtDataEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type Vec3i16 struct { + X int16 + Y int16 + Z int16 +} + +func (ret *Vec3i16) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + return +} +func (ret *Vec3i16) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + return +} + +type HandshakingToClientPacket struct { + Name string + Params any +} + +var HandshakingToClientPacketNameMap = map[int32]string{} + +func (ret *HandshakingToClientPacket) Decode(r io.ReadSeeker) (err error) { + var HandshakingToClientPacketNameKey int32 + HandshakingToClientPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(HandshakingToClientPacketNameMap, HandshakingToClientPacketNameKey) + if err != nil { + return + } + return +} + +var HandshakingToClientPacketNameReverseMap = map[string]int32{} + +func (ret *HandshakingToClientPacket) Encode(w io.Writer) (err error) { + var vHandshakingToClientPacketName int32 + vHandshakingToClientPacketName, err = proto_base.ErroringIndex(HandshakingToClientPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vHandshakingToClientPacketName) + if err != nil { + return + } + return +} + +type HandshakingToServerPacket struct { + Name string + Params any +} + +var HandshakingToServerPacketNameMap = map[int32]string{0x00: "set_protocol", 0xfe: "legacy_server_list_ping"} + +func (ret *HandshakingToServerPacket) Decode(r io.ReadSeeker) (err error) { + var HandshakingToServerPacketNameKey int32 + HandshakingToServerPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(HandshakingToServerPacketNameMap, HandshakingToServerPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "legacy_server_list_ping": + var HandshakingToServerPacketParamsLegacyServerListPingTmp HandshakingToServerPacketLegacyServerListPing + err = HandshakingToServerPacketParamsLegacyServerListPingTmp.Decode(r) + if err != nil { + return + } + ret.Params = HandshakingToServerPacketParamsLegacyServerListPingTmp + case "set_protocol": + var HandshakingToServerPacketParamsSetProtocolTmp HandshakingToServerPacketSetProtocol + err = HandshakingToServerPacketParamsSetProtocolTmp.Decode(r) + if err != nil { + return + } + ret.Params = HandshakingToServerPacketParamsSetProtocolTmp + } + return +} + +var HandshakingToServerPacketNameReverseMap = map[string]int32{"set_protocol": 0x00, "legacy_server_list_ping": 0xfe} + +func (ret *HandshakingToServerPacket) Encode(w io.Writer) (err error) { + var vHandshakingToServerPacketName int32 + vHandshakingToServerPacketName, err = proto_base.ErroringIndex(HandshakingToServerPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vHandshakingToServerPacketName) + if err != nil { + return + } + switch ret.Name { + case "legacy_server_list_ping": + HandshakingToServerPacketParams, ok := ret.Params.(HandshakingToServerPacketLegacyServerListPing) + if !ok { + err = proto_base.BadTypeError + return + } + HandshakingToServerPacketParamsEncTmp := HandshakingToServerPacketParams + err = HandshakingToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "set_protocol": + HandshakingToServerPacketParams, ok := ret.Params.(HandshakingToServerPacketSetProtocol) + if !ok { + err = proto_base.BadTypeError + return + } + HandshakingToServerPacketParamsEncTmp := HandshakingToServerPacketParams + err = HandshakingToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type HandshakingToServerPacketLegacyServerListPing struct { + Payload uint8 +} + +func (ret *HandshakingToServerPacketLegacyServerListPing) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Payload) + if err != nil { + return + } + return +} +func (ret *HandshakingToServerPacketLegacyServerListPing) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Payload) + if err != nil { + return + } + return +} + +type HandshakingToServerPacketSetProtocol struct { + ProtocolVersion int32 + ServerHost string + ServerPort uint16 + NextState int32 +} + +func (ret *HandshakingToServerPacketSetProtocol) Decode(r io.ReadSeeker) (err error) { + ret.ProtocolVersion, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.ServerHost, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ServerPort) + if err != nil { + return + } + ret.NextState, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *HandshakingToServerPacketSetProtocol) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.ProtocolVersion) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.ServerHost) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ServerPort) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.NextState) + if err != nil { + return + } + return +} + +type LoginToClientPacket struct { + Name string + Params any +} + +var LoginToClientPacketNameMap = map[int32]string{0x00: "disconnect", 0x01: "encryption_begin", 0x02: "success", 0x03: "compress"} + +func (ret *LoginToClientPacket) Decode(r io.ReadSeeker) (err error) { + var LoginToClientPacketNameKey int32 + LoginToClientPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(LoginToClientPacketNameMap, LoginToClientPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "compress": + var LoginToClientPacketParamsCompressTmp LoginToClientPacketCompress + err = LoginToClientPacketParamsCompressTmp.Decode(r) + if err != nil { + return + } + ret.Params = LoginToClientPacketParamsCompressTmp + case "disconnect": + var LoginToClientPacketParamsDisconnectTmp LoginToClientPacketDisconnect + err = LoginToClientPacketParamsDisconnectTmp.Decode(r) + if err != nil { + return + } + ret.Params = LoginToClientPacketParamsDisconnectTmp + case "encryption_begin": + var LoginToClientPacketParamsEncryptionBeginTmp LoginToClientPacketEncryptionBegin + err = LoginToClientPacketParamsEncryptionBeginTmp.Decode(r) + if err != nil { + return + } + ret.Params = LoginToClientPacketParamsEncryptionBeginTmp + case "success": + var LoginToClientPacketParamsSuccessTmp LoginToClientPacketSuccess + err = LoginToClientPacketParamsSuccessTmp.Decode(r) + if err != nil { + return + } + ret.Params = LoginToClientPacketParamsSuccessTmp + } + return +} + +var LoginToClientPacketNameReverseMap = map[string]int32{"disconnect": 0x00, "encryption_begin": 0x01, "success": 0x02, "compress": 0x03} + +func (ret *LoginToClientPacket) Encode(w io.Writer) (err error) { + var vLoginToClientPacketName int32 + vLoginToClientPacketName, err = proto_base.ErroringIndex(LoginToClientPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vLoginToClientPacketName) + if err != nil { + return + } + switch ret.Name { + case "compress": + LoginToClientPacketParams, ok := ret.Params.(LoginToClientPacketCompress) + if !ok { + err = proto_base.BadTypeError + return + } + LoginToClientPacketParamsEncTmp := LoginToClientPacketParams + err = LoginToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "disconnect": + LoginToClientPacketParams, ok := ret.Params.(LoginToClientPacketDisconnect) + if !ok { + err = proto_base.BadTypeError + return + } + LoginToClientPacketParamsEncTmp := LoginToClientPacketParams + err = LoginToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "encryption_begin": + LoginToClientPacketParams, ok := ret.Params.(LoginToClientPacketEncryptionBegin) + if !ok { + err = proto_base.BadTypeError + return + } + LoginToClientPacketParamsEncTmp := LoginToClientPacketParams + err = LoginToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "success": + LoginToClientPacketParams, ok := ret.Params.(LoginToClientPacketSuccess) + if !ok { + err = proto_base.BadTypeError + return + } + LoginToClientPacketParamsEncTmp := LoginToClientPacketParams + err = LoginToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type LoginToClientPacketCompress struct { + Threshold int32 +} + +func (ret *LoginToClientPacketCompress) Decode(r io.ReadSeeker) (err error) { + ret.Threshold, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *LoginToClientPacketCompress) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Threshold) + if err != nil { + return + } + return +} + +type LoginToClientPacketDisconnect struct { + Reason string +} + +func (ret *LoginToClientPacketDisconnect) Decode(r io.ReadSeeker) (err error) { + ret.Reason, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *LoginToClientPacketDisconnect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Reason) + if err != nil { + return + } + return +} + +type LoginToClientPacketEncryptionBegin struct { + ServerId string + PublicKey []byte + VerifyToken []byte +} + +func (ret *LoginToClientPacketEncryptionBegin) Decode(r io.ReadSeeker) (err error) { + ret.ServerId, err = proto_base.DecodeString(r) + if err != nil { + return + } + var lLoginToClientPacketEncryptionBeginPublicKey int32 + lLoginToClientPacketEncryptionBeginPublicKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.PublicKey, err = io.ReadAll(io.LimitReader(r, int64(lLoginToClientPacketEncryptionBeginPublicKey))) + if err != nil { + return + } + var lLoginToClientPacketEncryptionBeginVerifyToken int32 + lLoginToClientPacketEncryptionBeginVerifyToken, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.VerifyToken, err = io.ReadAll(io.LimitReader(r, int64(lLoginToClientPacketEncryptionBeginVerifyToken))) + if err != nil { + return + } + return +} +func (ret *LoginToClientPacketEncryptionBegin) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.ServerId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.PublicKey))) + if err != nil { + return + } + _, err = w.Write(ret.PublicKey) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.VerifyToken))) + if err != nil { + return + } + _, err = w.Write(ret.VerifyToken) + if err != nil { + return + } + return +} + +type LoginToClientPacketSuccess struct { + Uuid string + Username string +} + +func (ret *LoginToClientPacketSuccess) Decode(r io.ReadSeeker) (err error) { + ret.Uuid, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Username, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *LoginToClientPacketSuccess) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Uuid) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Username) + if err != nil { + return + } + return +} + +type LoginToServerPacket struct { + Name string + Params any +} + +var LoginToServerPacketNameMap = map[int32]string{0x00: "login_start", 0x01: "encryption_begin"} + +func (ret *LoginToServerPacket) Decode(r io.ReadSeeker) (err error) { + var LoginToServerPacketNameKey int32 + LoginToServerPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(LoginToServerPacketNameMap, LoginToServerPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "encryption_begin": + var LoginToServerPacketParamsEncryptionBeginTmp LoginToServerPacketEncryptionBegin + err = LoginToServerPacketParamsEncryptionBeginTmp.Decode(r) + if err != nil { + return + } + ret.Params = LoginToServerPacketParamsEncryptionBeginTmp + case "login_start": + var LoginToServerPacketParamsLoginStartTmp LoginToServerPacketLoginStart + err = LoginToServerPacketParamsLoginStartTmp.Decode(r) + if err != nil { + return + } + ret.Params = LoginToServerPacketParamsLoginStartTmp + } + return +} + +var LoginToServerPacketNameReverseMap = map[string]int32{"login_start": 0x00, "encryption_begin": 0x01} + +func (ret *LoginToServerPacket) Encode(w io.Writer) (err error) { + var vLoginToServerPacketName int32 + vLoginToServerPacketName, err = proto_base.ErroringIndex(LoginToServerPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vLoginToServerPacketName) + if err != nil { + return + } + switch ret.Name { + case "encryption_begin": + LoginToServerPacketParams, ok := ret.Params.(LoginToServerPacketEncryptionBegin) + if !ok { + err = proto_base.BadTypeError + return + } + LoginToServerPacketParamsEncTmp := LoginToServerPacketParams + err = LoginToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "login_start": + LoginToServerPacketParams, ok := ret.Params.(LoginToServerPacketLoginStart) + if !ok { + err = proto_base.BadTypeError + return + } + LoginToServerPacketParamsEncTmp := LoginToServerPacketParams + err = LoginToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type LoginToServerPacketEncryptionBegin struct { + SharedSecret []byte + VerifyToken []byte +} + +func (ret *LoginToServerPacketEncryptionBegin) Decode(r io.ReadSeeker) (err error) { + var lLoginToServerPacketEncryptionBeginSharedSecret int32 + lLoginToServerPacketEncryptionBeginSharedSecret, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.SharedSecret, err = io.ReadAll(io.LimitReader(r, int64(lLoginToServerPacketEncryptionBeginSharedSecret))) + if err != nil { + return + } + var lLoginToServerPacketEncryptionBeginVerifyToken int32 + lLoginToServerPacketEncryptionBeginVerifyToken, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.VerifyToken, err = io.ReadAll(io.LimitReader(r, int64(lLoginToServerPacketEncryptionBeginVerifyToken))) + if err != nil { + return + } + return +} +func (ret *LoginToServerPacketEncryptionBegin) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, int32(len(ret.SharedSecret))) + if err != nil { + return + } + _, err = w.Write(ret.SharedSecret) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.VerifyToken))) + if err != nil { + return + } + _, err = w.Write(ret.VerifyToken) + if err != nil { + return + } + return +} + +type LoginToServerPacketLoginStart struct { + Username string +} + +func (ret *LoginToServerPacketLoginStart) Decode(r io.ReadSeeker) (err error) { + ret.Username, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *LoginToServerPacketLoginStart) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Username) + if err != nil { + return + } + return +} + +type PlayToClientPacket struct { + Name string + Params any +} + +var PlayToClientPacketNameMap = map[int32]string{0x00: "spawn_entity", 0x01: "spawn_entity_experience_orb", 0x02: "spawn_entity_weather", 0x03: "spawn_entity_living", 0x04: "spawn_entity_painting", 0x05: "named_entity_spawn", 0x06: "animation", 0x07: "statistics", 0x08: "block_break_animation", 0x09: "tile_entity_data", 0x0a: "block_action", 0x0b: "block_change", 0x0c: "boss_bar", 0x0d: "difficulty", 0x0e: "tab_complete", 0x0f: "chat", 0x10: "multi_block_change", 0x11: "transaction", 0x12: "close_window", 0x13: "open_window", 0x14: "window_items", 0x15: "craft_progress_bar", 0x16: "set_slot", 0x17: "set_cooldown", 0x18: "custom_payload", 0x19: "named_sound_effect", 0x1a: "kick_disconnect", 0x1b: "entity_status", 0x1c: "explosion", 0x1d: "unload_chunk", 0x1e: "game_state_change", 0x1f: "keep_alive", 0x20: "map_chunk", 0x21: "world_event", 0x22: "world_particles", 0x23: "login", 0x24: "map", 0x25: "entity", 0x26: "rel_entity_move", 0x27: "entity_move_look", 0x28: "entity_look", 0x29: "vehicle_move", 0x2a: "open_sign_entity", 0x2b: "craft_recipe_response", 0x2c: "abilities", 0x2d: "combat_event", 0x2e: "player_info", 0x2f: "position", 0x30: "bed", 0x31: "unlock_recipes", 0x32: "entity_destroy", 0x33: "remove_entity_effect", 0x34: "resource_pack_send", 0x35: "respawn", 0x36: "entity_head_rotation", 0x37: "select_advancement_tab", 0x38: "world_border", 0x39: "camera", 0x3a: "held_item_slot", 0x3b: "scoreboard_display_objective", 0x3c: "entity_metadata", 0x3d: "attach_entity", 0x3e: "entity_velocity", 0x3f: "entity_equipment", 0x40: "experience", 0x41: "update_health", 0x42: "scoreboard_objective", 0x43: "set_passengers", 0x44: "teams", 0x45: "scoreboard_score", 0x46: "spawn_position", 0x47: "update_time", 0x48: "title", 0x49: "sound_effect", 0x4a: "playerlist_header", 0x4b: "collect", 0x4c: "entity_teleport", 0x4d: "advancements", 0x4e: "entity_update_attributes", 0x4f: "entity_effect"} + +func (ret *PlayToClientPacket) Decode(r io.ReadSeeker) (err error) { + var PlayToClientPacketNameKey int32 + PlayToClientPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(PlayToClientPacketNameMap, PlayToClientPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "abilities": + var PlayToClientPacketParamsAbilitiesTmp PlayToClientPacketAbilities + err = PlayToClientPacketParamsAbilitiesTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsAbilitiesTmp + case "advancements": + var PlayToClientPacketParamsAdvancementsTmp PlayToClientPacketAdvancements + err = PlayToClientPacketParamsAdvancementsTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsAdvancementsTmp + case "animation": + var PlayToClientPacketParamsAnimationTmp PlayToClientPacketAnimation + err = PlayToClientPacketParamsAnimationTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsAnimationTmp + case "attach_entity": + var PlayToClientPacketParamsAttachEntityTmp PlayToClientPacketAttachEntity + err = PlayToClientPacketParamsAttachEntityTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsAttachEntityTmp + case "bed": + var PlayToClientPacketParamsBedTmp PlayToClientPacketBed + err = PlayToClientPacketParamsBedTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsBedTmp + case "block_action": + var PlayToClientPacketParamsBlockActionTmp PlayToClientPacketBlockAction + err = PlayToClientPacketParamsBlockActionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsBlockActionTmp + case "block_break_animation": + var PlayToClientPacketParamsBlockBreakAnimationTmp PlayToClientPacketBlockBreakAnimation + err = PlayToClientPacketParamsBlockBreakAnimationTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsBlockBreakAnimationTmp + case "block_change": + var PlayToClientPacketParamsBlockChangeTmp PlayToClientPacketBlockChange + err = PlayToClientPacketParamsBlockChangeTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsBlockChangeTmp + case "boss_bar": + var PlayToClientPacketParamsBossBarTmp PlayToClientPacketBossBar + err = PlayToClientPacketParamsBossBarTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsBossBarTmp + case "camera": + var PlayToClientPacketParamsCameraTmp PlayToClientPacketCamera + err = PlayToClientPacketParamsCameraTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCameraTmp + case "chat": + var PlayToClientPacketParamsChatTmp PlayToClientPacketChat + err = PlayToClientPacketParamsChatTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsChatTmp + case "close_window": + var PlayToClientPacketParamsCloseWindowTmp PlayToClientPacketCloseWindow + err = PlayToClientPacketParamsCloseWindowTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCloseWindowTmp + case "collect": + var PlayToClientPacketParamsCollectTmp PlayToClientPacketCollect + err = PlayToClientPacketParamsCollectTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCollectTmp + case "combat_event": + var PlayToClientPacketParamsCombatEventTmp PlayToClientPacketCombatEvent + err = PlayToClientPacketParamsCombatEventTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCombatEventTmp + case "craft_progress_bar": + var PlayToClientPacketParamsCraftProgressBarTmp PlayToClientPacketCraftProgressBar + err = PlayToClientPacketParamsCraftProgressBarTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCraftProgressBarTmp + case "craft_recipe_response": + var PlayToClientPacketParamsCraftRecipeResponseTmp PlayToClientPacketCraftRecipeResponse + err = PlayToClientPacketParamsCraftRecipeResponseTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCraftRecipeResponseTmp + case "custom_payload": + var PlayToClientPacketParamsCustomPayloadTmp PlayToClientPacketCustomPayload + err = PlayToClientPacketParamsCustomPayloadTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsCustomPayloadTmp + case "difficulty": + var PlayToClientPacketParamsDifficultyTmp PlayToClientPacketDifficulty + err = PlayToClientPacketParamsDifficultyTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsDifficultyTmp + case "entity": + var PlayToClientPacketParamsEntityTmp PlayToClientPacketEntity + err = PlayToClientPacketParamsEntityTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityTmp + case "entity_destroy": + var PlayToClientPacketParamsEntityDestroyTmp PlayToClientPacketEntityDestroy + err = PlayToClientPacketParamsEntityDestroyTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityDestroyTmp + case "entity_effect": + var PlayToClientPacketParamsEntityEffectTmp PlayToClientPacketEntityEffect + err = PlayToClientPacketParamsEntityEffectTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityEffectTmp + case "entity_equipment": + var PlayToClientPacketParamsEntityEquipmentTmp PlayToClientPacketEntityEquipment + err = PlayToClientPacketParamsEntityEquipmentTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityEquipmentTmp + case "entity_head_rotation": + var PlayToClientPacketParamsEntityHeadRotationTmp PlayToClientPacketEntityHeadRotation + err = PlayToClientPacketParamsEntityHeadRotationTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityHeadRotationTmp + case "entity_look": + var PlayToClientPacketParamsEntityLookTmp PlayToClientPacketEntityLook + err = PlayToClientPacketParamsEntityLookTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityLookTmp + case "entity_metadata": + var PlayToClientPacketParamsEntityMetadataTmp PlayToClientPacketEntityMetadata + err = PlayToClientPacketParamsEntityMetadataTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityMetadataTmp + case "entity_move_look": + var PlayToClientPacketParamsEntityMoveLookTmp PlayToClientPacketEntityMoveLook + err = PlayToClientPacketParamsEntityMoveLookTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityMoveLookTmp + case "entity_status": + var PlayToClientPacketParamsEntityStatusTmp PlayToClientPacketEntityStatus + err = PlayToClientPacketParamsEntityStatusTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityStatusTmp + case "entity_teleport": + var PlayToClientPacketParamsEntityTeleportTmp PlayToClientPacketEntityTeleport + err = PlayToClientPacketParamsEntityTeleportTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityTeleportTmp + case "entity_update_attributes": + var PlayToClientPacketParamsEntityUpdateAttributesTmp PlayToClientPacketEntityUpdateAttributes + err = PlayToClientPacketParamsEntityUpdateAttributesTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityUpdateAttributesTmp + case "entity_velocity": + var PlayToClientPacketParamsEntityVelocityTmp PlayToClientPacketEntityVelocity + err = PlayToClientPacketParamsEntityVelocityTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsEntityVelocityTmp + case "experience": + var PlayToClientPacketParamsExperienceTmp PlayToClientPacketExperience + err = PlayToClientPacketParamsExperienceTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsExperienceTmp + case "explosion": + var PlayToClientPacketParamsExplosionTmp PlayToClientPacketExplosion + err = PlayToClientPacketParamsExplosionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsExplosionTmp + case "game_state_change": + var PlayToClientPacketParamsGameStateChangeTmp PlayToClientPacketGameStateChange + err = PlayToClientPacketParamsGameStateChangeTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsGameStateChangeTmp + case "held_item_slot": + var PlayToClientPacketParamsHeldItemSlotTmp PlayToClientPacketHeldItemSlot + err = PlayToClientPacketParamsHeldItemSlotTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsHeldItemSlotTmp + case "keep_alive": + var PlayToClientPacketParamsKeepAliveTmp PlayToClientPacketKeepAlive + err = PlayToClientPacketParamsKeepAliveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsKeepAliveTmp + case "kick_disconnect": + var PlayToClientPacketParamsKickDisconnectTmp PlayToClientPacketKickDisconnect + err = PlayToClientPacketParamsKickDisconnectTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsKickDisconnectTmp + case "login": + var PlayToClientPacketParamsLoginTmp PlayToClientPacketLogin + err = PlayToClientPacketParamsLoginTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsLoginTmp + case "map": + var PlayToClientPacketParamsMapTmp PlayToClientPacketMap + err = PlayToClientPacketParamsMapTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsMapTmp + case "map_chunk": + var PlayToClientPacketParamsMapChunkTmp PlayToClientPacketMapChunk + err = PlayToClientPacketParamsMapChunkTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsMapChunkTmp + case "multi_block_change": + var PlayToClientPacketParamsMultiBlockChangeTmp PlayToClientPacketMultiBlockChange + err = PlayToClientPacketParamsMultiBlockChangeTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsMultiBlockChangeTmp + case "named_entity_spawn": + var PlayToClientPacketParamsNamedEntitySpawnTmp PlayToClientPacketNamedEntitySpawn + err = PlayToClientPacketParamsNamedEntitySpawnTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsNamedEntitySpawnTmp + case "named_sound_effect": + var PlayToClientPacketParamsNamedSoundEffectTmp PlayToClientPacketNamedSoundEffect + err = PlayToClientPacketParamsNamedSoundEffectTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsNamedSoundEffectTmp + case "open_sign_entity": + var PlayToClientPacketParamsOpenSignEntityTmp PlayToClientPacketOpenSignEntity + err = PlayToClientPacketParamsOpenSignEntityTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsOpenSignEntityTmp + case "open_window": + var PlayToClientPacketParamsOpenWindowTmp PlayToClientPacketOpenWindow + err = PlayToClientPacketParamsOpenWindowTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsOpenWindowTmp + case "player_info": + var PlayToClientPacketParamsPlayerInfoTmp PlayToClientPacketPlayerInfo + err = PlayToClientPacketParamsPlayerInfoTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsPlayerInfoTmp + case "playerlist_header": + var PlayToClientPacketParamsPlayerlistHeaderTmp PlayToClientPacketPlayerlistHeader + err = PlayToClientPacketParamsPlayerlistHeaderTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsPlayerlistHeaderTmp + case "position": + var PlayToClientPacketParamsPositionTmp PlayToClientPacketPosition + err = PlayToClientPacketParamsPositionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsPositionTmp + case "rel_entity_move": + var PlayToClientPacketParamsRelEntityMoveTmp PlayToClientPacketRelEntityMove + err = PlayToClientPacketParamsRelEntityMoveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsRelEntityMoveTmp + case "remove_entity_effect": + var PlayToClientPacketParamsRemoveEntityEffectTmp PlayToClientPacketRemoveEntityEffect + err = PlayToClientPacketParamsRemoveEntityEffectTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsRemoveEntityEffectTmp + case "resource_pack_send": + var PlayToClientPacketParamsResourcePackSendTmp PlayToClientPacketResourcePackSend + err = PlayToClientPacketParamsResourcePackSendTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsResourcePackSendTmp + case "respawn": + var PlayToClientPacketParamsRespawnTmp PlayToClientPacketRespawn + err = PlayToClientPacketParamsRespawnTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsRespawnTmp + case "scoreboard_display_objective": + var PlayToClientPacketParamsScoreboardDisplayObjectiveTmp PlayToClientPacketScoreboardDisplayObjective + err = PlayToClientPacketParamsScoreboardDisplayObjectiveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsScoreboardDisplayObjectiveTmp + case "scoreboard_objective": + var PlayToClientPacketParamsScoreboardObjectiveTmp PlayToClientPacketScoreboardObjective + err = PlayToClientPacketParamsScoreboardObjectiveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsScoreboardObjectiveTmp + case "scoreboard_score": + var PlayToClientPacketParamsScoreboardScoreTmp PlayToClientPacketScoreboardScore + err = PlayToClientPacketParamsScoreboardScoreTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsScoreboardScoreTmp + case "select_advancement_tab": + var PlayToClientPacketParamsSelectAdvancementTabTmp PlayToClientPacketSelectAdvancementTab + err = PlayToClientPacketParamsSelectAdvancementTabTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSelectAdvancementTabTmp + case "set_cooldown": + var PlayToClientPacketParamsSetCooldownTmp PlayToClientPacketSetCooldown + err = PlayToClientPacketParamsSetCooldownTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSetCooldownTmp + case "set_passengers": + var PlayToClientPacketParamsSetPassengersTmp PlayToClientPacketSetPassengers + err = PlayToClientPacketParamsSetPassengersTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSetPassengersTmp + case "set_slot": + var PlayToClientPacketParamsSetSlotTmp PlayToClientPacketSetSlot + err = PlayToClientPacketParamsSetSlotTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSetSlotTmp + case "sound_effect": + var PlayToClientPacketParamsSoundEffectTmp PlayToClientPacketSoundEffect + err = PlayToClientPacketParamsSoundEffectTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSoundEffectTmp + case "spawn_entity": + var PlayToClientPacketParamsSpawnEntityTmp PlayToClientPacketSpawnEntity + err = PlayToClientPacketParamsSpawnEntityTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSpawnEntityTmp + case "spawn_entity_experience_orb": + var PlayToClientPacketParamsSpawnEntityExperienceOrbTmp PlayToClientPacketSpawnEntityExperienceOrb + err = PlayToClientPacketParamsSpawnEntityExperienceOrbTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSpawnEntityExperienceOrbTmp + case "spawn_entity_living": + var PlayToClientPacketParamsSpawnEntityLivingTmp PlayToClientPacketSpawnEntityLiving + err = PlayToClientPacketParamsSpawnEntityLivingTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSpawnEntityLivingTmp + case "spawn_entity_painting": + var PlayToClientPacketParamsSpawnEntityPaintingTmp PlayToClientPacketSpawnEntityPainting + err = PlayToClientPacketParamsSpawnEntityPaintingTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSpawnEntityPaintingTmp + case "spawn_entity_weather": + var PlayToClientPacketParamsSpawnEntityWeatherTmp PlayToClientPacketSpawnEntityWeather + err = PlayToClientPacketParamsSpawnEntityWeatherTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSpawnEntityWeatherTmp + case "spawn_position": + var PlayToClientPacketParamsSpawnPositionTmp PlayToClientPacketSpawnPosition + err = PlayToClientPacketParamsSpawnPositionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsSpawnPositionTmp + case "statistics": + var PlayToClientPacketParamsStatisticsTmp PlayToClientPacketStatistics + err = PlayToClientPacketParamsStatisticsTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsStatisticsTmp + case "tab_complete": + var PlayToClientPacketParamsTabCompleteTmp PlayToClientPacketTabComplete + err = PlayToClientPacketParamsTabCompleteTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsTabCompleteTmp + case "teams": + var PlayToClientPacketParamsTeamsTmp PlayToClientPacketTeams + err = PlayToClientPacketParamsTeamsTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsTeamsTmp + case "tile_entity_data": + var PlayToClientPacketParamsTileEntityDataTmp PlayToClientPacketTileEntityData + err = PlayToClientPacketParamsTileEntityDataTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsTileEntityDataTmp + case "title": + var PlayToClientPacketParamsTitleTmp PlayToClientPacketTitle + err = PlayToClientPacketParamsTitleTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsTitleTmp + case "transaction": + var PlayToClientPacketParamsTransactionTmp PlayToClientPacketTransaction + err = PlayToClientPacketParamsTransactionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsTransactionTmp + case "unload_chunk": + var PlayToClientPacketParamsUnloadChunkTmp PlayToClientPacketUnloadChunk + err = PlayToClientPacketParamsUnloadChunkTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsUnloadChunkTmp + case "unlock_recipes": + var PlayToClientPacketParamsUnlockRecipesTmp PlayToClientPacketUnlockRecipes + err = PlayToClientPacketParamsUnlockRecipesTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsUnlockRecipesTmp + case "update_health": + var PlayToClientPacketParamsUpdateHealthTmp PlayToClientPacketUpdateHealth + err = PlayToClientPacketParamsUpdateHealthTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsUpdateHealthTmp + case "update_time": + var PlayToClientPacketParamsUpdateTimeTmp PlayToClientPacketUpdateTime + err = PlayToClientPacketParamsUpdateTimeTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsUpdateTimeTmp + case "vehicle_move": + var PlayToClientPacketParamsVehicleMoveTmp PlayToClientPacketVehicleMove + err = PlayToClientPacketParamsVehicleMoveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsVehicleMoveTmp + case "window_items": + var PlayToClientPacketParamsWindowItemsTmp PlayToClientPacketWindowItems + err = PlayToClientPacketParamsWindowItemsTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsWindowItemsTmp + case "world_border": + var PlayToClientPacketParamsWorldBorderTmp PlayToClientPacketWorldBorder + err = PlayToClientPacketParamsWorldBorderTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsWorldBorderTmp + case "world_event": + var PlayToClientPacketParamsWorldEventTmp PlayToClientPacketWorldEvent + err = PlayToClientPacketParamsWorldEventTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsWorldEventTmp + case "world_particles": + var PlayToClientPacketParamsWorldParticlesTmp PlayToClientPacketWorldParticles + err = PlayToClientPacketParamsWorldParticlesTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToClientPacketParamsWorldParticlesTmp + } + return +} + +var PlayToClientPacketNameReverseMap = map[string]int32{"spawn_entity": 0x00, "spawn_entity_experience_orb": 0x01, "spawn_entity_weather": 0x02, "spawn_entity_living": 0x03, "spawn_entity_painting": 0x04, "named_entity_spawn": 0x05, "animation": 0x06, "statistics": 0x07, "block_break_animation": 0x08, "tile_entity_data": 0x09, "block_action": 0x0a, "block_change": 0x0b, "boss_bar": 0x0c, "difficulty": 0x0d, "tab_complete": 0x0e, "chat": 0x0f, "multi_block_change": 0x10, "transaction": 0x11, "close_window": 0x12, "open_window": 0x13, "window_items": 0x14, "craft_progress_bar": 0x15, "set_slot": 0x16, "set_cooldown": 0x17, "custom_payload": 0x18, "named_sound_effect": 0x19, "kick_disconnect": 0x1a, "entity_status": 0x1b, "explosion": 0x1c, "unload_chunk": 0x1d, "game_state_change": 0x1e, "keep_alive": 0x1f, "map_chunk": 0x20, "world_event": 0x21, "world_particles": 0x22, "login": 0x23, "map": 0x24, "entity": 0x25, "rel_entity_move": 0x26, "entity_move_look": 0x27, "entity_look": 0x28, "vehicle_move": 0x29, "open_sign_entity": 0x2a, "craft_recipe_response": 0x2b, "abilities": 0x2c, "combat_event": 0x2d, "player_info": 0x2e, "position": 0x2f, "bed": 0x30, "unlock_recipes": 0x31, "entity_destroy": 0x32, "remove_entity_effect": 0x33, "resource_pack_send": 0x34, "respawn": 0x35, "entity_head_rotation": 0x36, "select_advancement_tab": 0x37, "world_border": 0x38, "camera": 0x39, "held_item_slot": 0x3a, "scoreboard_display_objective": 0x3b, "entity_metadata": 0x3c, "attach_entity": 0x3d, "entity_velocity": 0x3e, "entity_equipment": 0x3f, "experience": 0x40, "update_health": 0x41, "scoreboard_objective": 0x42, "set_passengers": 0x43, "teams": 0x44, "scoreboard_score": 0x45, "spawn_position": 0x46, "update_time": 0x47, "title": 0x48, "sound_effect": 0x49, "playerlist_header": 0x4a, "collect": 0x4b, "entity_teleport": 0x4c, "advancements": 0x4d, "entity_update_attributes": 0x4e, "entity_effect": 0x4f} + +func (ret *PlayToClientPacket) Encode(w io.Writer) (err error) { + var vPlayToClientPacketName int32 + vPlayToClientPacketName, err = proto_base.ErroringIndex(PlayToClientPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vPlayToClientPacketName) + if err != nil { + return + } + switch ret.Name { + case "abilities": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketAbilities) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "advancements": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketAdvancements) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "animation": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketAnimation) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "attach_entity": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketAttachEntity) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "bed": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketBed) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "block_action": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketBlockAction) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "block_break_animation": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketBlockBreakAnimation) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "block_change": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketBlockChange) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "boss_bar": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketBossBar) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "camera": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCamera) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "chat": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketChat) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "close_window": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCloseWindow) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "collect": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCollect) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "combat_event": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCombatEvent) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "craft_progress_bar": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCraftProgressBar) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "craft_recipe_response": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCraftRecipeResponse) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "custom_payload": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketCustomPayload) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "difficulty": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketDifficulty) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntity) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_destroy": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityDestroy) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_effect": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityEffect) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_equipment": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityEquipment) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_head_rotation": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityHeadRotation) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_look": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityLook) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_metadata": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityMetadata) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_move_look": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityMoveLook) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_status": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityStatus) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_teleport": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityTeleport) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_update_attributes": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityUpdateAttributes) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_velocity": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketEntityVelocity) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "experience": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketExperience) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "explosion": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketExplosion) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "game_state_change": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketGameStateChange) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "held_item_slot": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketHeldItemSlot) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "keep_alive": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketKeepAlive) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "kick_disconnect": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketKickDisconnect) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "login": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketLogin) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "map": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketMap) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "map_chunk": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketMapChunk) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "multi_block_change": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketMultiBlockChange) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "named_entity_spawn": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketNamedEntitySpawn) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "named_sound_effect": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketNamedSoundEffect) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "open_sign_entity": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketOpenSignEntity) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "open_window": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketOpenWindow) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "player_info": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketPlayerInfo) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "playerlist_header": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketPlayerlistHeader) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "position": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketPosition) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "rel_entity_move": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketRelEntityMove) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "remove_entity_effect": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketRemoveEntityEffect) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "resource_pack_send": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketResourcePackSend) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "respawn": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketRespawn) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "scoreboard_display_objective": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketScoreboardDisplayObjective) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "scoreboard_objective": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketScoreboardObjective) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "scoreboard_score": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketScoreboardScore) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "select_advancement_tab": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSelectAdvancementTab) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "set_cooldown": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSetCooldown) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "set_passengers": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSetPassengers) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "set_slot": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSetSlot) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "sound_effect": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSoundEffect) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spawn_entity": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSpawnEntity) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spawn_entity_experience_orb": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSpawnEntityExperienceOrb) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spawn_entity_living": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSpawnEntityLiving) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spawn_entity_painting": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSpawnEntityPainting) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spawn_entity_weather": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSpawnEntityWeather) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spawn_position": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketSpawnPosition) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "statistics": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketStatistics) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "tab_complete": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketTabComplete) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "teams": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketTeams) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "tile_entity_data": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketTileEntityData) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "title": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketTitle) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "transaction": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketTransaction) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "unload_chunk": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketUnloadChunk) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "unlock_recipes": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketUnlockRecipes) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "update_health": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketUpdateHealth) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "update_time": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketUpdateTime) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "vehicle_move": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketVehicleMove) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "window_items": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketWindowItems) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "world_border": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketWorldBorder) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "world_event": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketWorldEvent) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "world_particles": + PlayToClientPacketParams, ok := ret.Params.(PlayToClientPacketWorldParticles) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToClientPacketParamsEncTmp := PlayToClientPacketParams + err = PlayToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketAbilities struct { + Flags int8 + FlyingSpeed float32 + WalkingSpeed float32 +} + +func (ret *PlayToClientPacketAbilities) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Flags) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.FlyingSpeed) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.WalkingSpeed) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketAbilities) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Flags) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.FlyingSpeed) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.WalkingSpeed) + if err != nil { + return + } + return +} + +type PlayToClientPacketAdvancements struct { + Reset bool + AdvancementMapping []struct { + Key string + Value struct { + ParentId *string + DisplayData *struct { + Title string + Description string + Icon Slot + FrameType int32 + Flags struct { + Unused uint32 + Hidden bool + ShowToast bool + HasBackgroundTexture bool + } + BackgroundTexture any + XCord float32 + YCord float32 + } + Criteria []struct { + Key string + Value struct { + } + } + Requirements [][]string + } + } + Identifiers []string + ProgressMapping []struct { + Key string + Value []struct { + CriterionIdentifier string + CriterionProgress *int64 + } + } +} + +func (ret *PlayToClientPacketAdvancements) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Reset) + if err != nil { + return + } + var lPlayToClientPacketAdvancementsAdvancementMapping int32 + lPlayToClientPacketAdvancementsAdvancementMapping, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.AdvancementMapping = []struct { + Key string + Value struct { + ParentId *string + DisplayData *struct { + Title string + Description string + Icon Slot + FrameType int32 + Flags struct { + Unused uint32 + Hidden bool + ShowToast bool + HasBackgroundTexture bool + } + BackgroundTexture any + XCord float32 + YCord float32 + } + Criteria []struct { + Key string + Value struct { + } + } + Requirements [][]string + } + }{} + for range lPlayToClientPacketAdvancementsAdvancementMapping { + var PlayToClientPacketAdvancementsAdvancementMappingElement struct { + Key string + Value struct { + ParentId *string + DisplayData *struct { + Title string + Description string + Icon Slot + FrameType int32 + Flags struct { + Unused uint32 + Hidden bool + ShowToast bool + HasBackgroundTexture bool + } + BackgroundTexture any + XCord float32 + YCord float32 + } + Criteria []struct { + Key string + Value struct { + } + } + Requirements [][]string + } + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Key, err = proto_base.DecodeString(r) + if err != nil { + return + } + var PlayToClientPacketAdvancementsAdvancementMappingElementValueParentIdPresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsAdvancementMappingElementValueParentIdPresent) + if err != nil { + return + } + if PlayToClientPacketAdvancementsAdvancementMappingElementValueParentIdPresent { + var PlayToClientPacketAdvancementsAdvancementMappingElementValueParentIdPresentValue string + PlayToClientPacketAdvancementsAdvancementMappingElementValueParentIdPresentValue, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Value.ParentId = &PlayToClientPacketAdvancementsAdvancementMappingElementValueParentIdPresentValue + } + var PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresent) + if err != nil { + return + } + if PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresent { + var PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue struct { + Title string + Description string + Icon Slot + FrameType int32 + Flags struct { + Unused uint32 + Hidden bool + ShowToast bool + HasBackgroundTexture bool + } + BackgroundTexture any + XCord float32 + YCord float32 + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Title, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Description, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Icon.Decode(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.FrameType, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + var PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataFlagsPacked uint32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataFlagsPacked) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Flags.Unused = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataFlagsPacked << 0 >> 3 + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Flags.Hidden = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataFlagsPacked<<29>>31 == 1 + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Flags.ShowToast = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataFlagsPacked<<30>>31 == 1 + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Flags.HasBackgroundTexture = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataFlagsPacked<<31>>31 == 1 + switch PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.Flags.HasBackgroundTexture { + case true: + var PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataBackgroundTexture1Tmp string + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataBackgroundTexture1Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.BackgroundTexture = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataBackgroundTexture1Tmp + default: + var PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataBackgroundTextureTmp struct { + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.BackgroundTexture = PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataBackgroundTextureTmp + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.XCord) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue.YCord) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Value.DisplayData = &PlayToClientPacketAdvancementsAdvancementMappingElementValueDisplayDataPresentValue + } + var lPlayToClientPacketAdvancementsAdvancementMappingElementValueCriteria int32 + lPlayToClientPacketAdvancementsAdvancementMappingElementValueCriteria, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Value.Criteria = []struct { + Key string + Value struct { + } + }{} + for range lPlayToClientPacketAdvancementsAdvancementMappingElementValueCriteria { + var PlayToClientPacketAdvancementsAdvancementMappingElementValueCriteriaElement struct { + Key string + Value struct { + } + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueCriteriaElement.Key, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Value.Criteria = append(PlayToClientPacketAdvancementsAdvancementMappingElement.Value.Criteria, PlayToClientPacketAdvancementsAdvancementMappingElementValueCriteriaElement) + } + var lPlayToClientPacketAdvancementsAdvancementMappingElementValueRequirements int32 + lPlayToClientPacketAdvancementsAdvancementMappingElementValueRequirements, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Value.Requirements = [][]string{} + for range lPlayToClientPacketAdvancementsAdvancementMappingElementValueRequirements { + var PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement []string + var lPlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement int32 + lPlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement = []string{} + for range lPlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement { + var PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElementElement string + PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElementElement, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement = append(PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement, PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElementElement) + } + PlayToClientPacketAdvancementsAdvancementMappingElement.Value.Requirements = append(PlayToClientPacketAdvancementsAdvancementMappingElement.Value.Requirements, PlayToClientPacketAdvancementsAdvancementMappingElementValueRequirementsElement) + } + ret.AdvancementMapping = append(ret.AdvancementMapping, PlayToClientPacketAdvancementsAdvancementMappingElement) + } + var lPlayToClientPacketAdvancementsIdentifiers int32 + lPlayToClientPacketAdvancementsIdentifiers, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Identifiers = []string{} + for range lPlayToClientPacketAdvancementsIdentifiers { + var PlayToClientPacketAdvancementsIdentifiersElement string + PlayToClientPacketAdvancementsIdentifiersElement, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Identifiers = append(ret.Identifiers, PlayToClientPacketAdvancementsIdentifiersElement) + } + var lPlayToClientPacketAdvancementsProgressMapping int32 + lPlayToClientPacketAdvancementsProgressMapping, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.ProgressMapping = []struct { + Key string + Value []struct { + CriterionIdentifier string + CriterionProgress *int64 + } + }{} + for range lPlayToClientPacketAdvancementsProgressMapping { + var PlayToClientPacketAdvancementsProgressMappingElement struct { + Key string + Value []struct { + CriterionIdentifier string + CriterionProgress *int64 + } + } + PlayToClientPacketAdvancementsProgressMappingElement.Key, err = proto_base.DecodeString(r) + if err != nil { + return + } + var lPlayToClientPacketAdvancementsProgressMappingElementValue int32 + lPlayToClientPacketAdvancementsProgressMappingElementValue, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketAdvancementsProgressMappingElement.Value = []struct { + CriterionIdentifier string + CriterionProgress *int64 + }{} + for range lPlayToClientPacketAdvancementsProgressMappingElementValue { + var PlayToClientPacketAdvancementsProgressMappingElementValueElement struct { + CriterionIdentifier string + CriterionProgress *int64 + } + PlayToClientPacketAdvancementsProgressMappingElementValueElement.CriterionIdentifier, err = proto_base.DecodeString(r) + if err != nil { + return + } + var PlayToClientPacketAdvancementsProgressMappingElementValueElementCriterionProgressPresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsProgressMappingElementValueElementCriterionProgressPresent) + if err != nil { + return + } + if PlayToClientPacketAdvancementsProgressMappingElementValueElementCriterionProgressPresent { + var PlayToClientPacketAdvancementsProgressMappingElementValueElementCriterionProgressPresentValue int64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketAdvancementsProgressMappingElementValueElementCriterionProgressPresentValue) + if err != nil { + return + } + PlayToClientPacketAdvancementsProgressMappingElementValueElement.CriterionProgress = &PlayToClientPacketAdvancementsProgressMappingElementValueElementCriterionProgressPresentValue + } + PlayToClientPacketAdvancementsProgressMappingElement.Value = append(PlayToClientPacketAdvancementsProgressMappingElement.Value, PlayToClientPacketAdvancementsProgressMappingElementValueElement) + } + ret.ProgressMapping = append(ret.ProgressMapping, PlayToClientPacketAdvancementsProgressMappingElement) + } + return +} +func (ret *PlayToClientPacketAdvancements) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Reset) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.AdvancementMapping))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsAdvancementMapping := range len(ret.AdvancementMapping) { + err = proto_base.EncodeString(w, ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Key) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.ParentId != nil) + if err != nil { + return + } + if ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.ParentId != nil { + err = proto_base.EncodeString(w, *ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.ParentId) + if err != nil { + return + } + } + err = binary.Write(w, binary.BigEndian, ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData != nil) + if err != nil { + return + } + if ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData != nil { + err = proto_base.EncodeString(w, (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Title) + if err != nil { + return + } + err = proto_base.EncodeString(w, (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Description) + if err != nil { + return + } + PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataIconEncTmp := (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Icon + err = PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataIconEncTmp.Encode(w) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).FrameType) + if err != nil { + return + } + var PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataFlagsPacked uint32 + PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataFlagsPacked |= (proto_base.Bool2uint32((*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Flags.HasBackgroundTexture) & 0x1) << 0x0 + PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataFlagsPacked |= (proto_base.Bool2uint32((*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Flags.ShowToast) & 0x1) << 0x1 + PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataFlagsPacked |= (proto_base.Bool2uint32((*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Flags.Hidden) & 0x1) << 0x2 + PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataFlagsPacked |= (uint32((*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Flags.Unused) & 0x1FFFFFFF) << 0x3 + err = binary.Write(w, binary.BigEndian, PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataFlagsPacked) + if err != nil { + return + } + switch (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).Flags.HasBackgroundTexture { + case true: + PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataBackgroundTexture, ok := (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).BackgroundTexture.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketAdvancementsAdvancementMappingInnerValueDisplayDataBackgroundTexture) + if err != nil { + return + } + default: + _, ok := (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).BackgroundTexture.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + err = binary.Write(w, binary.BigEndian, (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).XCord) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, (*ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.DisplayData).YCord) + if err != nil { + return + } + } + err = proto_base.EncodeVarInt(w, int32(len(ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Criteria))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsAdvancementMappingInnerValueCriteria := range len(ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Criteria) { + err = proto_base.EncodeString(w, ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Criteria[iPlayToClientPacketAdvancementsAdvancementMappingInnerValueCriteria].Key) + if err != nil { + return + } + } + err = proto_base.EncodeVarInt(w, int32(len(ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Requirements))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsAdvancementMappingInnerValueRequirements := range len(ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Requirements) { + err = proto_base.EncodeVarInt(w, int32(len(ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Requirements[iPlayToClientPacketAdvancementsAdvancementMappingInnerValueRequirements]))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsAdvancementMappingInnerValueRequirementsInner := range len(ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Requirements[iPlayToClientPacketAdvancementsAdvancementMappingInnerValueRequirements]) { + err = proto_base.EncodeString(w, ret.AdvancementMapping[iPlayToClientPacketAdvancementsAdvancementMapping].Value.Requirements[iPlayToClientPacketAdvancementsAdvancementMappingInnerValueRequirements][iPlayToClientPacketAdvancementsAdvancementMappingInnerValueRequirementsInner]) + if err != nil { + return + } + } + } + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Identifiers))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsIdentifiers := range len(ret.Identifiers) { + err = proto_base.EncodeString(w, ret.Identifiers[iPlayToClientPacketAdvancementsIdentifiers]) + if err != nil { + return + } + } + err = proto_base.EncodeVarInt(w, int32(len(ret.ProgressMapping))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsProgressMapping := range len(ret.ProgressMapping) { + err = proto_base.EncodeString(w, ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Key) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Value))) + if err != nil { + return + } + for iPlayToClientPacketAdvancementsProgressMappingInnerValue := range len(ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Value) { + err = proto_base.EncodeString(w, ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Value[iPlayToClientPacketAdvancementsProgressMappingInnerValue].CriterionIdentifier) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Value[iPlayToClientPacketAdvancementsProgressMappingInnerValue].CriterionProgress != nil) + if err != nil { + return + } + if ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Value[iPlayToClientPacketAdvancementsProgressMappingInnerValue].CriterionProgress != nil { + err = binary.Write(w, binary.BigEndian, *ret.ProgressMapping[iPlayToClientPacketAdvancementsProgressMapping].Value[iPlayToClientPacketAdvancementsProgressMappingInnerValue].CriterionProgress) + if err != nil { + return + } + } + } + } + return +} + +type PlayToClientPacketAnimation struct { + EntityId int32 + Animation uint8 +} + +func (ret *PlayToClientPacketAnimation) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Animation) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketAnimation) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Animation) + if err != nil { + return + } + return +} + +type PlayToClientPacketAttachEntity struct { + EntityId int32 + VehicleId int32 +} + +func (ret *PlayToClientPacketAttachEntity) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.EntityId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.VehicleId) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketAttachEntity) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.VehicleId) + if err != nil { + return + } + return +} + +type PlayToClientPacketBed struct { + EntityId int32 + Location Position +} + +func (ret *PlayToClientPacketBed) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = ret.Location.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketBed) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + PlayToClientPacketBedLocationEncTmp := ret.Location + err = PlayToClientPacketBedLocationEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketBlockAction struct { + Location Position + Byte1 uint8 + Byte2 uint8 + BlockId int32 +} + +func (ret *PlayToClientPacketBlockAction) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Byte1) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Byte2) + if err != nil { + return + } + ret.BlockId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketBlockAction) Encode(w io.Writer) (err error) { + PlayToClientPacketBlockActionLocationEncTmp := ret.Location + err = PlayToClientPacketBlockActionLocationEncTmp.Encode(w) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Byte1) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Byte2) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.BlockId) + if err != nil { + return + } + return +} + +type PlayToClientPacketBlockBreakAnimation struct { + EntityId int32 + Location Position + DestroyStage int8 +} + +func (ret *PlayToClientPacketBlockBreakAnimation) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = ret.Location.Decode(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DestroyStage) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketBlockBreakAnimation) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + PlayToClientPacketBlockBreakAnimationLocationEncTmp := ret.Location + err = PlayToClientPacketBlockBreakAnimationLocationEncTmp.Encode(w) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DestroyStage) + if err != nil { + return + } + return +} + +type PlayToClientPacketBlockChange struct { + Location Position + Type int32 +} + +func (ret *PlayToClientPacketBlockChange) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + ret.Type, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketBlockChange) Encode(w io.Writer) (err error) { + PlayToClientPacketBlockChangeLocationEncTmp := ret.Location + err = PlayToClientPacketBlockChangeLocationEncTmp.Encode(w) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Type) + if err != nil { + return + } + return +} + +type PlayToClientPacketBossBar struct { + EntityUUID uuid.UUID + Action int32 + Title any + Health any + Color any + Dividers any + Flags any +} + +func (ret *PlayToClientPacketBossBar) Decode(r io.ReadSeeker) (err error) { + _, err = io.ReadFull(r, ret.EntityUUID[:]) + if err != nil { + return + } + ret.Action, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Action { + case 0: + var PlayToClientPacketBossBarTitle0Tmp string + PlayToClientPacketBossBarTitle0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Title = PlayToClientPacketBossBarTitle0Tmp + case 3: + var PlayToClientPacketBossBarTitle3Tmp string + PlayToClientPacketBossBarTitle3Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Title = PlayToClientPacketBossBarTitle3Tmp + default: + var PlayToClientPacketBossBarTitleTmp struct { + } + ret.Title = PlayToClientPacketBossBarTitleTmp + } + switch ret.Action { + case 0: + var PlayToClientPacketBossBarHealth0Tmp float32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketBossBarHealth0Tmp) + if err != nil { + return + } + ret.Health = PlayToClientPacketBossBarHealth0Tmp + case 2: + var PlayToClientPacketBossBarHealth2Tmp float32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketBossBarHealth2Tmp) + if err != nil { + return + } + ret.Health = PlayToClientPacketBossBarHealth2Tmp + default: + var PlayToClientPacketBossBarHealthTmp struct { + } + ret.Health = PlayToClientPacketBossBarHealthTmp + } + switch ret.Action { + case 0: + var PlayToClientPacketBossBarColor0Tmp int32 + PlayToClientPacketBossBarColor0Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Color = PlayToClientPacketBossBarColor0Tmp + case 4: + var PlayToClientPacketBossBarColor4Tmp int32 + PlayToClientPacketBossBarColor4Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Color = PlayToClientPacketBossBarColor4Tmp + default: + var PlayToClientPacketBossBarColorTmp struct { + } + ret.Color = PlayToClientPacketBossBarColorTmp + } + switch ret.Action { + case 0: + var PlayToClientPacketBossBarDividers0Tmp int32 + PlayToClientPacketBossBarDividers0Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Dividers = PlayToClientPacketBossBarDividers0Tmp + case 4: + var PlayToClientPacketBossBarDividers4Tmp int32 + PlayToClientPacketBossBarDividers4Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Dividers = PlayToClientPacketBossBarDividers4Tmp + default: + var PlayToClientPacketBossBarDividersTmp struct { + } + ret.Dividers = PlayToClientPacketBossBarDividersTmp + } + switch ret.Action { + case 0: + var PlayToClientPacketBossBarFlags0Tmp uint8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketBossBarFlags0Tmp) + if err != nil { + return + } + ret.Flags = PlayToClientPacketBossBarFlags0Tmp + case 5: + var PlayToClientPacketBossBarFlags5Tmp uint8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketBossBarFlags5Tmp) + if err != nil { + return + } + ret.Flags = PlayToClientPacketBossBarFlags5Tmp + default: + var PlayToClientPacketBossBarFlagsTmp struct { + } + ret.Flags = PlayToClientPacketBossBarFlagsTmp + } + return +} +func (ret *PlayToClientPacketBossBar) Encode(w io.Writer) (err error) { + _, err = w.Write(ret.EntityUUID[:]) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Action) + if err != nil { + return + } + switch ret.Action { + case 0: + PlayToClientPacketBossBarTitle, ok := ret.Title.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketBossBarTitle) + if err != nil { + return + } + case 3: + PlayToClientPacketBossBarTitle, ok := ret.Title.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketBossBarTitle) + if err != nil { + return + } + default: + _, ok := ret.Title.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 0: + PlayToClientPacketBossBarHealth, ok := ret.Health.(float32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketBossBarHealth) + if err != nil { + return + } + case 2: + PlayToClientPacketBossBarHealth, ok := ret.Health.(float32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketBossBarHealth) + if err != nil { + return + } + default: + _, ok := ret.Health.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 0: + PlayToClientPacketBossBarColor, ok := ret.Color.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketBossBarColor) + if err != nil { + return + } + case 4: + PlayToClientPacketBossBarColor, ok := ret.Color.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketBossBarColor) + if err != nil { + return + } + default: + _, ok := ret.Color.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 0: + PlayToClientPacketBossBarDividers, ok := ret.Dividers.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketBossBarDividers) + if err != nil { + return + } + case 4: + PlayToClientPacketBossBarDividers, ok := ret.Dividers.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketBossBarDividers) + if err != nil { + return + } + default: + _, ok := ret.Dividers.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 0: + PlayToClientPacketBossBarFlags, ok := ret.Flags.(uint8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketBossBarFlags) + if err != nil { + return + } + case 5: + PlayToClientPacketBossBarFlags, ok := ret.Flags.(uint8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketBossBarFlags) + if err != nil { + return + } + default: + _, ok := ret.Flags.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketCamera struct { + CameraId int32 +} + +func (ret *PlayToClientPacketCamera) Decode(r io.ReadSeeker) (err error) { + ret.CameraId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketCamera) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.CameraId) + if err != nil { + return + } + return +} + +type PlayToClientPacketChat struct { + Message string + Position int8 +} + +func (ret *PlayToClientPacketChat) Decode(r io.ReadSeeker) (err error) { + ret.Message, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Position) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketChat) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Message) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Position) + if err != nil { + return + } + return +} + +type PlayToClientPacketCloseWindow struct { + WindowId uint8 +} + +func (ret *PlayToClientPacketCloseWindow) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketCloseWindow) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + return +} + +type PlayToClientPacketCollect struct { + CollectedEntityId int32 + CollectorEntityId int32 + PickupItemCount int32 +} + +func (ret *PlayToClientPacketCollect) Decode(r io.ReadSeeker) (err error) { + ret.CollectedEntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.CollectorEntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.PickupItemCount, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketCollect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.CollectedEntityId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.CollectorEntityId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.PickupItemCount) + if err != nil { + return + } + return +} + +type PlayToClientPacketCombatEvent struct { + Event int32 + Duration any + PlayerId any + EntityId any + Message any +} + +func (ret *PlayToClientPacketCombatEvent) Decode(r io.ReadSeeker) (err error) { + ret.Event, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Event { + case 1: + var PlayToClientPacketCombatEventDuration1Tmp int32 + PlayToClientPacketCombatEventDuration1Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Duration = PlayToClientPacketCombatEventDuration1Tmp + default: + var PlayToClientPacketCombatEventDurationTmp struct { + } + ret.Duration = PlayToClientPacketCombatEventDurationTmp + } + switch ret.Event { + case 2: + var PlayToClientPacketCombatEventPlayerId2Tmp int32 + PlayToClientPacketCombatEventPlayerId2Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.PlayerId = PlayToClientPacketCombatEventPlayerId2Tmp + default: + var PlayToClientPacketCombatEventPlayerIdTmp struct { + } + ret.PlayerId = PlayToClientPacketCombatEventPlayerIdTmp + } + switch ret.Event { + case 1: + var PlayToClientPacketCombatEventEntityId1Tmp int32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketCombatEventEntityId1Tmp) + if err != nil { + return + } + ret.EntityId = PlayToClientPacketCombatEventEntityId1Tmp + case 2: + var PlayToClientPacketCombatEventEntityId2Tmp int32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketCombatEventEntityId2Tmp) + if err != nil { + return + } + ret.EntityId = PlayToClientPacketCombatEventEntityId2Tmp + default: + var PlayToClientPacketCombatEventEntityIdTmp struct { + } + ret.EntityId = PlayToClientPacketCombatEventEntityIdTmp + } + switch ret.Event { + case 2: + var PlayToClientPacketCombatEventMessage2Tmp string + PlayToClientPacketCombatEventMessage2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Message = PlayToClientPacketCombatEventMessage2Tmp + default: + var PlayToClientPacketCombatEventMessageTmp struct { + } + ret.Message = PlayToClientPacketCombatEventMessageTmp + } + return +} +func (ret *PlayToClientPacketCombatEvent) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Event) + if err != nil { + return + } + switch ret.Event { + case 1: + PlayToClientPacketCombatEventDuration, ok := ret.Duration.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketCombatEventDuration) + if err != nil { + return + } + default: + _, ok := ret.Duration.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Event { + case 2: + PlayToClientPacketCombatEventPlayerId, ok := ret.PlayerId.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketCombatEventPlayerId) + if err != nil { + return + } + default: + _, ok := ret.PlayerId.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Event { + case 1: + PlayToClientPacketCombatEventEntityId, ok := ret.EntityId.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketCombatEventEntityId) + if err != nil { + return + } + case 2: + PlayToClientPacketCombatEventEntityId, ok := ret.EntityId.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketCombatEventEntityId) + if err != nil { + return + } + default: + _, ok := ret.EntityId.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Event { + case 2: + PlayToClientPacketCombatEventMessage, ok := ret.Message.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketCombatEventMessage) + if err != nil { + return + } + default: + _, ok := ret.Message.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketCraftProgressBar struct { + WindowId uint8 + Property int16 + Value int16 +} + +func (ret *PlayToClientPacketCraftProgressBar) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Property) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Value) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketCraftProgressBar) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Property) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Value) + if err != nil { + return + } + return +} + +type PlayToClientPacketCraftRecipeResponse struct { + WindowId int8 + Recipe int32 +} + +func (ret *PlayToClientPacketCraftRecipeResponse) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + ret.Recipe, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketCraftRecipeResponse) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Recipe) + if err != nil { + return + } + return +} + +type PlayToClientPacketCustomPayload struct { + Channel string + Data proto_base.RestBuffer +} + +func (ret *PlayToClientPacketCustomPayload) Decode(r io.ReadSeeker) (err error) { + ret.Channel, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = ret.Data.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketCustomPayload) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Channel) + if err != nil { + return + } + PlayToClientPacketCustomPayloadDataEncTmp := ret.Data + err = PlayToClientPacketCustomPayloadDataEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketDifficulty struct { + Difficulty uint8 +} + +func (ret *PlayToClientPacketDifficulty) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Difficulty) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketDifficulty) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Difficulty) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntity struct { + EntityId int32 +} + +func (ret *PlayToClientPacketEntity) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntity) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityDestroy struct { + EntityIds []int32 +} + +func (ret *PlayToClientPacketEntityDestroy) Decode(r io.ReadSeeker) (err error) { + var lPlayToClientPacketEntityDestroyEntityIds int32 + lPlayToClientPacketEntityDestroyEntityIds, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.EntityIds = []int32{} + for range lPlayToClientPacketEntityDestroyEntityIds { + var PlayToClientPacketEntityDestroyEntityIdsElement int32 + PlayToClientPacketEntityDestroyEntityIdsElement, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.EntityIds = append(ret.EntityIds, PlayToClientPacketEntityDestroyEntityIdsElement) + } + return +} +func (ret *PlayToClientPacketEntityDestroy) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, int32(len(ret.EntityIds))) + if err != nil { + return + } + for iPlayToClientPacketEntityDestroyEntityIds := range len(ret.EntityIds) { + err = proto_base.EncodeVarInt(w, ret.EntityIds[iPlayToClientPacketEntityDestroyEntityIds]) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketEntityEffect struct { + EntityId int32 + EffectId int8 + Amplifier int8 + Duration int32 + HideParticles int8 +} + +func (ret *PlayToClientPacketEntityEffect) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.EffectId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Amplifier) + if err != nil { + return + } + ret.Duration, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.HideParticles) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityEffect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.EffectId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Amplifier) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Duration) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.HideParticles) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityEquipment struct { + EntityId int32 + Slot int32 + Item Slot +} + +func (ret *PlayToClientPacketEntityEquipment) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Slot, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = ret.Item.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityEquipment) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Slot) + if err != nil { + return + } + PlayToClientPacketEntityEquipmentItemEncTmp := ret.Item + err = PlayToClientPacketEntityEquipmentItemEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityHeadRotation struct { + EntityId int32 + HeadYaw int8 +} + +func (ret *PlayToClientPacketEntityHeadRotation) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.HeadYaw) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityHeadRotation) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.HeadYaw) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityLook struct { + EntityId int32 + Yaw int8 + Pitch int8 + OnGround bool +} + +func (ret *PlayToClientPacketEntityLook) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityLook) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityMetadata struct { + EntityId int32 + Metadata EntityMetadata +} + +func (ret *PlayToClientPacketEntityMetadata) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = ret.Metadata.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityMetadata) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + PlayToClientPacketEntityMetadataMetadataEncTmp := ret.Metadata + err = PlayToClientPacketEntityMetadataMetadataEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityMoveLook struct { + EntityId int32 + DX int16 + DY int16 + DZ int16 + Yaw int8 + Pitch int8 + OnGround bool +} + +func (ret *PlayToClientPacketEntityMoveLook) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DX) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DY) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DZ) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityMoveLook) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DX) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DY) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DZ) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityStatus struct { + EntityId int32 + EntityStatus int8 +} + +func (ret *PlayToClientPacketEntityStatus) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.EntityId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.EntityStatus) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityStatus) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.EntityStatus) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityTeleport struct { + EntityId int32 + X float64 + Y float64 + Z float64 + Yaw int8 + Pitch int8 + OnGround bool +} + +func (ret *PlayToClientPacketEntityTeleport) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityTeleport) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToClientPacketEntityUpdateAttributes struct { + EntityId int32 + Properties []struct { + Key string + Value float64 + Modifiers []struct { + Uuid uuid.UUID + Amount float64 + Operation int8 + } + } +} + +func (ret *PlayToClientPacketEntityUpdateAttributes) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + var lPlayToClientPacketEntityUpdateAttributesProperties int32 + err = binary.Read(r, binary.BigEndian, &lPlayToClientPacketEntityUpdateAttributesProperties) + if err != nil { + return + } + ret.Properties = []struct { + Key string + Value float64 + Modifiers []struct { + Uuid uuid.UUID + Amount float64 + Operation int8 + } + }{} + for range lPlayToClientPacketEntityUpdateAttributesProperties { + var PlayToClientPacketEntityUpdateAttributesPropertiesElement struct { + Key string + Value float64 + Modifiers []struct { + Uuid uuid.UUID + Amount float64 + Operation int8 + } + } + PlayToClientPacketEntityUpdateAttributesPropertiesElement.Key, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketEntityUpdateAttributesPropertiesElement.Value) + if err != nil { + return + } + var lPlayToClientPacketEntityUpdateAttributesPropertiesElementModifiers int32 + lPlayToClientPacketEntityUpdateAttributesPropertiesElementModifiers, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketEntityUpdateAttributesPropertiesElement.Modifiers = []struct { + Uuid uuid.UUID + Amount float64 + Operation int8 + }{} + for range lPlayToClientPacketEntityUpdateAttributesPropertiesElementModifiers { + var PlayToClientPacketEntityUpdateAttributesPropertiesElementModifiersElement struct { + Uuid uuid.UUID + Amount float64 + Operation int8 + } + _, err = io.ReadFull(r, PlayToClientPacketEntityUpdateAttributesPropertiesElementModifiersElement.Uuid[:]) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketEntityUpdateAttributesPropertiesElementModifiersElement.Amount) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketEntityUpdateAttributesPropertiesElementModifiersElement.Operation) + if err != nil { + return + } + PlayToClientPacketEntityUpdateAttributesPropertiesElement.Modifiers = append(PlayToClientPacketEntityUpdateAttributesPropertiesElement.Modifiers, PlayToClientPacketEntityUpdateAttributesPropertiesElementModifiersElement) + } + ret.Properties = append(ret.Properties, PlayToClientPacketEntityUpdateAttributesPropertiesElement) + } + return +} +func (ret *PlayToClientPacketEntityUpdateAttributes) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, int32(len(ret.Properties))) + if err != nil { + return + } + for iPlayToClientPacketEntityUpdateAttributesProperties := range len(ret.Properties) { + err = proto_base.EncodeString(w, ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Key) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Value) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Modifiers))) + if err != nil { + return + } + for iPlayToClientPacketEntityUpdateAttributesPropertiesInnerModifiers := range len(ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Modifiers) { + _, err = w.Write(ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Modifiers[iPlayToClientPacketEntityUpdateAttributesPropertiesInnerModifiers].Uuid[:]) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Modifiers[iPlayToClientPacketEntityUpdateAttributesPropertiesInnerModifiers].Amount) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Properties[iPlayToClientPacketEntityUpdateAttributesProperties].Modifiers[iPlayToClientPacketEntityUpdateAttributesPropertiesInnerModifiers].Operation) + if err != nil { + return + } + } + } + return +} + +type PlayToClientPacketEntityVelocity struct { + EntityId int32 + Velocity Vec3i16 +} + +func (ret *PlayToClientPacketEntityVelocity) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = ret.Velocity.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketEntityVelocity) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + PlayToClientPacketEntityVelocityVelocityEncTmp := ret.Velocity + err = PlayToClientPacketEntityVelocityVelocityEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketExperience struct { + ExperienceBar float32 + Level int32 + TotalExperience int32 +} + +func (ret *PlayToClientPacketExperience) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.ExperienceBar) + if err != nil { + return + } + ret.Level, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.TotalExperience, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketExperience) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.ExperienceBar) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Level) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.TotalExperience) + if err != nil { + return + } + return +} + +type PlayToClientPacketExplosion struct { + X float32 + Y float32 + Z float32 + Radius float32 + AffectedBlockOffsets []struct { + X int8 + Y int8 + Z int8 + } + PlayerMotionX float32 + PlayerMotionY float32 + PlayerMotionZ float32 +} + +func (ret *PlayToClientPacketExplosion) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Radius) + if err != nil { + return + } + var lPlayToClientPacketExplosionAffectedBlockOffsets int32 + err = binary.Read(r, binary.BigEndian, &lPlayToClientPacketExplosionAffectedBlockOffsets) + if err != nil { + return + } + ret.AffectedBlockOffsets = []struct { + X int8 + Y int8 + Z int8 + }{} + for range lPlayToClientPacketExplosionAffectedBlockOffsets { + var PlayToClientPacketExplosionAffectedBlockOffsetsElement struct { + X int8 + Y int8 + Z int8 + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketExplosionAffectedBlockOffsetsElement.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketExplosionAffectedBlockOffsetsElement.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketExplosionAffectedBlockOffsetsElement.Z) + if err != nil { + return + } + ret.AffectedBlockOffsets = append(ret.AffectedBlockOffsets, PlayToClientPacketExplosionAffectedBlockOffsetsElement) + } + err = binary.Read(r, binary.BigEndian, &ret.PlayerMotionX) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.PlayerMotionY) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.PlayerMotionZ) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketExplosion) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Radius) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, int32(len(ret.AffectedBlockOffsets))) + if err != nil { + return + } + for iPlayToClientPacketExplosionAffectedBlockOffsets := range len(ret.AffectedBlockOffsets) { + err = binary.Write(w, binary.BigEndian, ret.AffectedBlockOffsets[iPlayToClientPacketExplosionAffectedBlockOffsets].X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.AffectedBlockOffsets[iPlayToClientPacketExplosionAffectedBlockOffsets].Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.AffectedBlockOffsets[iPlayToClientPacketExplosionAffectedBlockOffsets].Z) + if err != nil { + return + } + } + err = binary.Write(w, binary.BigEndian, ret.PlayerMotionX) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.PlayerMotionY) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.PlayerMotionZ) + if err != nil { + return + } + return +} + +type PlayToClientPacketGameStateChange struct { + Reason uint8 + GameMode float32 +} + +func (ret *PlayToClientPacketGameStateChange) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Reason) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.GameMode) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketGameStateChange) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Reason) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.GameMode) + if err != nil { + return + } + return +} + +type PlayToClientPacketHeldItemSlot struct { + Slot int8 +} + +func (ret *PlayToClientPacketHeldItemSlot) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Slot) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketHeldItemSlot) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Slot) + if err != nil { + return + } + return +} + +type PlayToClientPacketKeepAlive struct { + KeepAliveId int64 +} + +func (ret *PlayToClientPacketKeepAlive) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.KeepAliveId) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketKeepAlive) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.KeepAliveId) + if err != nil { + return + } + return +} + +type PlayToClientPacketKickDisconnect struct { + Reason string +} + +func (ret *PlayToClientPacketKickDisconnect) Decode(r io.ReadSeeker) (err error) { + ret.Reason, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketKickDisconnect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Reason) + if err != nil { + return + } + return +} + +type PlayToClientPacketLogin struct { + EntityId int32 + GameMode uint8 + Dimension int32 + Difficulty uint8 + MaxPlayers uint8 + LevelType string + ReducedDebugInfo bool +} + +func (ret *PlayToClientPacketLogin) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.EntityId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.GameMode) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Dimension) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Difficulty) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.MaxPlayers) + if err != nil { + return + } + ret.LevelType, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ReducedDebugInfo) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketLogin) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.GameMode) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Dimension) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Difficulty) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.MaxPlayers) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.LevelType) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ReducedDebugInfo) + if err != nil { + return + } + return +} + +type PlayToClientPacketMap struct { + ItemDamage int32 + Scale int8 + TrackingPosition bool + Icons []struct { + DirectionAndType int8 + X int8 + Z int8 + } + Columns int8 + Rows any + X any + Y any + Data any +} + +func (ret *PlayToClientPacketMap) Decode(r io.ReadSeeker) (err error) { + ret.ItemDamage, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Scale) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.TrackingPosition) + if err != nil { + return + } + var lPlayToClientPacketMapIcons int32 + lPlayToClientPacketMapIcons, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Icons = []struct { + DirectionAndType int8 + X int8 + Z int8 + }{} + for range lPlayToClientPacketMapIcons { + var PlayToClientPacketMapIconsElement struct { + DirectionAndType int8 + X int8 + Z int8 + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMapIconsElement.DirectionAndType) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMapIconsElement.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMapIconsElement.Z) + if err != nil { + return + } + ret.Icons = append(ret.Icons, PlayToClientPacketMapIconsElement) + } + err = binary.Read(r, binary.BigEndian, &ret.Columns) + if err != nil { + return + } + switch ret.Columns { + case 0: + var PlayToClientPacketMapRows0Tmp struct { + } + ret.Rows = PlayToClientPacketMapRows0Tmp + default: + var PlayToClientPacketMapRowsTmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMapRowsTmp) + if err != nil { + return + } + ret.Rows = PlayToClientPacketMapRowsTmp + } + switch ret.Columns { + case 0: + var PlayToClientPacketMapX0Tmp struct { + } + ret.X = PlayToClientPacketMapX0Tmp + default: + var PlayToClientPacketMapXTmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMapXTmp) + if err != nil { + return + } + ret.X = PlayToClientPacketMapXTmp + } + switch ret.Columns { + case 0: + var PlayToClientPacketMapY0Tmp struct { + } + ret.Y = PlayToClientPacketMapY0Tmp + default: + var PlayToClientPacketMapYTmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMapYTmp) + if err != nil { + return + } + ret.Y = PlayToClientPacketMapYTmp + } + switch ret.Columns { + case 0: + var PlayToClientPacketMapData0Tmp struct { + } + ret.Data = PlayToClientPacketMapData0Tmp + default: + var PlayToClientPacketMapDataTmp []byte + var lPlayToClientPacketMapData int32 + lPlayToClientPacketMapData, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketMapDataTmp, err = io.ReadAll(io.LimitReader(r, int64(lPlayToClientPacketMapData))) + if err != nil { + return + } + ret.Data = PlayToClientPacketMapDataTmp + } + return +} +func (ret *PlayToClientPacketMap) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.ItemDamage) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Scale) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.TrackingPosition) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Icons))) + if err != nil { + return + } + for iPlayToClientPacketMapIcons := range len(ret.Icons) { + err = binary.Write(w, binary.BigEndian, ret.Icons[iPlayToClientPacketMapIcons].DirectionAndType) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Icons[iPlayToClientPacketMapIcons].X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Icons[iPlayToClientPacketMapIcons].Z) + if err != nil { + return + } + } + err = binary.Write(w, binary.BigEndian, ret.Columns) + if err != nil { + return + } + switch ret.Columns { + case 0: + _, ok := ret.Rows.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + default: + _, ok := ret.Rows.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, ret.Rows.(int8)) + if err != nil { + return + } + } + switch ret.Columns { + case 0: + _, ok := ret.X.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + default: + _, ok := ret.X.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, ret.X.(int8)) + if err != nil { + return + } + } + switch ret.Columns { + case 0: + _, ok := ret.Y.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + default: + _, ok := ret.Y.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, ret.Y.(int8)) + if err != nil { + return + } + } + switch ret.Columns { + case 0: + _, ok := ret.Data.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + default: + _, ok := ret.Data.([]byte) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Data.([]byte)))) + if err != nil { + return + } + _, err = w.Write(ret.Data.([]byte)) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketMapChunk struct { + X int32 + Z int32 + GroundUp bool + BitMap int32 + ChunkData []byte + BlockEntities []nbt.Tag +} + +func (ret *PlayToClientPacketMapChunk) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.GroundUp) + if err != nil { + return + } + ret.BitMap, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + var lPlayToClientPacketMapChunkChunkData int32 + lPlayToClientPacketMapChunkChunkData, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.ChunkData, err = io.ReadAll(io.LimitReader(r, int64(lPlayToClientPacketMapChunkChunkData))) + if err != nil { + return + } + var lPlayToClientPacketMapChunkBlockEntities int32 + lPlayToClientPacketMapChunkBlockEntities, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.BlockEntities = []nbt.Tag{} + for range lPlayToClientPacketMapChunkBlockEntities { + var PlayToClientPacketMapChunkBlockEntitiesElement nbt.Tag + err = PlayToClientPacketMapChunkBlockEntitiesElement.Decode(r) + if err != nil { + return + } + ret.BlockEntities = append(ret.BlockEntities, PlayToClientPacketMapChunkBlockEntitiesElement) + } + return +} +func (ret *PlayToClientPacketMapChunk) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.GroundUp) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.BitMap) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.ChunkData))) + if err != nil { + return + } + _, err = w.Write(ret.ChunkData) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.BlockEntities))) + if err != nil { + return + } + for iPlayToClientPacketMapChunkBlockEntities := range len(ret.BlockEntities) { + PlayToClientPacketMapChunkBlockEntitiesInnerEncTmp := ret.BlockEntities[iPlayToClientPacketMapChunkBlockEntities] + err = PlayToClientPacketMapChunkBlockEntitiesInnerEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketMultiBlockChange struct { + ChunkX int32 + ChunkZ int32 + Records []struct { + HorizontalPos uint8 + Y uint8 + BlockId int32 + } +} + +func (ret *PlayToClientPacketMultiBlockChange) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.ChunkX) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ChunkZ) + if err != nil { + return + } + var lPlayToClientPacketMultiBlockChangeRecords int32 + lPlayToClientPacketMultiBlockChangeRecords, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Records = []struct { + HorizontalPos uint8 + Y uint8 + BlockId int32 + }{} + for range lPlayToClientPacketMultiBlockChangeRecords { + var PlayToClientPacketMultiBlockChangeRecordsElement struct { + HorizontalPos uint8 + Y uint8 + BlockId int32 + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMultiBlockChangeRecordsElement.HorizontalPos) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketMultiBlockChangeRecordsElement.Y) + if err != nil { + return + } + PlayToClientPacketMultiBlockChangeRecordsElement.BlockId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Records = append(ret.Records, PlayToClientPacketMultiBlockChangeRecordsElement) + } + return +} +func (ret *PlayToClientPacketMultiBlockChange) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.ChunkX) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ChunkZ) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Records))) + if err != nil { + return + } + for iPlayToClientPacketMultiBlockChangeRecords := range len(ret.Records) { + err = binary.Write(w, binary.BigEndian, ret.Records[iPlayToClientPacketMultiBlockChangeRecords].HorizontalPos) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Records[iPlayToClientPacketMultiBlockChangeRecords].Y) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Records[iPlayToClientPacketMultiBlockChangeRecords].BlockId) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketNamedEntitySpawn struct { + EntityId int32 + PlayerUUID uuid.UUID + X float64 + Y float64 + Z float64 + Yaw int8 + Pitch int8 + Metadata EntityMetadata +} + +func (ret *PlayToClientPacketNamedEntitySpawn) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + _, err = io.ReadFull(r, ret.PlayerUUID[:]) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = ret.Metadata.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketNamedEntitySpawn) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + _, err = w.Write(ret.PlayerUUID[:]) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + PlayToClientPacketNamedEntitySpawnMetadataEncTmp := ret.Metadata + err = PlayToClientPacketNamedEntitySpawnMetadataEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketNamedSoundEffect struct { + SoundName string + SoundCategory int32 + X int32 + Y int32 + Z int32 + Volume float32 + Pitch float32 +} + +func (ret *PlayToClientPacketNamedSoundEffect) Decode(r io.ReadSeeker) (err error) { + ret.SoundName, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.SoundCategory, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Volume) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketNamedSoundEffect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.SoundName) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.SoundCategory) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Volume) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + return +} + +type PlayToClientPacketOpenSignEntity struct { + Location Position +} + +func (ret *PlayToClientPacketOpenSignEntity) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketOpenSignEntity) Encode(w io.Writer) (err error) { + PlayToClientPacketOpenSignEntityLocationEncTmp := ret.Location + err = PlayToClientPacketOpenSignEntityLocationEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketOpenWindow struct { + WindowId uint8 + InventoryType string + WindowTitle string + SlotCount uint8 + EntityId any +} + +func (ret *PlayToClientPacketOpenWindow) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + ret.InventoryType, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.WindowTitle, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.SlotCount) + if err != nil { + return + } + switch ret.InventoryType { + case "EntityHorse": + var PlayToClientPacketOpenWindowEntityIdEntityHorseTmp int32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketOpenWindowEntityIdEntityHorseTmp) + if err != nil { + return + } + ret.EntityId = PlayToClientPacketOpenWindowEntityIdEntityHorseTmp + default: + var PlayToClientPacketOpenWindowEntityIdTmp struct { + } + ret.EntityId = PlayToClientPacketOpenWindowEntityIdTmp + } + return +} +func (ret *PlayToClientPacketOpenWindow) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.InventoryType) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.WindowTitle) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.SlotCount) + if err != nil { + return + } + switch ret.InventoryType { + case "EntityHorse": + PlayToClientPacketOpenWindowEntityId, ok := ret.EntityId.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketOpenWindowEntityId) + if err != nil { + return + } + default: + _, ok := ret.EntityId.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketPlayerInfo struct { + Action string + Data []struct { + Uuid uuid.UUID + Anon any + } +} + +var PlayToClientPacketPlayerInfoActionMap = map[int32]string{0: "add_player", 1: "update_game_mode", 2: "update_latency", 3: "update_display_name", 4: "remove_player"} + +func (ret *PlayToClientPacketPlayerInfo) Decode(r io.ReadSeeker) (err error) { + var PlayToClientPacketPlayerInfoActionKey int32 + PlayToClientPacketPlayerInfoActionKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Action, err = proto_base.ErroringIndex(PlayToClientPacketPlayerInfoActionMap, PlayToClientPacketPlayerInfoActionKey) + if err != nil { + return + } + var lPlayToClientPacketPlayerInfoData int32 + lPlayToClientPacketPlayerInfoData, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Data = []struct { + Uuid uuid.UUID + Anon any + }{} + for range lPlayToClientPacketPlayerInfoData { + var PlayToClientPacketPlayerInfoDataElement struct { + Uuid uuid.UUID + Anon any + } + _, err = io.ReadFull(r, PlayToClientPacketPlayerInfoDataElement.Uuid[:]) + if err != nil { + return + } + switch ret.Action { + case "add_player": + var PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp struct { + Name string + Properties []struct { + Name string + Value string + Signature *string + } + Gamemode int32 + Ping int32 + DisplayName *string + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.Name, err = proto_base.DecodeString(r) + if err != nil { + return + } + var lPlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpProperties int32 + lPlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpProperties, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.Properties = []struct { + Name string + Value string + Signature *string + }{} + for range lPlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpProperties { + var PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElement struct { + Name string + Value string + Signature *string + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElement.Name, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElement.Value, err = proto_base.DecodeString(r) + if err != nil { + return + } + var PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElementSignaturePresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElementSignaturePresent) + if err != nil { + return + } + if PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElementSignaturePresent { + var PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElementSignaturePresentValue string + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElementSignaturePresentValue, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElement.Signature = &PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElementSignaturePresentValue + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.Properties = append(PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.Properties, PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpPropertiesElement) + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.Gamemode, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.Ping, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + var PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpDisplayNamePresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpDisplayNamePresent) + if err != nil { + return + } + if PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpDisplayNamePresent { + var PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpDisplayNamePresentValue string + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpDisplayNamePresentValue, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp.DisplayName = &PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmpDisplayNamePresentValue + } + PlayToClientPacketPlayerInfoDataElement.Anon = PlayToClientPacketPlayerInfoDataElementAnonAddPlayerTmp + case "remove_player": + var PlayToClientPacketPlayerInfoDataElementAnonRemovePlayerTmp struct { + } + PlayToClientPacketPlayerInfoDataElement.Anon = PlayToClientPacketPlayerInfoDataElementAnonRemovePlayerTmp + case "update_display_name": + var PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmp struct { + DisplayName *string + } + var PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmpDisplayNamePresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmpDisplayNamePresent) + if err != nil { + return + } + if PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmpDisplayNamePresent { + var PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmpDisplayNamePresentValue string + PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmpDisplayNamePresentValue, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmp.DisplayName = &PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmpDisplayNamePresentValue + } + PlayToClientPacketPlayerInfoDataElement.Anon = PlayToClientPacketPlayerInfoDataElementAnonUpdateDisplayNameTmp + case "update_game_mode": + var PlayToClientPacketPlayerInfoDataElementAnonUpdateGameModeTmp struct { + Gamemode int32 + } + PlayToClientPacketPlayerInfoDataElementAnonUpdateGameModeTmp.Gamemode, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElement.Anon = PlayToClientPacketPlayerInfoDataElementAnonUpdateGameModeTmp + case "update_latency": + var PlayToClientPacketPlayerInfoDataElementAnonUpdateLatencyTmp struct { + Ping int32 + } + PlayToClientPacketPlayerInfoDataElementAnonUpdateLatencyTmp.Ping, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketPlayerInfoDataElement.Anon = PlayToClientPacketPlayerInfoDataElementAnonUpdateLatencyTmp + } + ret.Data = append(ret.Data, PlayToClientPacketPlayerInfoDataElement) + } + return +} + +var PlayToClientPacketPlayerInfoActionReverseMap = map[string]int32{"add_player": 0, "update_game_mode": 1, "update_latency": 2, "update_display_name": 3, "remove_player": 4} + +func (ret *PlayToClientPacketPlayerInfo) Encode(w io.Writer) (err error) { + var vPlayToClientPacketPlayerInfoAction int32 + vPlayToClientPacketPlayerInfoAction, err = proto_base.ErroringIndex(PlayToClientPacketPlayerInfoActionReverseMap, ret.Action) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vPlayToClientPacketPlayerInfoAction) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Data))) + if err != nil { + return + } + for iPlayToClientPacketPlayerInfoData := range len(ret.Data) { + _, err = w.Write(ret.Data[iPlayToClientPacketPlayerInfoData].Uuid[:]) + if err != nil { + return + } + switch ret.Action { + case "add_player": + PlayToClientPacketPlayerInfoDataInnerAnon, ok := ret.Data[iPlayToClientPacketPlayerInfoData].Anon.(struct { + Name string + Properties []struct { + Name string + Value string + Signature *string + } + Gamemode int32 + Ping int32 + DisplayName *string + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketPlayerInfoDataInnerAnon.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(PlayToClientPacketPlayerInfoDataInnerAnon.Properties))) + if err != nil { + return + } + for iPlayToClientPacketPlayerInfoDataInnerAnonProperties := range len(PlayToClientPacketPlayerInfoDataInnerAnon.Properties) { + err = proto_base.EncodeString(w, PlayToClientPacketPlayerInfoDataInnerAnon.Properties[iPlayToClientPacketPlayerInfoDataInnerAnonProperties].Name) + if err != nil { + return + } + err = proto_base.EncodeString(w, PlayToClientPacketPlayerInfoDataInnerAnon.Properties[iPlayToClientPacketPlayerInfoDataInnerAnonProperties].Value) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketPlayerInfoDataInnerAnon.Properties[iPlayToClientPacketPlayerInfoDataInnerAnonProperties].Signature != nil) + if err != nil { + return + } + if PlayToClientPacketPlayerInfoDataInnerAnon.Properties[iPlayToClientPacketPlayerInfoDataInnerAnonProperties].Signature != nil { + err = proto_base.EncodeString(w, *PlayToClientPacketPlayerInfoDataInnerAnon.Properties[iPlayToClientPacketPlayerInfoDataInnerAnonProperties].Signature) + if err != nil { + return + } + } + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketPlayerInfoDataInnerAnon.Gamemode) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketPlayerInfoDataInnerAnon.Ping) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketPlayerInfoDataInnerAnon.DisplayName != nil) + if err != nil { + return + } + if PlayToClientPacketPlayerInfoDataInnerAnon.DisplayName != nil { + err = proto_base.EncodeString(w, *PlayToClientPacketPlayerInfoDataInnerAnon.DisplayName) + if err != nil { + return + } + } + case "remove_player": + _, ok := ret.Data[iPlayToClientPacketPlayerInfoData].Anon.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + case "update_display_name": + PlayToClientPacketPlayerInfoDataInnerAnon, ok := ret.Data[iPlayToClientPacketPlayerInfoData].Anon.(struct { + DisplayName *string + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketPlayerInfoDataInnerAnon.DisplayName != nil) + if err != nil { + return + } + if PlayToClientPacketPlayerInfoDataInnerAnon.DisplayName != nil { + err = proto_base.EncodeString(w, *PlayToClientPacketPlayerInfoDataInnerAnon.DisplayName) + if err != nil { + return + } + } + case "update_game_mode": + PlayToClientPacketPlayerInfoDataInnerAnon, ok := ret.Data[iPlayToClientPacketPlayerInfoData].Anon.(struct { + Gamemode int32 + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketPlayerInfoDataInnerAnon.Gamemode) + if err != nil { + return + } + case "update_latency": + PlayToClientPacketPlayerInfoDataInnerAnon, ok := ret.Data[iPlayToClientPacketPlayerInfoData].Anon.(struct { + Ping int32 + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketPlayerInfoDataInnerAnon.Ping) + if err != nil { + return + } + } + } + return +} + +type PlayToClientPacketPlayerlistHeader struct { + Header string + Footer string +} + +func (ret *PlayToClientPacketPlayerlistHeader) Decode(r io.ReadSeeker) (err error) { + ret.Header, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Footer, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketPlayerlistHeader) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Header) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Footer) + if err != nil { + return + } + return +} + +type PlayToClientPacketPosition struct { + X float64 + Y float64 + Z float64 + Yaw float32 + Pitch float32 + Flags int8 + TeleportId int32 +} + +func (ret *PlayToClientPacketPosition) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Flags) + if err != nil { + return + } + ret.TeleportId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketPosition) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Flags) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.TeleportId) + if err != nil { + return + } + return +} + +type PlayToClientPacketRelEntityMove struct { + EntityId int32 + DX int16 + DY int16 + DZ int16 + OnGround bool +} + +func (ret *PlayToClientPacketRelEntityMove) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DX) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DY) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.DZ) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketRelEntityMove) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DX) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DY) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.DZ) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToClientPacketRemoveEntityEffect struct { + EntityId int32 + EffectId int8 +} + +func (ret *PlayToClientPacketRemoveEntityEffect) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.EffectId) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketRemoveEntityEffect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.EffectId) + if err != nil { + return + } + return +} + +type PlayToClientPacketResourcePackSend struct { + Url string + Hash string +} + +func (ret *PlayToClientPacketResourcePackSend) Decode(r io.ReadSeeker) (err error) { + ret.Url, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Hash, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketResourcePackSend) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Url) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Hash) + if err != nil { + return + } + return +} + +type PlayToClientPacketRespawn struct { + Dimension int32 + Difficulty uint8 + Gamemode uint8 + LevelType string +} + +func (ret *PlayToClientPacketRespawn) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Dimension) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Difficulty) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Gamemode) + if err != nil { + return + } + ret.LevelType, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketRespawn) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Dimension) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Difficulty) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Gamemode) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.LevelType) + if err != nil { + return + } + return +} + +type PlayToClientPacketScoreboardDisplayObjective struct { + Position int8 + Name string +} + +func (ret *PlayToClientPacketScoreboardDisplayObjective) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Position) + if err != nil { + return + } + ret.Name, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketScoreboardDisplayObjective) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Position) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Name) + if err != nil { + return + } + return +} + +type PlayToClientPacketScoreboardObjective struct { + Name string + Action int8 + DisplayText any + Type any +} + +func (ret *PlayToClientPacketScoreboardObjective) Decode(r io.ReadSeeker) (err error) { + ret.Name, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Action) + if err != nil { + return + } + switch ret.Action { + case 0: + var PlayToClientPacketScoreboardObjectiveDisplayText0Tmp string + PlayToClientPacketScoreboardObjectiveDisplayText0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.DisplayText = PlayToClientPacketScoreboardObjectiveDisplayText0Tmp + case 2: + var PlayToClientPacketScoreboardObjectiveDisplayText2Tmp string + PlayToClientPacketScoreboardObjectiveDisplayText2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.DisplayText = PlayToClientPacketScoreboardObjectiveDisplayText2Tmp + default: + var PlayToClientPacketScoreboardObjectiveDisplayTextTmp struct { + } + ret.DisplayText = PlayToClientPacketScoreboardObjectiveDisplayTextTmp + } + switch ret.Action { + case 0: + var PlayToClientPacketScoreboardObjectiveType0Tmp string + PlayToClientPacketScoreboardObjectiveType0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Type = PlayToClientPacketScoreboardObjectiveType0Tmp + case 2: + var PlayToClientPacketScoreboardObjectiveType2Tmp string + PlayToClientPacketScoreboardObjectiveType2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Type = PlayToClientPacketScoreboardObjectiveType2Tmp + default: + var PlayToClientPacketScoreboardObjectiveTypeTmp struct { + } + ret.Type = PlayToClientPacketScoreboardObjectiveTypeTmp + } + return +} +func (ret *PlayToClientPacketScoreboardObjective) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Name) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Action) + if err != nil { + return + } + switch ret.Action { + case 0: + PlayToClientPacketScoreboardObjectiveDisplayText, ok := ret.DisplayText.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketScoreboardObjectiveDisplayText) + if err != nil { + return + } + case 2: + PlayToClientPacketScoreboardObjectiveDisplayText, ok := ret.DisplayText.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketScoreboardObjectiveDisplayText) + if err != nil { + return + } + default: + _, ok := ret.DisplayText.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 0: + PlayToClientPacketScoreboardObjectiveType, ok := ret.Type.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketScoreboardObjectiveType) + if err != nil { + return + } + case 2: + PlayToClientPacketScoreboardObjectiveType, ok := ret.Type.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketScoreboardObjectiveType) + if err != nil { + return + } + default: + _, ok := ret.Type.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketScoreboardScore struct { + ItemName string + Action int32 + ScoreName string + Value any +} + +func (ret *PlayToClientPacketScoreboardScore) Decode(r io.ReadSeeker) (err error) { + ret.ItemName, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Action, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.ScoreName, err = proto_base.DecodeString(r) + if err != nil { + return + } + switch ret.Action { + case 1: + var PlayToClientPacketScoreboardScoreValue1Tmp struct { + } + ret.Value = PlayToClientPacketScoreboardScoreValue1Tmp + default: + var PlayToClientPacketScoreboardScoreValueTmp int32 + PlayToClientPacketScoreboardScoreValueTmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Value = PlayToClientPacketScoreboardScoreValueTmp + } + return +} +func (ret *PlayToClientPacketScoreboardScore) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.ItemName) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Action) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.ScoreName) + if err != nil { + return + } + switch ret.Action { + case 1: + _, ok := ret.Value.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + default: + _, ok := ret.Value.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, ret.Value.(int32)) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketSelectAdvancementTab struct { + Id *string +} + +func (ret *PlayToClientPacketSelectAdvancementTab) Decode(r io.ReadSeeker) (err error) { + var PlayToClientPacketSelectAdvancementTabIdPresent bool + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketSelectAdvancementTabIdPresent) + if err != nil { + return + } + if PlayToClientPacketSelectAdvancementTabIdPresent { + var PlayToClientPacketSelectAdvancementTabIdPresentValue string + PlayToClientPacketSelectAdvancementTabIdPresentValue, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Id = &PlayToClientPacketSelectAdvancementTabIdPresentValue + } + return +} +func (ret *PlayToClientPacketSelectAdvancementTab) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Id != nil) + if err != nil { + return + } + if ret.Id != nil { + err = proto_base.EncodeString(w, *ret.Id) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketSetCooldown struct { + ItemID int32 + CooldownTicks int32 +} + +func (ret *PlayToClientPacketSetCooldown) Decode(r io.ReadSeeker) (err error) { + ret.ItemID, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.CooldownTicks, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSetCooldown) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.ItemID) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.CooldownTicks) + if err != nil { + return + } + return +} + +type PlayToClientPacketSetPassengers struct { + EntityId int32 + Passengers []int32 +} + +func (ret *PlayToClientPacketSetPassengers) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + var lPlayToClientPacketSetPassengersPassengers int32 + lPlayToClientPacketSetPassengersPassengers, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Passengers = []int32{} + for range lPlayToClientPacketSetPassengersPassengers { + var PlayToClientPacketSetPassengersPassengersElement int32 + PlayToClientPacketSetPassengersPassengersElement, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Passengers = append(ret.Passengers, PlayToClientPacketSetPassengersPassengersElement) + } + return +} +func (ret *PlayToClientPacketSetPassengers) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Passengers))) + if err != nil { + return + } + for iPlayToClientPacketSetPassengersPassengers := range len(ret.Passengers) { + err = proto_base.EncodeVarInt(w, ret.Passengers[iPlayToClientPacketSetPassengersPassengers]) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketSetSlot struct { + WindowId int8 + Slot int16 + Item Slot +} + +func (ret *PlayToClientPacketSetSlot) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Slot) + if err != nil { + return + } + err = ret.Item.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSetSlot) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Slot) + if err != nil { + return + } + PlayToClientPacketSetSlotItemEncTmp := ret.Item + err = PlayToClientPacketSetSlotItemEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketSoundEffect struct { + SoundId int32 + SoundCategory int32 + X int32 + Y int32 + Z int32 + Volume float32 + Pitch float32 +} + +func (ret *PlayToClientPacketSoundEffect) Decode(r io.ReadSeeker) (err error) { + ret.SoundId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.SoundCategory, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Volume) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSoundEffect) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.SoundId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.SoundCategory) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Volume) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + return +} + +type PlayToClientPacketSpawnEntity struct { + EntityId int32 + ObjectUUID uuid.UUID + Type int8 + X float64 + Y float64 + Z float64 + Pitch int8 + Yaw int8 + ObjectData int32 + Velocity Vec3i16 +} + +func (ret *PlayToClientPacketSpawnEntity) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + _, err = io.ReadFull(r, ret.ObjectUUID[:]) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Type) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ObjectData) + if err != nil { + return + } + err = ret.Velocity.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSpawnEntity) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + _, err = w.Write(ret.ObjectUUID[:]) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Type) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ObjectData) + if err != nil { + return + } + PlayToClientPacketSpawnEntityVelocityEncTmp := ret.Velocity + err = PlayToClientPacketSpawnEntityVelocityEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketSpawnEntityExperienceOrb struct { + EntityId int32 + X float64 + Y float64 + Z float64 + Count int16 +} + +func (ret *PlayToClientPacketSpawnEntityExperienceOrb) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Count) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSpawnEntityExperienceOrb) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Count) + if err != nil { + return + } + return +} + +type PlayToClientPacketSpawnEntityLiving struct { + EntityId int32 + EntityUUID uuid.UUID + Type int32 + X float64 + Y float64 + Z float64 + Yaw int8 + Pitch int8 + HeadPitch int8 + Velocity Vec3i16 + Metadata EntityMetadata +} + +func (ret *PlayToClientPacketSpawnEntityLiving) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + _, err = io.ReadFull(r, ret.EntityUUID[:]) + if err != nil { + return + } + ret.Type, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.HeadPitch) + if err != nil { + return + } + err = ret.Velocity.Decode(r) + if err != nil { + return + } + err = ret.Metadata.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSpawnEntityLiving) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + _, err = w.Write(ret.EntityUUID[:]) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Type) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.HeadPitch) + if err != nil { + return + } + PlayToClientPacketSpawnEntityLivingVelocityEncTmp := ret.Velocity + err = PlayToClientPacketSpawnEntityLivingVelocityEncTmp.Encode(w) + if err != nil { + return + } + PlayToClientPacketSpawnEntityLivingMetadataEncTmp := ret.Metadata + err = PlayToClientPacketSpawnEntityLivingMetadataEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketSpawnEntityPainting struct { + EntityId int32 + EntityUUID uuid.UUID + Title string + Location Position + Direction uint8 +} + +func (ret *PlayToClientPacketSpawnEntityPainting) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + _, err = io.ReadFull(r, ret.EntityUUID[:]) + if err != nil { + return + } + ret.Title, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = ret.Location.Decode(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Direction) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSpawnEntityPainting) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + _, err = w.Write(ret.EntityUUID[:]) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Title) + if err != nil { + return + } + PlayToClientPacketSpawnEntityPaintingLocationEncTmp := ret.Location + err = PlayToClientPacketSpawnEntityPaintingLocationEncTmp.Encode(w) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Direction) + if err != nil { + return + } + return +} + +type PlayToClientPacketSpawnEntityWeather struct { + EntityId int32 + Type int8 + X float64 + Y float64 + Z float64 +} + +func (ret *PlayToClientPacketSpawnEntityWeather) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Type) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSpawnEntityWeather) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Type) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + return +} + +type PlayToClientPacketSpawnPosition struct { + Location Position +} + +func (ret *PlayToClientPacketSpawnPosition) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketSpawnPosition) Encode(w io.Writer) (err error) { + PlayToClientPacketSpawnPositionLocationEncTmp := ret.Location + err = PlayToClientPacketSpawnPositionLocationEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketStatistics struct { + Entries []struct { + Name string + Value int32 + } +} + +func (ret *PlayToClientPacketStatistics) Decode(r io.ReadSeeker) (err error) { + var lPlayToClientPacketStatisticsEntries int32 + lPlayToClientPacketStatisticsEntries, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Entries = []struct { + Name string + Value int32 + }{} + for range lPlayToClientPacketStatisticsEntries { + var PlayToClientPacketStatisticsEntriesElement struct { + Name string + Value int32 + } + PlayToClientPacketStatisticsEntriesElement.Name, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketStatisticsEntriesElement.Value, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Entries = append(ret.Entries, PlayToClientPacketStatisticsEntriesElement) + } + return +} +func (ret *PlayToClientPacketStatistics) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, int32(len(ret.Entries))) + if err != nil { + return + } + for iPlayToClientPacketStatisticsEntries := range len(ret.Entries) { + err = proto_base.EncodeString(w, ret.Entries[iPlayToClientPacketStatisticsEntries].Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Entries[iPlayToClientPacketStatisticsEntries].Value) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketTabComplete struct { + Matches []string +} + +func (ret *PlayToClientPacketTabComplete) Decode(r io.ReadSeeker) (err error) { + var lPlayToClientPacketTabCompleteMatches int32 + lPlayToClientPacketTabCompleteMatches, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Matches = []string{} + for range lPlayToClientPacketTabCompleteMatches { + var PlayToClientPacketTabCompleteMatchesElement string + PlayToClientPacketTabCompleteMatchesElement, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Matches = append(ret.Matches, PlayToClientPacketTabCompleteMatchesElement) + } + return +} +func (ret *PlayToClientPacketTabComplete) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, int32(len(ret.Matches))) + if err != nil { + return + } + for iPlayToClientPacketTabCompleteMatches := range len(ret.Matches) { + err = proto_base.EncodeString(w, ret.Matches[iPlayToClientPacketTabCompleteMatches]) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketTeams struct { + Team string + Mode int8 + Name any + Prefix any + Suffix any + FriendlyFire any + NameTagVisibility any + CollisionRule any + Color any + Players any +} + +func (ret *PlayToClientPacketTeams) Decode(r io.ReadSeeker) (err error) { + ret.Team, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Mode) + if err != nil { + return + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsName0Tmp string + PlayToClientPacketTeamsName0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Name = PlayToClientPacketTeamsName0Tmp + case 2: + var PlayToClientPacketTeamsName2Tmp string + PlayToClientPacketTeamsName2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Name = PlayToClientPacketTeamsName2Tmp + default: + var PlayToClientPacketTeamsNameTmp struct { + } + ret.Name = PlayToClientPacketTeamsNameTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsPrefix0Tmp string + PlayToClientPacketTeamsPrefix0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Prefix = PlayToClientPacketTeamsPrefix0Tmp + case 2: + var PlayToClientPacketTeamsPrefix2Tmp string + PlayToClientPacketTeamsPrefix2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Prefix = PlayToClientPacketTeamsPrefix2Tmp + default: + var PlayToClientPacketTeamsPrefixTmp struct { + } + ret.Prefix = PlayToClientPacketTeamsPrefixTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsSuffix0Tmp string + PlayToClientPacketTeamsSuffix0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Suffix = PlayToClientPacketTeamsSuffix0Tmp + case 2: + var PlayToClientPacketTeamsSuffix2Tmp string + PlayToClientPacketTeamsSuffix2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Suffix = PlayToClientPacketTeamsSuffix2Tmp + default: + var PlayToClientPacketTeamsSuffixTmp struct { + } + ret.Suffix = PlayToClientPacketTeamsSuffixTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsFriendlyFire0Tmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTeamsFriendlyFire0Tmp) + if err != nil { + return + } + ret.FriendlyFire = PlayToClientPacketTeamsFriendlyFire0Tmp + case 2: + var PlayToClientPacketTeamsFriendlyFire2Tmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTeamsFriendlyFire2Tmp) + if err != nil { + return + } + ret.FriendlyFire = PlayToClientPacketTeamsFriendlyFire2Tmp + default: + var PlayToClientPacketTeamsFriendlyFireTmp struct { + } + ret.FriendlyFire = PlayToClientPacketTeamsFriendlyFireTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsNameTagVisibility0Tmp string + PlayToClientPacketTeamsNameTagVisibility0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.NameTagVisibility = PlayToClientPacketTeamsNameTagVisibility0Tmp + case 2: + var PlayToClientPacketTeamsNameTagVisibility2Tmp string + PlayToClientPacketTeamsNameTagVisibility2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.NameTagVisibility = PlayToClientPacketTeamsNameTagVisibility2Tmp + default: + var PlayToClientPacketTeamsNameTagVisibilityTmp struct { + } + ret.NameTagVisibility = PlayToClientPacketTeamsNameTagVisibilityTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsCollisionRule0Tmp string + PlayToClientPacketTeamsCollisionRule0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.CollisionRule = PlayToClientPacketTeamsCollisionRule0Tmp + case 2: + var PlayToClientPacketTeamsCollisionRule2Tmp string + PlayToClientPacketTeamsCollisionRule2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.CollisionRule = PlayToClientPacketTeamsCollisionRule2Tmp + default: + var PlayToClientPacketTeamsCollisionRuleTmp struct { + } + ret.CollisionRule = PlayToClientPacketTeamsCollisionRuleTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsColor0Tmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTeamsColor0Tmp) + if err != nil { + return + } + ret.Color = PlayToClientPacketTeamsColor0Tmp + case 2: + var PlayToClientPacketTeamsColor2Tmp int8 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTeamsColor2Tmp) + if err != nil { + return + } + ret.Color = PlayToClientPacketTeamsColor2Tmp + default: + var PlayToClientPacketTeamsColorTmp struct { + } + ret.Color = PlayToClientPacketTeamsColorTmp + } + switch ret.Mode { + case 0: + var PlayToClientPacketTeamsPlayers0Tmp []string + var lPlayToClientPacketTeamsPlayers0Tmp int32 + lPlayToClientPacketTeamsPlayers0Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketTeamsPlayers0Tmp = []string{} + for range lPlayToClientPacketTeamsPlayers0Tmp { + var PlayToClientPacketTeamsPlayers0TmpElement string + PlayToClientPacketTeamsPlayers0TmpElement, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketTeamsPlayers0Tmp = append(PlayToClientPacketTeamsPlayers0Tmp, PlayToClientPacketTeamsPlayers0TmpElement) + } + ret.Players = PlayToClientPacketTeamsPlayers0Tmp + case 3: + var PlayToClientPacketTeamsPlayers3Tmp []string + var lPlayToClientPacketTeamsPlayers3Tmp int32 + lPlayToClientPacketTeamsPlayers3Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketTeamsPlayers3Tmp = []string{} + for range lPlayToClientPacketTeamsPlayers3Tmp { + var PlayToClientPacketTeamsPlayers3TmpElement string + PlayToClientPacketTeamsPlayers3TmpElement, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketTeamsPlayers3Tmp = append(PlayToClientPacketTeamsPlayers3Tmp, PlayToClientPacketTeamsPlayers3TmpElement) + } + ret.Players = PlayToClientPacketTeamsPlayers3Tmp + case 4: + var PlayToClientPacketTeamsPlayers4Tmp []string + var lPlayToClientPacketTeamsPlayers4Tmp int32 + lPlayToClientPacketTeamsPlayers4Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketTeamsPlayers4Tmp = []string{} + for range lPlayToClientPacketTeamsPlayers4Tmp { + var PlayToClientPacketTeamsPlayers4TmpElement string + PlayToClientPacketTeamsPlayers4TmpElement, err = proto_base.DecodeString(r) + if err != nil { + return + } + PlayToClientPacketTeamsPlayers4Tmp = append(PlayToClientPacketTeamsPlayers4Tmp, PlayToClientPacketTeamsPlayers4TmpElement) + } + ret.Players = PlayToClientPacketTeamsPlayers4Tmp + default: + var PlayToClientPacketTeamsPlayersTmp struct { + } + ret.Players = PlayToClientPacketTeamsPlayersTmp + } + return +} +func (ret *PlayToClientPacketTeams) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Team) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Mode) + if err != nil { + return + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsName, ok := ret.Name.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsName) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsName, ok := ret.Name.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsName) + if err != nil { + return + } + default: + _, ok := ret.Name.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsPrefix, ok := ret.Prefix.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsPrefix) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsPrefix, ok := ret.Prefix.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsPrefix) + if err != nil { + return + } + default: + _, ok := ret.Prefix.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsSuffix, ok := ret.Suffix.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsSuffix) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsSuffix, ok := ret.Suffix.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsSuffix) + if err != nil { + return + } + default: + _, ok := ret.Suffix.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsFriendlyFire, ok := ret.FriendlyFire.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTeamsFriendlyFire) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsFriendlyFire, ok := ret.FriendlyFire.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTeamsFriendlyFire) + if err != nil { + return + } + default: + _, ok := ret.FriendlyFire.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsNameTagVisibility, ok := ret.NameTagVisibility.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsNameTagVisibility) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsNameTagVisibility, ok := ret.NameTagVisibility.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsNameTagVisibility) + if err != nil { + return + } + default: + _, ok := ret.NameTagVisibility.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsCollisionRule, ok := ret.CollisionRule.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsCollisionRule) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsCollisionRule, ok := ret.CollisionRule.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTeamsCollisionRule) + if err != nil { + return + } + default: + _, ok := ret.CollisionRule.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsColor, ok := ret.Color.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTeamsColor) + if err != nil { + return + } + case 2: + PlayToClientPacketTeamsColor, ok := ret.Color.(int8) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTeamsColor) + if err != nil { + return + } + default: + _, ok := ret.Color.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mode { + case 0: + PlayToClientPacketTeamsPlayers, ok := ret.Players.([]string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, int32(len(PlayToClientPacketTeamsPlayers))) + if err != nil { + return + } + for iPlayToClientPacketTeamsPlayers := range len(PlayToClientPacketTeamsPlayers) { + err = proto_base.EncodeString(w, PlayToClientPacketTeamsPlayers[iPlayToClientPacketTeamsPlayers]) + if err != nil { + return + } + } + case 3: + PlayToClientPacketTeamsPlayers, ok := ret.Players.([]string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, int32(len(PlayToClientPacketTeamsPlayers))) + if err != nil { + return + } + for iPlayToClientPacketTeamsPlayers := range len(PlayToClientPacketTeamsPlayers) { + err = proto_base.EncodeString(w, PlayToClientPacketTeamsPlayers[iPlayToClientPacketTeamsPlayers]) + if err != nil { + return + } + } + case 4: + PlayToClientPacketTeamsPlayers, ok := ret.Players.([]string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, int32(len(PlayToClientPacketTeamsPlayers))) + if err != nil { + return + } + for iPlayToClientPacketTeamsPlayers := range len(PlayToClientPacketTeamsPlayers) { + err = proto_base.EncodeString(w, PlayToClientPacketTeamsPlayers[iPlayToClientPacketTeamsPlayers]) + if err != nil { + return + } + } + default: + _, ok := ret.Players.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketTileEntityData struct { + Location Position + Action uint8 + NbtData nbt.Tag +} + +func (ret *PlayToClientPacketTileEntityData) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Action) + if err != nil { + return + } + err = ret.NbtData.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketTileEntityData) Encode(w io.Writer) (err error) { + PlayToClientPacketTileEntityDataLocationEncTmp := ret.Location + err = PlayToClientPacketTileEntityDataLocationEncTmp.Encode(w) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Action) + if err != nil { + return + } + PlayToClientPacketTileEntityDataNbtDataEncTmp := ret.NbtData + err = PlayToClientPacketTileEntityDataNbtDataEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToClientPacketTitle struct { + Action int32 + Text any + FadeIn any + Stay any + FadeOut any +} + +func (ret *PlayToClientPacketTitle) Decode(r io.ReadSeeker) (err error) { + ret.Action, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Action { + case 0: + var PlayToClientPacketTitleText0Tmp string + PlayToClientPacketTitleText0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Text = PlayToClientPacketTitleText0Tmp + case 1: + var PlayToClientPacketTitleText1Tmp string + PlayToClientPacketTitleText1Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Text = PlayToClientPacketTitleText1Tmp + case 2: + var PlayToClientPacketTitleText2Tmp string + PlayToClientPacketTitleText2Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Text = PlayToClientPacketTitleText2Tmp + default: + var PlayToClientPacketTitleTextTmp struct { + } + ret.Text = PlayToClientPacketTitleTextTmp + } + switch ret.Action { + case 3: + var PlayToClientPacketTitleFadeIn3Tmp int32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTitleFadeIn3Tmp) + if err != nil { + return + } + ret.FadeIn = PlayToClientPacketTitleFadeIn3Tmp + default: + var PlayToClientPacketTitleFadeInTmp struct { + } + ret.FadeIn = PlayToClientPacketTitleFadeInTmp + } + switch ret.Action { + case 3: + var PlayToClientPacketTitleStay3Tmp int32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTitleStay3Tmp) + if err != nil { + return + } + ret.Stay = PlayToClientPacketTitleStay3Tmp + default: + var PlayToClientPacketTitleStayTmp struct { + } + ret.Stay = PlayToClientPacketTitleStayTmp + } + switch ret.Action { + case 3: + var PlayToClientPacketTitleFadeOut3Tmp int32 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketTitleFadeOut3Tmp) + if err != nil { + return + } + ret.FadeOut = PlayToClientPacketTitleFadeOut3Tmp + default: + var PlayToClientPacketTitleFadeOutTmp struct { + } + ret.FadeOut = PlayToClientPacketTitleFadeOutTmp + } + return +} +func (ret *PlayToClientPacketTitle) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Action) + if err != nil { + return + } + switch ret.Action { + case 0: + PlayToClientPacketTitleText, ok := ret.Text.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTitleText) + if err != nil { + return + } + case 1: + PlayToClientPacketTitleText, ok := ret.Text.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTitleText) + if err != nil { + return + } + case 2: + PlayToClientPacketTitleText, ok := ret.Text.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToClientPacketTitleText) + if err != nil { + return + } + default: + _, ok := ret.Text.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 3: + PlayToClientPacketTitleFadeIn, ok := ret.FadeIn.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTitleFadeIn) + if err != nil { + return + } + default: + _, ok := ret.FadeIn.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 3: + PlayToClientPacketTitleStay, ok := ret.Stay.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTitleStay) + if err != nil { + return + } + default: + _, ok := ret.Stay.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 3: + PlayToClientPacketTitleFadeOut, ok := ret.FadeOut.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketTitleFadeOut) + if err != nil { + return + } + default: + _, ok := ret.FadeOut.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketTransaction struct { + WindowId int8 + Action int16 + Accepted bool +} + +func (ret *PlayToClientPacketTransaction) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Action) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Accepted) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketTransaction) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Action) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Accepted) + if err != nil { + return + } + return +} + +type PlayToClientPacketUnloadChunk struct { + ChunkX int32 + ChunkZ int32 +} + +func (ret *PlayToClientPacketUnloadChunk) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.ChunkX) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ChunkZ) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketUnloadChunk) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.ChunkX) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ChunkZ) + if err != nil { + return + } + return +} + +type PlayToClientPacketUnlockRecipes struct { + Action int32 + CraftingBookOpen bool + FilteringCraftable bool + Recipes1 []int32 + Recipes2 any +} + +func (ret *PlayToClientPacketUnlockRecipes) Decode(r io.ReadSeeker) (err error) { + ret.Action, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.CraftingBookOpen) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.FilteringCraftable) + if err != nil { + return + } + var lPlayToClientPacketUnlockRecipesRecipes1 int32 + lPlayToClientPacketUnlockRecipesRecipes1, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Recipes1 = []int32{} + for range lPlayToClientPacketUnlockRecipesRecipes1 { + var PlayToClientPacketUnlockRecipesRecipes1Element int32 + PlayToClientPacketUnlockRecipesRecipes1Element, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Recipes1 = append(ret.Recipes1, PlayToClientPacketUnlockRecipesRecipes1Element) + } + switch ret.Action { + case 0: + var PlayToClientPacketUnlockRecipesRecipes20Tmp []int32 + var lPlayToClientPacketUnlockRecipesRecipes20Tmp int32 + lPlayToClientPacketUnlockRecipesRecipes20Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketUnlockRecipesRecipes20Tmp = []int32{} + for range lPlayToClientPacketUnlockRecipesRecipes20Tmp { + var PlayToClientPacketUnlockRecipesRecipes20TmpElement int32 + PlayToClientPacketUnlockRecipesRecipes20TmpElement, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + PlayToClientPacketUnlockRecipesRecipes20Tmp = append(PlayToClientPacketUnlockRecipesRecipes20Tmp, PlayToClientPacketUnlockRecipesRecipes20TmpElement) + } + ret.Recipes2 = PlayToClientPacketUnlockRecipesRecipes20Tmp + default: + var PlayToClientPacketUnlockRecipesRecipes2Tmp struct { + } + ret.Recipes2 = PlayToClientPacketUnlockRecipesRecipes2Tmp + } + return +} +func (ret *PlayToClientPacketUnlockRecipes) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Action) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.CraftingBookOpen) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.FilteringCraftable) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, int32(len(ret.Recipes1))) + if err != nil { + return + } + for iPlayToClientPacketUnlockRecipesRecipes1 := range len(ret.Recipes1) { + err = proto_base.EncodeVarInt(w, ret.Recipes1[iPlayToClientPacketUnlockRecipesRecipes1]) + if err != nil { + return + } + } + switch ret.Action { + case 0: + PlayToClientPacketUnlockRecipesRecipes2, ok := ret.Recipes2.([]int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, int32(len(PlayToClientPacketUnlockRecipesRecipes2))) + if err != nil { + return + } + for iPlayToClientPacketUnlockRecipesRecipes2 := range len(PlayToClientPacketUnlockRecipesRecipes2) { + err = proto_base.EncodeVarInt(w, PlayToClientPacketUnlockRecipesRecipes2[iPlayToClientPacketUnlockRecipesRecipes2]) + if err != nil { + return + } + } + default: + _, ok := ret.Recipes2.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketUpdateHealth struct { + Health float32 + Food int32 + FoodSaturation float32 +} + +func (ret *PlayToClientPacketUpdateHealth) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Health) + if err != nil { + return + } + ret.Food, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.FoodSaturation) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketUpdateHealth) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Health) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Food) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.FoodSaturation) + if err != nil { + return + } + return +} + +type PlayToClientPacketUpdateTime struct { + Age int64 + Time int64 +} + +func (ret *PlayToClientPacketUpdateTime) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Age) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Time) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketUpdateTime) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Age) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Time) + if err != nil { + return + } + return +} + +type PlayToClientPacketVehicleMove struct { + X float64 + Y float64 + Z float64 + Yaw float32 + Pitch float32 +} + +func (ret *PlayToClientPacketVehicleMove) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketVehicleMove) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + return +} + +type PlayToClientPacketWindowItems struct { + WindowId uint8 + Items []Slot +} + +func (ret *PlayToClientPacketWindowItems) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + var lPlayToClientPacketWindowItemsItems int16 + err = binary.Read(r, binary.BigEndian, &lPlayToClientPacketWindowItemsItems) + if err != nil { + return + } + ret.Items = []Slot{} + for range lPlayToClientPacketWindowItemsItems { + var PlayToClientPacketWindowItemsItemsElement Slot + err = PlayToClientPacketWindowItemsItemsElement.Decode(r) + if err != nil { + return + } + ret.Items = append(ret.Items, PlayToClientPacketWindowItemsItemsElement) + } + return +} +func (ret *PlayToClientPacketWindowItems) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, int16(len(ret.Items))) + if err != nil { + return + } + for iPlayToClientPacketWindowItemsItems := range len(ret.Items) { + PlayToClientPacketWindowItemsItemsInnerEncTmp := ret.Items[iPlayToClientPacketWindowItemsItems] + err = PlayToClientPacketWindowItemsItemsInnerEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type PlayToClientPacketWorldBorder struct { + Action int32 + Radius any + X any + Z any + OldRadius any + NewRadius any + Speed any + PortalBoundary any + WarningTime any + WarningBlocks any +} + +func (ret *PlayToClientPacketWorldBorder) Decode(r io.ReadSeeker) (err error) { + ret.Action, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Action { + case 0: + var PlayToClientPacketWorldBorderRadius0Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderRadius0Tmp) + if err != nil { + return + } + ret.Radius = PlayToClientPacketWorldBorderRadius0Tmp + default: + var PlayToClientPacketWorldBorderRadiusTmp struct { + } + ret.Radius = PlayToClientPacketWorldBorderRadiusTmp + } + switch ret.Action { + case 2: + var PlayToClientPacketWorldBorderX2Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderX2Tmp) + if err != nil { + return + } + ret.X = PlayToClientPacketWorldBorderX2Tmp + case 3: + var PlayToClientPacketWorldBorderX3Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderX3Tmp) + if err != nil { + return + } + ret.X = PlayToClientPacketWorldBorderX3Tmp + default: + var PlayToClientPacketWorldBorderXTmp struct { + } + ret.X = PlayToClientPacketWorldBorderXTmp + } + switch ret.Action { + case 2: + var PlayToClientPacketWorldBorderZ2Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderZ2Tmp) + if err != nil { + return + } + ret.Z = PlayToClientPacketWorldBorderZ2Tmp + case 3: + var PlayToClientPacketWorldBorderZ3Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderZ3Tmp) + if err != nil { + return + } + ret.Z = PlayToClientPacketWorldBorderZ3Tmp + default: + var PlayToClientPacketWorldBorderZTmp struct { + } + ret.Z = PlayToClientPacketWorldBorderZTmp + } + switch ret.Action { + case 1: + var PlayToClientPacketWorldBorderOldRadius1Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderOldRadius1Tmp) + if err != nil { + return + } + ret.OldRadius = PlayToClientPacketWorldBorderOldRadius1Tmp + case 3: + var PlayToClientPacketWorldBorderOldRadius3Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderOldRadius3Tmp) + if err != nil { + return + } + ret.OldRadius = PlayToClientPacketWorldBorderOldRadius3Tmp + default: + var PlayToClientPacketWorldBorderOldRadiusTmp struct { + } + ret.OldRadius = PlayToClientPacketWorldBorderOldRadiusTmp + } + switch ret.Action { + case 1: + var PlayToClientPacketWorldBorderNewRadius1Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderNewRadius1Tmp) + if err != nil { + return + } + ret.NewRadius = PlayToClientPacketWorldBorderNewRadius1Tmp + case 3: + var PlayToClientPacketWorldBorderNewRadius3Tmp float64 + err = binary.Read(r, binary.BigEndian, &PlayToClientPacketWorldBorderNewRadius3Tmp) + if err != nil { + return + } + ret.NewRadius = PlayToClientPacketWorldBorderNewRadius3Tmp + default: + var PlayToClientPacketWorldBorderNewRadiusTmp struct { + } + ret.NewRadius = PlayToClientPacketWorldBorderNewRadiusTmp + } + switch ret.Action { + case 1: + var PlayToClientPacketWorldBorderSpeed1Tmp int64 + PlayToClientPacketWorldBorderSpeed1Tmp, err = proto_base.DecodeVarLong(r) + if err != nil { + return + } + ret.Speed = PlayToClientPacketWorldBorderSpeed1Tmp + case 3: + var PlayToClientPacketWorldBorderSpeed3Tmp int64 + PlayToClientPacketWorldBorderSpeed3Tmp, err = proto_base.DecodeVarLong(r) + if err != nil { + return + } + ret.Speed = PlayToClientPacketWorldBorderSpeed3Tmp + default: + var PlayToClientPacketWorldBorderSpeedTmp struct { + } + ret.Speed = PlayToClientPacketWorldBorderSpeedTmp + } + switch ret.Action { + case 3: + var PlayToClientPacketWorldBorderPortalBoundary3Tmp int32 + PlayToClientPacketWorldBorderPortalBoundary3Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.PortalBoundary = PlayToClientPacketWorldBorderPortalBoundary3Tmp + default: + var PlayToClientPacketWorldBorderPortalBoundaryTmp struct { + } + ret.PortalBoundary = PlayToClientPacketWorldBorderPortalBoundaryTmp + } + switch ret.Action { + case 3: + var PlayToClientPacketWorldBorderWarningTime3Tmp int32 + PlayToClientPacketWorldBorderWarningTime3Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.WarningTime = PlayToClientPacketWorldBorderWarningTime3Tmp + case 4: + var PlayToClientPacketWorldBorderWarningTime4Tmp int32 + PlayToClientPacketWorldBorderWarningTime4Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.WarningTime = PlayToClientPacketWorldBorderWarningTime4Tmp + default: + var PlayToClientPacketWorldBorderWarningTimeTmp struct { + } + ret.WarningTime = PlayToClientPacketWorldBorderWarningTimeTmp + } + switch ret.Action { + case 3: + var PlayToClientPacketWorldBorderWarningBlocks3Tmp int32 + PlayToClientPacketWorldBorderWarningBlocks3Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.WarningBlocks = PlayToClientPacketWorldBorderWarningBlocks3Tmp + case 5: + var PlayToClientPacketWorldBorderWarningBlocks5Tmp int32 + PlayToClientPacketWorldBorderWarningBlocks5Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.WarningBlocks = PlayToClientPacketWorldBorderWarningBlocks5Tmp + default: + var PlayToClientPacketWorldBorderWarningBlocksTmp struct { + } + ret.WarningBlocks = PlayToClientPacketWorldBorderWarningBlocksTmp + } + return +} +func (ret *PlayToClientPacketWorldBorder) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Action) + if err != nil { + return + } + switch ret.Action { + case 0: + PlayToClientPacketWorldBorderRadius, ok := ret.Radius.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderRadius) + if err != nil { + return + } + default: + _, ok := ret.Radius.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 2: + PlayToClientPacketWorldBorderX, ok := ret.X.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderX) + if err != nil { + return + } + case 3: + PlayToClientPacketWorldBorderX, ok := ret.X.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderX) + if err != nil { + return + } + default: + _, ok := ret.X.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 2: + PlayToClientPacketWorldBorderZ, ok := ret.Z.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderZ) + if err != nil { + return + } + case 3: + PlayToClientPacketWorldBorderZ, ok := ret.Z.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderZ) + if err != nil { + return + } + default: + _, ok := ret.Z.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 1: + PlayToClientPacketWorldBorderOldRadius, ok := ret.OldRadius.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderOldRadius) + if err != nil { + return + } + case 3: + PlayToClientPacketWorldBorderOldRadius, ok := ret.OldRadius.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderOldRadius) + if err != nil { + return + } + default: + _, ok := ret.OldRadius.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 1: + PlayToClientPacketWorldBorderNewRadius, ok := ret.NewRadius.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderNewRadius) + if err != nil { + return + } + case 3: + PlayToClientPacketWorldBorderNewRadius, ok := ret.NewRadius.(float64) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToClientPacketWorldBorderNewRadius) + if err != nil { + return + } + default: + _, ok := ret.NewRadius.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 1: + PlayToClientPacketWorldBorderSpeed, ok := ret.Speed.(int64) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarLong(w, PlayToClientPacketWorldBorderSpeed) + if err != nil { + return + } + case 3: + PlayToClientPacketWorldBorderSpeed, ok := ret.Speed.(int64) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarLong(w, PlayToClientPacketWorldBorderSpeed) + if err != nil { + return + } + default: + _, ok := ret.Speed.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 3: + PlayToClientPacketWorldBorderPortalBoundary, ok := ret.PortalBoundary.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketWorldBorderPortalBoundary) + if err != nil { + return + } + default: + _, ok := ret.PortalBoundary.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 3: + PlayToClientPacketWorldBorderWarningTime, ok := ret.WarningTime.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketWorldBorderWarningTime) + if err != nil { + return + } + case 4: + PlayToClientPacketWorldBorderWarningTime, ok := ret.WarningTime.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketWorldBorderWarningTime) + if err != nil { + return + } + default: + _, ok := ret.WarningTime.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Action { + case 3: + PlayToClientPacketWorldBorderWarningBlocks, ok := ret.WarningBlocks.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketWorldBorderWarningBlocks) + if err != nil { + return + } + case 5: + PlayToClientPacketWorldBorderWarningBlocks, ok := ret.WarningBlocks.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToClientPacketWorldBorderWarningBlocks) + if err != nil { + return + } + default: + _, ok := ret.WarningBlocks.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToClientPacketWorldEvent struct { + EffectId int32 + Location Position + Data int32 + Global bool +} + +func (ret *PlayToClientPacketWorldEvent) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.EffectId) + if err != nil { + return + } + err = ret.Location.Decode(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Data) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Global) + if err != nil { + return + } + return +} +func (ret *PlayToClientPacketWorldEvent) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.EffectId) + if err != nil { + return + } + PlayToClientPacketWorldEventLocationEncTmp := ret.Location + err = PlayToClientPacketWorldEventLocationEncTmp.Encode(w) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Data) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Global) + if err != nil { + return + } + return +} + +type PlayToClientPacketWorldParticles struct { + ParticleId int32 + LongDistance bool + X float32 + Y float32 + Z float32 + OffsetX float32 + OffsetY float32 + OffsetZ float32 + ParticleData float32 + Particles int32 + Data any +} + +func (ret *PlayToClientPacketWorldParticles) Decode(r io.ReadSeeker) (err error) { + err = proto_base.ToDoError + return +} +func (ret *PlayToClientPacketWorldParticles) Encode(w io.Writer) (err error) { + err = proto_base.ToDoError + return +} + +type PlayToServerPacket struct { + Name string + Params any +} + +var PlayToServerPacketNameMap = map[int32]string{0x00: "teleport_confirm", 0x01: "tab_complete", 0x02: "chat", 0x03: "client_command", 0x04: "settings", 0x05: "transaction", 0x06: "enchant_item", 0x07: "window_click", 0x08: "close_window", 0x09: "custom_payload", 0x0a: "use_entity", 0x0b: "keep_alive", 0x0c: "flying", 0x0d: "position", 0x0e: "position_look", 0x0f: "look", 0x10: "vehicle_move", 0x11: "steer_boat", 0x12: "craft_recipe_request", 0x13: "abilities", 0x14: "block_dig", 0x15: "entity_action", 0x16: "steer_vehicle", 0x17: "crafting_book_data", 0x18: "resource_pack_receive", 0x19: "advancement_tab", 0x1a: "held_item_slot", 0x1b: "set_creative_slot", 0x1c: "update_sign", 0x1d: "arm_animation", 0x1e: "spectate", 0x1f: "block_place", 0x20: "use_item"} + +func (ret *PlayToServerPacket) Decode(r io.ReadSeeker) (err error) { + var PlayToServerPacketNameKey int32 + PlayToServerPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(PlayToServerPacketNameMap, PlayToServerPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "abilities": + var PlayToServerPacketParamsAbilitiesTmp PlayToServerPacketAbilities + err = PlayToServerPacketParamsAbilitiesTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsAbilitiesTmp + case "advancement_tab": + var PlayToServerPacketParamsAdvancementTabTmp PlayToServerPacketAdvancementTab + err = PlayToServerPacketParamsAdvancementTabTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsAdvancementTabTmp + case "arm_animation": + var PlayToServerPacketParamsArmAnimationTmp PlayToServerPacketArmAnimation + err = PlayToServerPacketParamsArmAnimationTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsArmAnimationTmp + case "block_dig": + var PlayToServerPacketParamsBlockDigTmp PlayToServerPacketBlockDig + err = PlayToServerPacketParamsBlockDigTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsBlockDigTmp + case "block_place": + var PlayToServerPacketParamsBlockPlaceTmp PlayToServerPacketBlockPlace + err = PlayToServerPacketParamsBlockPlaceTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsBlockPlaceTmp + case "chat": + var PlayToServerPacketParamsChatTmp PlayToServerPacketChat + err = PlayToServerPacketParamsChatTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsChatTmp + case "client_command": + var PlayToServerPacketParamsClientCommandTmp PlayToServerPacketClientCommand + err = PlayToServerPacketParamsClientCommandTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsClientCommandTmp + case "close_window": + var PlayToServerPacketParamsCloseWindowTmp PlayToServerPacketCloseWindow + err = PlayToServerPacketParamsCloseWindowTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsCloseWindowTmp + case "craft_recipe_request": + var PlayToServerPacketParamsCraftRecipeRequestTmp PlayToServerPacketCraftRecipeRequest + err = PlayToServerPacketParamsCraftRecipeRequestTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsCraftRecipeRequestTmp + case "crafting_book_data": + var PlayToServerPacketParamsCraftingBookDataTmp PlayToServerPacketCraftingBookData + err = PlayToServerPacketParamsCraftingBookDataTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsCraftingBookDataTmp + case "custom_payload": + var PlayToServerPacketParamsCustomPayloadTmp PlayToServerPacketCustomPayload + err = PlayToServerPacketParamsCustomPayloadTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsCustomPayloadTmp + case "enchant_item": + var PlayToServerPacketParamsEnchantItemTmp PlayToServerPacketEnchantItem + err = PlayToServerPacketParamsEnchantItemTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsEnchantItemTmp + case "entity_action": + var PlayToServerPacketParamsEntityActionTmp PlayToServerPacketEntityAction + err = PlayToServerPacketParamsEntityActionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsEntityActionTmp + case "flying": + var PlayToServerPacketParamsFlyingTmp PlayToServerPacketFlying + err = PlayToServerPacketParamsFlyingTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsFlyingTmp + case "held_item_slot": + var PlayToServerPacketParamsHeldItemSlotTmp PlayToServerPacketHeldItemSlot + err = PlayToServerPacketParamsHeldItemSlotTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsHeldItemSlotTmp + case "keep_alive": + var PlayToServerPacketParamsKeepAliveTmp PlayToServerPacketKeepAlive + err = PlayToServerPacketParamsKeepAliveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsKeepAliveTmp + case "look": + var PlayToServerPacketParamsLookTmp PlayToServerPacketLook + err = PlayToServerPacketParamsLookTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsLookTmp + case "position": + var PlayToServerPacketParamsPositionTmp PlayToServerPacketPosition + err = PlayToServerPacketParamsPositionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsPositionTmp + case "position_look": + var PlayToServerPacketParamsPositionLookTmp PlayToServerPacketPositionLook + err = PlayToServerPacketParamsPositionLookTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsPositionLookTmp + case "resource_pack_receive": + var PlayToServerPacketParamsResourcePackReceiveTmp PlayToServerPacketResourcePackReceive + err = PlayToServerPacketParamsResourcePackReceiveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsResourcePackReceiveTmp + case "set_creative_slot": + var PlayToServerPacketParamsSetCreativeSlotTmp PlayToServerPacketSetCreativeSlot + err = PlayToServerPacketParamsSetCreativeSlotTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsSetCreativeSlotTmp + case "settings": + var PlayToServerPacketParamsSettingsTmp PlayToServerPacketSettings + err = PlayToServerPacketParamsSettingsTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsSettingsTmp + case "spectate": + var PlayToServerPacketParamsSpectateTmp PlayToServerPacketSpectate + err = PlayToServerPacketParamsSpectateTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsSpectateTmp + case "steer_boat": + var PlayToServerPacketParamsSteerBoatTmp PlayToServerPacketSteerBoat + err = PlayToServerPacketParamsSteerBoatTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsSteerBoatTmp + case "steer_vehicle": + var PlayToServerPacketParamsSteerVehicleTmp PlayToServerPacketSteerVehicle + err = PlayToServerPacketParamsSteerVehicleTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsSteerVehicleTmp + case "tab_complete": + var PlayToServerPacketParamsTabCompleteTmp PlayToServerPacketTabComplete + err = PlayToServerPacketParamsTabCompleteTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsTabCompleteTmp + case "teleport_confirm": + var PlayToServerPacketParamsTeleportConfirmTmp PlayToServerPacketTeleportConfirm + err = PlayToServerPacketParamsTeleportConfirmTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsTeleportConfirmTmp + case "transaction": + var PlayToServerPacketParamsTransactionTmp PlayToServerPacketTransaction + err = PlayToServerPacketParamsTransactionTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsTransactionTmp + case "update_sign": + var PlayToServerPacketParamsUpdateSignTmp PlayToServerPacketUpdateSign + err = PlayToServerPacketParamsUpdateSignTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsUpdateSignTmp + case "use_entity": + var PlayToServerPacketParamsUseEntityTmp PlayToServerPacketUseEntity + err = PlayToServerPacketParamsUseEntityTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsUseEntityTmp + case "use_item": + var PlayToServerPacketParamsUseItemTmp PlayToServerPacketUseItem + err = PlayToServerPacketParamsUseItemTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsUseItemTmp + case "vehicle_move": + var PlayToServerPacketParamsVehicleMoveTmp PlayToServerPacketVehicleMove + err = PlayToServerPacketParamsVehicleMoveTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsVehicleMoveTmp + case "window_click": + var PlayToServerPacketParamsWindowClickTmp PlayToServerPacketWindowClick + err = PlayToServerPacketParamsWindowClickTmp.Decode(r) + if err != nil { + return + } + ret.Params = PlayToServerPacketParamsWindowClickTmp + } + return +} + +var PlayToServerPacketNameReverseMap = map[string]int32{"teleport_confirm": 0x00, "tab_complete": 0x01, "chat": 0x02, "client_command": 0x03, "settings": 0x04, "transaction": 0x05, "enchant_item": 0x06, "window_click": 0x07, "close_window": 0x08, "custom_payload": 0x09, "use_entity": 0x0a, "keep_alive": 0x0b, "flying": 0x0c, "position": 0x0d, "position_look": 0x0e, "look": 0x0f, "vehicle_move": 0x10, "steer_boat": 0x11, "craft_recipe_request": 0x12, "abilities": 0x13, "block_dig": 0x14, "entity_action": 0x15, "steer_vehicle": 0x16, "crafting_book_data": 0x17, "resource_pack_receive": 0x18, "advancement_tab": 0x19, "held_item_slot": 0x1a, "set_creative_slot": 0x1b, "update_sign": 0x1c, "arm_animation": 0x1d, "spectate": 0x1e, "block_place": 0x1f, "use_item": 0x20} + +func (ret *PlayToServerPacket) Encode(w io.Writer) (err error) { + var vPlayToServerPacketName int32 + vPlayToServerPacketName, err = proto_base.ErroringIndex(PlayToServerPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vPlayToServerPacketName) + if err != nil { + return + } + switch ret.Name { + case "abilities": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketAbilities) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "advancement_tab": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketAdvancementTab) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "arm_animation": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketArmAnimation) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "block_dig": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketBlockDig) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "block_place": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketBlockPlace) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "chat": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketChat) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "client_command": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketClientCommand) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "close_window": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketCloseWindow) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "craft_recipe_request": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketCraftRecipeRequest) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "crafting_book_data": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketCraftingBookData) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "custom_payload": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketCustomPayload) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "enchant_item": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketEnchantItem) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "entity_action": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketEntityAction) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "flying": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketFlying) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "held_item_slot": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketHeldItemSlot) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "keep_alive": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketKeepAlive) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "look": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketLook) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "position": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketPosition) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "position_look": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketPositionLook) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "resource_pack_receive": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketResourcePackReceive) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "set_creative_slot": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketSetCreativeSlot) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "settings": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketSettings) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "spectate": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketSpectate) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "steer_boat": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketSteerBoat) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "steer_vehicle": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketSteerVehicle) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "tab_complete": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketTabComplete) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "teleport_confirm": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketTeleportConfirm) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "transaction": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketTransaction) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "update_sign": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketUpdateSign) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "use_entity": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketUseEntity) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "use_item": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketUseItem) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "vehicle_move": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketVehicleMove) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "window_click": + PlayToServerPacketParams, ok := ret.Params.(PlayToServerPacketWindowClick) + if !ok { + err = proto_base.BadTypeError + return + } + PlayToServerPacketParamsEncTmp := PlayToServerPacketParams + err = PlayToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type PlayToServerPacketAbilities struct { + Flags int8 + FlyingSpeed float32 + WalkingSpeed float32 +} + +func (ret *PlayToServerPacketAbilities) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Flags) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.FlyingSpeed) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.WalkingSpeed) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketAbilities) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Flags) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.FlyingSpeed) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.WalkingSpeed) + if err != nil { + return + } + return +} + +type PlayToServerPacketAdvancementTab struct { + Action int32 + TabId any +} + +func (ret *PlayToServerPacketAdvancementTab) Decode(r io.ReadSeeker) (err error) { + ret.Action, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Action { + case 0: + var PlayToServerPacketAdvancementTabTabId0Tmp string + PlayToServerPacketAdvancementTabTabId0Tmp, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.TabId = PlayToServerPacketAdvancementTabTabId0Tmp + case 1: + var PlayToServerPacketAdvancementTabTabId1Tmp struct { + } + ret.TabId = PlayToServerPacketAdvancementTabTabId1Tmp + } + return +} +func (ret *PlayToServerPacketAdvancementTab) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Action) + if err != nil { + return + } + switch ret.Action { + case 0: + PlayToServerPacketAdvancementTabTabId, ok := ret.TabId.(string) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeString(w, PlayToServerPacketAdvancementTabTabId) + if err != nil { + return + } + case 1: + _, ok := ret.TabId.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToServerPacketArmAnimation struct { + Hand int32 +} + +func (ret *PlayToServerPacketArmAnimation) Decode(r io.ReadSeeker) (err error) { + ret.Hand, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketArmAnimation) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Hand) + if err != nil { + return + } + return +} + +type PlayToServerPacketBlockDig struct { + Status int32 + Location Position + Face int8 +} + +func (ret *PlayToServerPacketBlockDig) Decode(r io.ReadSeeker) (err error) { + ret.Status, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = ret.Location.Decode(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Face) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketBlockDig) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Status) + if err != nil { + return + } + PlayToServerPacketBlockDigLocationEncTmp := ret.Location + err = PlayToServerPacketBlockDigLocationEncTmp.Encode(w) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Face) + if err != nil { + return + } + return +} + +type PlayToServerPacketBlockPlace struct { + Location Position + Direction int32 + Hand int32 + CursorX float32 + CursorY float32 + CursorZ float32 +} + +func (ret *PlayToServerPacketBlockPlace) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + ret.Direction, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Hand, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.CursorX) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.CursorY) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.CursorZ) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketBlockPlace) Encode(w io.Writer) (err error) { + PlayToServerPacketBlockPlaceLocationEncTmp := ret.Location + err = PlayToServerPacketBlockPlaceLocationEncTmp.Encode(w) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Direction) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Hand) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.CursorX) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.CursorY) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.CursorZ) + if err != nil { + return + } + return +} + +type PlayToServerPacketChat struct { + Message string +} + +func (ret *PlayToServerPacketChat) Decode(r io.ReadSeeker) (err error) { + ret.Message, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketChat) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Message) + if err != nil { + return + } + return +} + +type PlayToServerPacketClientCommand struct { + ActionId int32 +} + +func (ret *PlayToServerPacketClientCommand) Decode(r io.ReadSeeker) (err error) { + ret.ActionId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketClientCommand) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.ActionId) + if err != nil { + return + } + return +} + +type PlayToServerPacketCloseWindow struct { + WindowId uint8 +} + +func (ret *PlayToServerPacketCloseWindow) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketCloseWindow) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + return +} + +type PlayToServerPacketCraftRecipeRequest struct { + WindowId int8 + Recipe int32 + MakeAll bool +} + +func (ret *PlayToServerPacketCraftRecipeRequest) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + ret.Recipe, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.MakeAll) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketCraftRecipeRequest) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Recipe) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.MakeAll) + if err != nil { + return + } + return +} + +type PlayToServerPacketCraftingBookData struct { + Type int32 + Anon any +} + +func (ret *PlayToServerPacketCraftingBookData) Decode(r io.ReadSeeker) (err error) { + ret.Type, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Type { + case 0: + var PlayToServerPacketCraftingBookDataAnon0Tmp struct { + DisplayedRecipe int32 + } + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketCraftingBookDataAnon0Tmp.DisplayedRecipe) + if err != nil { + return + } + ret.Anon = PlayToServerPacketCraftingBookDataAnon0Tmp + case 1: + var PlayToServerPacketCraftingBookDataAnon1Tmp struct { + CraftingBookOpen bool + CraftingFilter bool + } + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketCraftingBookDataAnon1Tmp.CraftingBookOpen) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketCraftingBookDataAnon1Tmp.CraftingFilter) + if err != nil { + return + } + ret.Anon = PlayToServerPacketCraftingBookDataAnon1Tmp + } + return +} +func (ret *PlayToServerPacketCraftingBookData) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Type) + if err != nil { + return + } + switch ret.Type { + case 0: + PlayToServerPacketCraftingBookDataAnon, ok := ret.Anon.(struct { + DisplayedRecipe int32 + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToServerPacketCraftingBookDataAnon.DisplayedRecipe) + if err != nil { + return + } + case 1: + PlayToServerPacketCraftingBookDataAnon, ok := ret.Anon.(struct { + CraftingBookOpen bool + CraftingFilter bool + }) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToServerPacketCraftingBookDataAnon.CraftingBookOpen) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, PlayToServerPacketCraftingBookDataAnon.CraftingFilter) + if err != nil { + return + } + } + return +} + +type PlayToServerPacketCustomPayload struct { + Channel string + Data proto_base.RestBuffer +} + +func (ret *PlayToServerPacketCustomPayload) Decode(r io.ReadSeeker) (err error) { + ret.Channel, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = ret.Data.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketCustomPayload) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Channel) + if err != nil { + return + } + PlayToServerPacketCustomPayloadDataEncTmp := ret.Data + err = PlayToServerPacketCustomPayloadDataEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToServerPacketEnchantItem struct { + WindowId int8 + Enchantment int8 +} + +func (ret *PlayToServerPacketEnchantItem) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Enchantment) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketEnchantItem) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Enchantment) + if err != nil { + return + } + return +} + +type PlayToServerPacketEntityAction struct { + EntityId int32 + ActionId int32 + JumpBoost int32 +} + +func (ret *PlayToServerPacketEntityAction) Decode(r io.ReadSeeker) (err error) { + ret.EntityId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.ActionId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.JumpBoost, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketEntityAction) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.EntityId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.ActionId) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.JumpBoost) + if err != nil { + return + } + return +} + +type PlayToServerPacketFlying struct { + OnGround bool +} + +func (ret *PlayToServerPacketFlying) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketFlying) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToServerPacketHeldItemSlot struct { + SlotId int16 +} + +func (ret *PlayToServerPacketHeldItemSlot) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.SlotId) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketHeldItemSlot) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.SlotId) + if err != nil { + return + } + return +} + +type PlayToServerPacketKeepAlive struct { + KeepAliveId int64 +} + +func (ret *PlayToServerPacketKeepAlive) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.KeepAliveId) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketKeepAlive) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.KeepAliveId) + if err != nil { + return + } + return +} + +type PlayToServerPacketLook struct { + Yaw float32 + Pitch float32 + OnGround bool +} + +func (ret *PlayToServerPacketLook) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketLook) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToServerPacketPosition struct { + X float64 + Y float64 + Z float64 + OnGround bool +} + +func (ret *PlayToServerPacketPosition) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketPosition) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToServerPacketPositionLook struct { + X float64 + Y float64 + Z float64 + Yaw float32 + Pitch float32 + OnGround bool +} + +func (ret *PlayToServerPacketPositionLook) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.OnGround) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketPositionLook) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.OnGround) + if err != nil { + return + } + return +} + +type PlayToServerPacketResourcePackReceive struct { + Result int32 +} + +func (ret *PlayToServerPacketResourcePackReceive) Decode(r io.ReadSeeker) (err error) { + ret.Result, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketResourcePackReceive) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Result) + if err != nil { + return + } + return +} + +type PlayToServerPacketSetCreativeSlot struct { + Slot int16 + Item Slot +} + +func (ret *PlayToServerPacketSetCreativeSlot) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Slot) + if err != nil { + return + } + err = ret.Item.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketSetCreativeSlot) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Slot) + if err != nil { + return + } + PlayToServerPacketSetCreativeSlotItemEncTmp := ret.Item + err = PlayToServerPacketSetCreativeSlotItemEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type PlayToServerPacketSettings struct { + Locale string + ViewDistance int8 + ChatFlags int32 + ChatColors bool + SkinParts uint8 + MainHand int32 +} + +func (ret *PlayToServerPacketSettings) Decode(r io.ReadSeeker) (err error) { + ret.Locale, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ViewDistance) + if err != nil { + return + } + ret.ChatFlags, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.ChatColors) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.SkinParts) + if err != nil { + return + } + ret.MainHand, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketSettings) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Locale) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ViewDistance) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.ChatFlags) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.ChatColors) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.SkinParts) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.MainHand) + if err != nil { + return + } + return +} + +type PlayToServerPacketSpectate struct { + Target uuid.UUID +} + +func (ret *PlayToServerPacketSpectate) Decode(r io.ReadSeeker) (err error) { + _, err = io.ReadFull(r, ret.Target[:]) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketSpectate) Encode(w io.Writer) (err error) { + _, err = w.Write(ret.Target[:]) + if err != nil { + return + } + return +} + +type PlayToServerPacketSteerBoat struct { + LeftPaddle bool + RightPaddle bool +} + +func (ret *PlayToServerPacketSteerBoat) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.LeftPaddle) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.RightPaddle) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketSteerBoat) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.LeftPaddle) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.RightPaddle) + if err != nil { + return + } + return +} + +type PlayToServerPacketSteerVehicle struct { + Sideways float32 + Forward float32 + Jump uint8 +} + +func (ret *PlayToServerPacketSteerVehicle) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Sideways) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Forward) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Jump) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketSteerVehicle) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Sideways) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Forward) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Jump) + if err != nil { + return + } + return +} + +type PlayToServerPacketTabComplete struct { + Text string + AssumeCommand bool + LookedAtBlock *Position +} + +func (ret *PlayToServerPacketTabComplete) Decode(r io.ReadSeeker) (err error) { + ret.Text, err = proto_base.DecodeString(r) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.AssumeCommand) + if err != nil { + return + } + var PlayToServerPacketTabCompleteLookedAtBlockPresent bool + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketTabCompleteLookedAtBlockPresent) + if err != nil { + return + } + if PlayToServerPacketTabCompleteLookedAtBlockPresent { + var PlayToServerPacketTabCompleteLookedAtBlockPresentValue Position + err = PlayToServerPacketTabCompleteLookedAtBlockPresentValue.Decode(r) + if err != nil { + return + } + ret.LookedAtBlock = &PlayToServerPacketTabCompleteLookedAtBlockPresentValue + } + return +} +func (ret *PlayToServerPacketTabComplete) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Text) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.AssumeCommand) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.LookedAtBlock != nil) + if err != nil { + return + } + if ret.LookedAtBlock != nil { + PlayToServerPacketTabCompleteLookedAtBlockEncTmp := *ret.LookedAtBlock + err = PlayToServerPacketTabCompleteLookedAtBlockEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type PlayToServerPacketTeleportConfirm struct { + TeleportId int32 +} + +func (ret *PlayToServerPacketTeleportConfirm) Decode(r io.ReadSeeker) (err error) { + ret.TeleportId, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketTeleportConfirm) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.TeleportId) + if err != nil { + return + } + return +} + +type PlayToServerPacketTransaction struct { + WindowId int8 + Action int16 + Accepted bool +} + +func (ret *PlayToServerPacketTransaction) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Action) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Accepted) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketTransaction) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Action) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Accepted) + if err != nil { + return + } + return +} + +type PlayToServerPacketUpdateSign struct { + Location Position + Text1 string + Text2 string + Text3 string + Text4 string +} + +func (ret *PlayToServerPacketUpdateSign) Decode(r io.ReadSeeker) (err error) { + err = ret.Location.Decode(r) + if err != nil { + return + } + ret.Text1, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Text2, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Text3, err = proto_base.DecodeString(r) + if err != nil { + return + } + ret.Text4, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketUpdateSign) Encode(w io.Writer) (err error) { + PlayToServerPacketUpdateSignLocationEncTmp := ret.Location + err = PlayToServerPacketUpdateSignLocationEncTmp.Encode(w) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Text1) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Text2) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Text3) + if err != nil { + return + } + err = proto_base.EncodeString(w, ret.Text4) + if err != nil { + return + } + return +} + +type PlayToServerPacketUseEntity struct { + Target int32 + Mouse int32 + X any + Y any + Z any + Hand any +} + +func (ret *PlayToServerPacketUseEntity) Decode(r io.ReadSeeker) (err error) { + ret.Target, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Mouse, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + switch ret.Mouse { + case 2: + var PlayToServerPacketUseEntityX2Tmp float32 + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketUseEntityX2Tmp) + if err != nil { + return + } + ret.X = PlayToServerPacketUseEntityX2Tmp + default: + var PlayToServerPacketUseEntityXTmp struct { + } + ret.X = PlayToServerPacketUseEntityXTmp + } + switch ret.Mouse { + case 2: + var PlayToServerPacketUseEntityY2Tmp float32 + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketUseEntityY2Tmp) + if err != nil { + return + } + ret.Y = PlayToServerPacketUseEntityY2Tmp + default: + var PlayToServerPacketUseEntityYTmp struct { + } + ret.Y = PlayToServerPacketUseEntityYTmp + } + switch ret.Mouse { + case 2: + var PlayToServerPacketUseEntityZ2Tmp float32 + err = binary.Read(r, binary.BigEndian, &PlayToServerPacketUseEntityZ2Tmp) + if err != nil { + return + } + ret.Z = PlayToServerPacketUseEntityZ2Tmp + default: + var PlayToServerPacketUseEntityZTmp struct { + } + ret.Z = PlayToServerPacketUseEntityZTmp + } + switch ret.Mouse { + case 0: + var PlayToServerPacketUseEntityHand0Tmp int32 + PlayToServerPacketUseEntityHand0Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Hand = PlayToServerPacketUseEntityHand0Tmp + case 2: + var PlayToServerPacketUseEntityHand2Tmp int32 + PlayToServerPacketUseEntityHand2Tmp, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Hand = PlayToServerPacketUseEntityHand2Tmp + default: + var PlayToServerPacketUseEntityHandTmp struct { + } + ret.Hand = PlayToServerPacketUseEntityHandTmp + } + return +} +func (ret *PlayToServerPacketUseEntity) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Target) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, ret.Mouse) + if err != nil { + return + } + switch ret.Mouse { + case 2: + PlayToServerPacketUseEntityX, ok := ret.X.(float32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToServerPacketUseEntityX) + if err != nil { + return + } + default: + _, ok := ret.X.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mouse { + case 2: + PlayToServerPacketUseEntityY, ok := ret.Y.(float32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToServerPacketUseEntityY) + if err != nil { + return + } + default: + _, ok := ret.Y.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mouse { + case 2: + PlayToServerPacketUseEntityZ, ok := ret.Z.(float32) + if !ok { + err = proto_base.BadTypeError + return + } + err = binary.Write(w, binary.BigEndian, PlayToServerPacketUseEntityZ) + if err != nil { + return + } + default: + _, ok := ret.Z.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + switch ret.Mouse { + case 0: + PlayToServerPacketUseEntityHand, ok := ret.Hand.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToServerPacketUseEntityHand) + if err != nil { + return + } + case 2: + PlayToServerPacketUseEntityHand, ok := ret.Hand.(int32) + if !ok { + err = proto_base.BadTypeError + return + } + err = proto_base.EncodeVarInt(w, PlayToServerPacketUseEntityHand) + if err != nil { + return + } + default: + _, ok := ret.Hand.(struct { + }) + if !ok { + err = proto_base.BadTypeError + return + } + } + return +} + +type PlayToServerPacketUseItem struct { + Hand int32 +} + +func (ret *PlayToServerPacketUseItem) Decode(r io.ReadSeeker) (err error) { + ret.Hand, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketUseItem) Encode(w io.Writer) (err error) { + err = proto_base.EncodeVarInt(w, ret.Hand) + if err != nil { + return + } + return +} + +type PlayToServerPacketVehicleMove struct { + X float64 + Y float64 + Z float64 + Yaw float32 + Pitch float32 +} + +func (ret *PlayToServerPacketVehicleMove) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.X) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Y) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Z) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Yaw) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Pitch) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketVehicleMove) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.X) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Y) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Z) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Yaw) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Pitch) + if err != nil { + return + } + return +} + +type PlayToServerPacketWindowClick struct { + WindowId uint8 + Slot int16 + MouseButton int8 + Action int16 + Mode int8 + Item Slot +} + +func (ret *PlayToServerPacketWindowClick) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.WindowId) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Slot) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.MouseButton) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Action) + if err != nil { + return + } + err = binary.Read(r, binary.BigEndian, &ret.Mode) + if err != nil { + return + } + err = ret.Item.Decode(r) + if err != nil { + return + } + return +} +func (ret *PlayToServerPacketWindowClick) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.WindowId) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Slot) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.MouseButton) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Action) + if err != nil { + return + } + err = binary.Write(w, binary.BigEndian, ret.Mode) + if err != nil { + return + } + PlayToServerPacketWindowClickItemEncTmp := ret.Item + err = PlayToServerPacketWindowClickItemEncTmp.Encode(w) + if err != nil { + return + } + return +} + +type StatusToClientPacket struct { + Name string + Params any +} + +var StatusToClientPacketNameMap = map[int32]string{0x00: "server_info", 0x01: "ping"} + +func (ret *StatusToClientPacket) Decode(r io.ReadSeeker) (err error) { + var StatusToClientPacketNameKey int32 + StatusToClientPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(StatusToClientPacketNameMap, StatusToClientPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "ping": + var StatusToClientPacketParamsPingTmp StatusToClientPacketPing + err = StatusToClientPacketParamsPingTmp.Decode(r) + if err != nil { + return + } + ret.Params = StatusToClientPacketParamsPingTmp + case "server_info": + var StatusToClientPacketParamsServerInfoTmp StatusToClientPacketServerInfo + err = StatusToClientPacketParamsServerInfoTmp.Decode(r) + if err != nil { + return + } + ret.Params = StatusToClientPacketParamsServerInfoTmp + } + return +} + +var StatusToClientPacketNameReverseMap = map[string]int32{"server_info": 0x00, "ping": 0x01} + +func (ret *StatusToClientPacket) Encode(w io.Writer) (err error) { + var vStatusToClientPacketName int32 + vStatusToClientPacketName, err = proto_base.ErroringIndex(StatusToClientPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vStatusToClientPacketName) + if err != nil { + return + } + switch ret.Name { + case "ping": + StatusToClientPacketParams, ok := ret.Params.(StatusToClientPacketPing) + if !ok { + err = proto_base.BadTypeError + return + } + StatusToClientPacketParamsEncTmp := StatusToClientPacketParams + err = StatusToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "server_info": + StatusToClientPacketParams, ok := ret.Params.(StatusToClientPacketServerInfo) + if !ok { + err = proto_base.BadTypeError + return + } + StatusToClientPacketParamsEncTmp := StatusToClientPacketParams + err = StatusToClientPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type StatusToClientPacketPing struct { + Time int64 +} + +func (ret *StatusToClientPacketPing) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Time) + if err != nil { + return + } + return +} +func (ret *StatusToClientPacketPing) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Time) + if err != nil { + return + } + return +} + +type StatusToClientPacketServerInfo struct { + Response string +} + +func (ret *StatusToClientPacketServerInfo) Decode(r io.ReadSeeker) (err error) { + ret.Response, err = proto_base.DecodeString(r) + if err != nil { + return + } + return +} +func (ret *StatusToClientPacketServerInfo) Encode(w io.Writer) (err error) { + err = proto_base.EncodeString(w, ret.Response) + if err != nil { + return + } + return +} + +type StatusToServerPacket struct { + Name string + Params any +} + +var StatusToServerPacketNameMap = map[int32]string{0x00: "ping_start", 0x01: "ping"} + +func (ret *StatusToServerPacket) Decode(r io.ReadSeeker) (err error) { + var StatusToServerPacketNameKey int32 + StatusToServerPacketNameKey, err = proto_base.DecodeVarInt(r) + if err != nil { + return + } + ret.Name, err = proto_base.ErroringIndex(StatusToServerPacketNameMap, StatusToServerPacketNameKey) + if err != nil { + return + } + switch ret.Name { + case "ping": + var StatusToServerPacketParamsPingTmp StatusToServerPacketPing + err = StatusToServerPacketParamsPingTmp.Decode(r) + if err != nil { + return + } + ret.Params = StatusToServerPacketParamsPingTmp + case "ping_start": + var StatusToServerPacketParamsPingStartTmp StatusToServerPacketPingStart + err = StatusToServerPacketParamsPingStartTmp.Decode(r) + if err != nil { + return + } + ret.Params = StatusToServerPacketParamsPingStartTmp + } + return +} + +var StatusToServerPacketNameReverseMap = map[string]int32{"ping_start": 0x00, "ping": 0x01} + +func (ret *StatusToServerPacket) Encode(w io.Writer) (err error) { + var vStatusToServerPacketName int32 + vStatusToServerPacketName, err = proto_base.ErroringIndex(StatusToServerPacketNameReverseMap, ret.Name) + if err != nil { + return + } + err = proto_base.EncodeVarInt(w, vStatusToServerPacketName) + if err != nil { + return + } + switch ret.Name { + case "ping": + StatusToServerPacketParams, ok := ret.Params.(StatusToServerPacketPing) + if !ok { + err = proto_base.BadTypeError + return + } + StatusToServerPacketParamsEncTmp := StatusToServerPacketParams + err = StatusToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + case "ping_start": + StatusToServerPacketParams, ok := ret.Params.(StatusToServerPacketPingStart) + if !ok { + err = proto_base.BadTypeError + return + } + StatusToServerPacketParamsEncTmp := StatusToServerPacketParams + err = StatusToServerPacketParamsEncTmp.Encode(w) + if err != nil { + return + } + } + return +} + +type StatusToServerPacketPing struct { + Time int64 +} + +func (ret *StatusToServerPacketPing) Decode(r io.ReadSeeker) (err error) { + err = binary.Read(r, binary.BigEndian, &ret.Time) + if err != nil { + return + } + return +} +func (ret *StatusToServerPacketPing) Encode(w io.Writer) (err error) { + err = binary.Write(w, binary.BigEndian, ret.Time) + if err != nil { + return + } + return +} + +type StatusToServerPacketPingStart struct { +} + +func (ret *StatusToServerPacketPingStart) Decode(r io.ReadSeeker) (err error) { + return +} +func (ret *StatusToServerPacketPingStart) Encode(w io.Writer) (err error) { + return +} diff --git a/mc/proto_generator/main.go b/mc/proto_generator/main.go index e7acee2..6445f03 100644 --- a/mc/proto_generator/main.go +++ b/mc/proto_generator/main.go @@ -429,7 +429,7 @@ func GenerateVersions(versions []string) (err error) { } func main() { - err := GenerateVersions([]string{"1.8", "1.21.8", "1.21.9", "1.21.11", "26.1", "26.2"}) + err := GenerateVersions([]string{"1.8", "1.12.2", "1.21.8", "1.21.9", "1.21.11", "26.1", "26.2"}) if err != nil { panic(err) }