"""Bedrock packet IDs (shared across versions).

Complete enum matching MinecraftPacketIds from BDS headers.
Bedrock packet IDs are stable across protocol versions — only new IDs are
appended at the end.
"""

from enum import IntEnum


class PacketId(IntEnum):
    KEEP_ALIVE = 0
    LOGIN = 1
    PLAY_STATUS = 2
    SERVER_TO_CLIENT_HANDSHAKE = 3
    CLIENT_TO_SERVER_HANDSHAKE = 4
    DISCONNECT = 5
    RESOURCE_PACKS_INFO = 6
    RESOURCE_PACK_STACK = 7
    RESOURCE_PACK_CLIENT_RESPONSE = 8
    TEXT = 9
    SET_TIME = 10
    START_GAME = 11
    ADD_PLAYER = 12
    ADD_ACTOR = 13
    REMOVE_ACTOR = 14
    ADD_ITEM_ACTOR = 15
    SERVER_PLAYER_POST_MOVE_POSITION = 16
    TAKE_ITEM_ACTOR = 17
    MOVE_ABSOLUTE_ACTOR = 18
    MOVE_PLAYER = 19
    PASSENGER_JUMP_DEPRECATED = 20
    UPDATE_BLOCK = 21
    ADD_PAINTING = 22
    TICK_SYNC_DEPRECATED = 23
    LEVEL_SOUND_EVENT_V1_DEPRECATED = 24
    LEVEL_EVENT = 25
    TILE_EVENT = 26
    ACTOR_EVENT = 27
    MOB_EFFECT = 28
    UPDATE_ATTRIBUTES = 29
    INVENTORY_TRANSACTION = 30
    PLAYER_EQUIPMENT = 31
    MOB_ARMOR_EQUIPMENT = 32
    INTERACT = 33
    BLOCK_PICK_REQUEST = 34
    ACTOR_PICK_REQUEST = 35
    PLAYER_ACTION = 36
    ACTOR_FALL_DEPRECATED = 37
    HURT_ARMOR = 38
    SET_ACTOR_DATA = 39
    SET_ACTOR_MOTION = 40
    SET_ACTOR_LINK = 41
    SET_HEALTH = 42
    SET_SPAWN_POSITION = 43
    ANIMATE = 44
    RESPAWN = 45
    CONTAINER_OPEN = 46
    CONTAINER_CLOSE = 47
    PLAYER_HOTBAR = 48
    INVENTORY_CONTENT = 49
    INVENTORY_SLOT = 50
    CONTAINER_SET_DATA = 51
    CRAFTING_DATA = 52
    CRAFTING_EVENT_DEPRECATED = 53
    GUI_DATA_PICK_ITEM = 54
    ADVENTURE_SETTINGS_DEPRECATED = 55
    BLOCK_ACTOR_DATA = 56
    PLAYER_INPUT_DEPRECATED = 57
    FULL_CHUNK_DATA = 58
    SET_COMMANDS_ENABLED = 59
    SET_DIFFICULTY = 60
    CHANGE_DIMENSION = 61
    SET_PLAYER_GAME_TYPE = 62
    PLAYER_LIST = 63
    SIMPLE_EVENT = 64
    LEGACY_TELEMETRY_EVENT = 65
    SPAWN_EXPERIENCE_ORB = 66
    MAP_DATA = 67
    MAP_INFO_REQUEST = 68
    REQUEST_CHUNK_RADIUS = 69
    CHUNK_RADIUS_UPDATED = 70
    ITEM_FRAME_DROP_ITEM_DEPRECATED = 71
    GAME_RULES_CHANGED = 72
    CAMERA = 73
    BOSS_EVENT = 74
    SHOW_CREDITS = 75
    AVAILABLE_COMMANDS = 76
    COMMAND_REQUEST = 77
    COMMAND_BLOCK_UPDATE = 78
    COMMAND_OUTPUT = 79
    UPDATE_TRADE = 80
    UPDATE_EQUIP = 81
    RESOURCE_PACK_DATA_INFO = 82
    RESOURCE_PACK_CHUNK_DATA = 83
    RESOURCE_PACK_CHUNK_REQUEST = 84
    TRANSFER = 85
    PLAY_SOUND = 86
    STOP_SOUND = 87
    SET_TITLE = 88
    ADD_BEHAVIOR_TREE = 89
    STRUCTURE_BLOCK_UPDATE = 90
    SHOW_STORE_OFFER = 91
    PURCHASE_RECEIPT = 92
    PLAYER_SKIN = 93
    SUBCLIENT_LOGIN = 94
    AUTOMATION_CLIENT_CONNECT = 95
    SET_LAST_HURT_BY = 96
    BOOK_EDIT = 97
    NPC_REQUEST = 98
    PHOTO_TRANSFER = 99
    SHOW_MODAL_FORM = 100
    MODAL_FORM_RESPONSE = 101
    SERVER_SETTINGS_REQUEST = 102
    SERVER_SETTINGS_RESPONSE = 103
    SHOW_PROFILE = 104
    SET_DEFAULT_GAME_TYPE = 105
    REMOVE_OBJECTIVE = 106
    SET_DISPLAY_OBJECTIVE = 107
    SET_SCORE = 108
    LAB_TABLE = 109
    UPDATE_BLOCK_SYNCED = 110
    MOVE_DELTA_ACTOR = 111
    SET_SCOREBOARD_IDENTITY = 112
    SET_LOCAL_PLAYER_AS_INIT = 113
    UPDATE_SOFT_ENUM = 114
    PING = 115
    BLOCK_PALETTE_DEPRECATED = 116
    SCRIPT_CUSTOM_EVENT = 117
    SPAWN_PARTICLE_EFFECT = 118
    AVAILABLE_ACTOR_ID_LIST = 119
    LEVEL_SOUND_EVENT_V2_DEPRECATED = 120
    NETWORK_CHUNK_PUBLISHER_UPDATE = 121
    BIOME_DEFINITION_LIST = 122
    LEVEL_SOUND_EVENT = 123
    LEVEL_EVENT_GENERIC = 124
    LECTERN_UPDATE = 125
    VIDEO_STREAM_CONNECT_DEPRECATED = 126
    ADD_ENTITY_DEPRECATED = 127
    REMOVE_ENTITY_DEPRECATED = 128
    CLIENT_CACHE_STATUS = 129
    ON_SCREEN_TEXTURE_ANIMATION = 130
    MAP_CREATE_LOCKED_COPY = 131
    STRUCTURE_TEMPLATE_DATA_EXPORT_REQUEST = 132
    STRUCTURE_TEMPLATE_DATA_EXPORT_RESPONSE = 133
    UNUSED_PLS_USE_ME = 134
    CLIENT_CACHE_BLOB_STATUS = 135
    CLIENT_CACHE_MISS_RESPONSE = 136
    EDUCATION_SETTINGS = 137
    EMOTE = 138
    MULTIPLAYER_SETTINGS = 139
    SETTINGS_COMMAND = 140
    ANVIL_DAMAGE = 141
    COMPLETED_USING_ITEM = 142
    NETWORK_SETTINGS = 143
    PLAYER_AUTH_INPUT = 144
    CREATIVE_CONTENT = 145
    PLAYER_ENCHANT_OPTIONS = 146
    ITEM_STACK_REQUEST = 147
    ITEM_STACK_RESPONSE = 148
    PLAYER_ARMOR_DAMAGE = 149
    CODE_BUILDER = 150
    UPDATE_PLAYER_GAME_TYPE = 151
    EMOTE_LIST = 152
    POSITION_TRACKING_DB_SERVER_BROADCAST = 153
    POSITION_TRACKING_DB_CLIENT_REQUEST = 154
    DEBUG_INFO = 155
    PACKET_VIOLATION_WARNING = 156
    MOTION_PREDICTION_HINTS = 157
    TRIGGER_ANIMATION = 158
    CAMERA_SHAKE = 159
    PLAYER_FOG_SETTING = 160
    CORRECT_PLAYER_MOVE_PREDICTION = 161
    ITEM_REGISTRY = 162
    FILTER_TEXT_DEPRECATED = 163
    CLIENT_BOUND_DEBUG_RENDERER = 164
    SYNC_ACTOR_PROPERTY = 165
    ADD_VOLUME_ENTITY = 166
    REMOVE_VOLUME_ENTITY = 167
    SIMULATION_TYPE = 168
    NPC_DIALOGUE = 169
    EDU_URI_RESOURCE = 170
    CREATE_PHOTO = 171
    UPDATE_SUB_CHUNK_BLOCKS = 172
    PHOTO_INFO_REQUEST_DEPRECATED = 173
    SUB_CHUNK = 174
    SUB_CHUNK_REQUEST = 175
    PLAYER_START_ITEM_COOLDOWN = 176
    SCRIPT_MESSAGE = 177
    CODE_BUILDER_SOURCE = 178
    TICKING_AREAS_LOAD_STATUS = 179
    DIMENSION_DATA = 180
    AGENT_ACTION = 181
    CHANGE_MOB_PROPERTY = 182
    LESSON_PROGRESS = 183
    REQUEST_ABILITY = 184
    REQUEST_PERMISSIONS = 185
    TOAST_REQUEST = 186
    UPDATE_ABILITIES = 187
    UPDATE_ADVENTURE_SETTINGS = 188
    DEATH_INFO = 189
    EDITOR_NETWORK = 190
    FEATURE_REGISTRY = 191
    SERVER_STATS = 192
    REQUEST_NETWORK_SETTINGS = 193
    GAME_TEST_REQUEST = 194
    GAME_TEST_RESULTS = 195
    PLAYER_CLIENT_INPUT_PERMISSIONS = 196
    CLIENT_CHEAT_ABILITY_DEPRECATED = 197
    CAMERA_PRESETS = 198
    UNLOCKED_RECIPES = 199
    # 200-299 reserved for title-specific packets
    CAMERA_INSTRUCTION = 300
    COMPRESSED_BIOME_DEFINITION_LIST_DEPRECATED = 301
    TRIM_DATA = 302
    OPEN_SIGN = 303
    AGENT_ANIMATION = 304
    REFRESH_ENTITLEMENTS = 305
    PLAYER_TOGGLE_CRAFTER_SLOT_REQUEST = 306
    SET_PLAYER_INVENTORY_OPTIONS = 307
    SET_HUD = 308
    AWARD_ACHIEVEMENT = 309
    CLIENTBOUND_CLOSE_SCREEN = 310
    CLIENTBOUND_LOADING_SCREEN_DEPRECATED = 311
    SERVERBOUND_LOADING_SCREEN = 312
    JIGSAW_STRUCTURE_DATA = 313
    CURRENT_STRUCTURE_FEATURE = 314
    SERVERBOUND_DIAGNOSTICS = 315
    CAMERA_AIM_ASSIST = 316
    CONTAINER_REGISTRY_CLEANUP = 317
    MOVEMENT_EFFECT = 318
    SET_MOVEMENT_AUTHORITY_MODE_DEPRECATED = 319
    CAMERA_AIM_ASSIST_PRESETS = 320
    CLIENT_CAMERA_AIM_ASSIST = 321
    CLIENT_MOVEMENT_PREDICTION_SYNC = 322
    UPDATE_CLIENT_OPTIONS = 323
    PLAYER_VIDEO_CAPTURE = 324
    PLAYER_UPDATE_ENTITY_OVERRIDES = 325
    PLAYER_LOCATION = 326
    CLIENTBOUND_CONTROL_SCHEME_SET = 327
    SERVER_SCRIPT_DEBUG_DRAWER = 328
    SERVERBOUND_PACK_SETTING_CHANGE = 329
    CLIENTBOUND_DATA_STORE = 330
    GRAPHICS_PARAMETER_OVERRIDE = 331
    SERVERBOUND_DATA_STORE = 332
    CLIENTBOUND_DATA_DRIVEN_UI_SHOW_SCREEN = 333
    CLIENTBOUND_DATA_DRIVEN_UI_CLOSE_ALL_SCREENS = 334
    CLIENTBOUND_DATA_DRIVEN_UI_RELOAD = 335
    CLIENTBOUND_TEXTURE_SHIFT = 336
    VOXEL_SHAPES = 337
    CAMERA_SPLINE = 338
    CAMERA_AIM_ASSIST_ACTOR_PRIORITY = 339
    # v944 additions (not in v924)
    RESOURCE_PACKS_READY_FOR_VALIDATION = 340
    LOCATOR_BAR = 341
    PARTY_CHANGED = 342
    SERVERBOUND_DATA_DRIVEN_SCREEN_CLOSED = 343
    SYNC_WORLD_CLOCKS = 344
    CLIENTBOUND_ATTRIBUTE_LAYER_SYNC = 345
