package pumpkin:plugin@0.1.0; interface bedrock-packets { use uuid.{ uuid }; record s-actor-event { target-runtime-id: s64, event-id: actor-event-id, data: s32, fire-at-position: option>, } enum actor-event-id { none, jump, hurt, death, start-attacking, stop-attacking, taming-failed, taming-succeeded, shake-wetness, eat-grass, fishhook-bubble, fishhook-fish-pos, fishhook-hook-time, fishhook-tease, squid-fleeing, zombie-converting, play-ambient, spawn-alive, start-offer-flower, stop-offer-flower, love-hearts, villager-angry, villager-happy, witch-hat-magic, fireworks-explode, in-love-hearts, silverfish-merge-animation, guardian-attack-sound, drink-potion, throw-potion, prime-tnt-cart, prime-creeper, air-supply, deprecated-add-player-levels, guardian-mining-fatigue, agent-swing-arm, dragon-start-death-anim, ground-dust, shake, feed, baby-age, instant-death, notify-trade, leash-destroyed, caravan-updated, talisman-activate, deprecated-update-structure-feature, player-spawned-mob, puke, update-stack-size, start-swimming, balloon-pop, treasure-hunt, summon-agent, finished-charging-item, actor-grow-up, vibration-detected, drink-milk, shake-wetness-stop, kinetic-damage-dealt, hurt-without-receiving-damage, } enum animate-action { no-action, swing-arm, wake-up, critical-hit, magic-critical-hit, } enum actor-swing-source { none, build, mine, interact, attack, use-item, throw-item, drop-item, event, } record s-animate { action: animate-action, target-actor-runtime-id: s64, data: f32, swing-source: option, } record s-block-pick-request { position: tuple, with-data: bool, max-slots: u8, } record s-client-cache-blob-status { miss-hashes: list, hit-hashes: list, } record s-client-cache-status { is-cache-supported: bool, } record s-command-request { command: string, origin: command-origin-data, is-internal: bool, version: string, } record command-origin-data { r-type: string, uuid: uuid, request-id: string, player-id: s64, } record s-container-close { container-id: u8, container-type: u8, server-initiated-close: bool, } record s-emote { actor-runtime-id: s64, emote-id: string, emote-length-ticks: s32, xuid: string, platform-id: string, %flags: u8, } record s-emote-list { runtime-id: s64, emote-piece-ids: list, } record s-interact { action: action, target-runtime-id: s64, position: option>, } enum action { invalid, stop-riding, interact-update, npc-open, open-inventory, } variant inventory-action-source { container, %world, creative, todo, unknown(s32), } variant transaction-data { normal(string), mismatch(string), use-item(use-item-transaction-data), use-item-on-entity(use-item-on-entity-transaction-data), release-item(release-item-transaction-data), } record legacy-set-item-slot { container-id: u8, slots: list, } record inventory-action { source-type: s32, window-id: option, source-flags: option, inventory-slot: s32, old-item: network-item-descriptor, new-item: network-item-descriptor, } record use-item-transaction-data { action-type: s32, trigger-type: u8, block-position: tuple, block-face: u8, hot-bar-slot: s32, item-in-hand: network-item-descriptor, player-position: tuple, click-position: tuple, block-runtime-id: s32, client-prediction: u8, client-cooldown-state: u8, } record use-item-on-entity-transaction-data { target-entity-runtime-id: s64, action-type: s32, hot-bar-slot: s32, item-in-hand: network-item-descriptor, player-position: tuple, click-position: tuple, } record release-item-transaction-data { action-type: s32, hot-bar-slot: s32, item-in-hand: network-item-descriptor, head-position: tuple, } record s-inventory-transaction { legacy-request-id: s32, legacy-set-item-slots: list, has-value: bool, actions: list, transaction-type: s32, transaction-data: transaction-data, } record item-stack-request-slot-info { container-name: full-container-name, slot-id: u8, stack-id: s32, } record stack-request-item { identifier: option, metadata-value: s32, count: s32, block-runtime-id: s32, extra-data: list, } record item-stack-request-action-take { count: u8, source: item-stack-request-slot-info, destination: item-stack-request-slot-info, } record item-stack-request-action-place { count: u8, source: item-stack-request-slot-info, destination: item-stack-request-slot-info, } record item-stack-request-action-swap { slot1: item-stack-request-slot-info, slot2: item-stack-request-slot-info, } record item-stack-request-action-drop { count: u8, source: item-stack-request-slot-info, randomly: bool, } record item-stack-request-action-destroy { count: u8, source: item-stack-request-slot-info, } record item-stack-request-action-consume { count: u8, source: item-stack-request-slot-info, } record item-stack-request-action-create { result-index: u8, } record item-stack-request-action-beacon-payment { primary-effect-id: s32, secondary-effect-id: s32, } record item-stack-request-action-mine-block { hotbar-slot: s32, predicted-durability: s32, stack-id: s32, } record item-stack-request-action-craft-recipe { recipe-id: s32, repetitions: u8, } record item-stack-request-action-craft-recipe-auto { recipe-id: s32, repetitions: u8, } record item-stack-request-action-craft-creative { creative-item-id: s32, repetitions: u8, } record item-stack-request-action-optional { recipe-id: s32, filter-string-index: s32, } record item-stack-request-action-grindstone { recipe-id: s32, repair-cost: s32, repetitions: u8, } record item-stack-request-action-loom { pattern-id: string, repetitions: u8, } record item-stack-request-action-craft-results-deprecated { result-items: list, times-crafted: u8, } variant item-stack-request-action { take(item-stack-request-action-take), place(item-stack-request-action-place), swap(item-stack-request-action-swap), drop(item-stack-request-action-drop), destroy(item-stack-request-action-destroy), consume(item-stack-request-action-consume), create(item-stack-request-action-create), lab-table-combine, beacon-payment(item-stack-request-action-beacon-payment), mine-block(item-stack-request-action-mine-block), craft-recipe(item-stack-request-action-craft-recipe), craft-recipe-auto(item-stack-request-action-craft-recipe-auto), craft-creative(item-stack-request-action-craft-creative), optional(item-stack-request-action-optional), grindstone(item-stack-request-action-grindstone), loom(item-stack-request-action-loom), craft-non-implemented, craft-results-deprecated(item-stack-request-action-craft-results-deprecated), } record item-stack-request { request-id: s32, actions: list, filter-strings: list, filter-cause: s32, } record s-item-stack-request { requests: list, } record s-loading-screen { loading-screen-packet-type: loading-screen-packet-type, loading-screen-id: option, } enum loading-screen-packet-type { start-loading-screen, end-loading-screen, } record s-login { protocol-version: s32, jwt: list, raw-token: list, } record skin-animation { frames: f64, image: string, image-height: s32, image-width: s32, animation-type: s32, animation-expression: s32, } record persona-piece { is-default: bool, pack-id: string, piece-id: string, piece-type: string, product-id: string, } record persona-piece-tint-colour { colours: list, piece-type: string, } record client-data { client-random-id: s64, device-os: s32, device-id: string, game-version: string, language-code: string, current-input-mode: s32, default-input-mode: s32, ui-profile: s32, server-address: string, device-model: string, gui-scale: s32, client-is-editor-capable: bool, client-editor-connection-intent: s32, max-view-distance: s32, memory-tier: s32, platform-type: s32, graphics-mode: s32, compatible-with-client-side-chunk-gen: bool, platform-offline-id: string, platform-online-id: string, platform-user-id: string, self-signed-id: string, play-fab-id: string, third-party-name: string, third-party-name-only: bool, skin-id: string, skin-data: string, skin-image-height: s32, skin-image-width: s32, skin-colour: string, arm-size: string, persona-skin: bool, premium-skin: bool, trusted-skin: bool, override-skin: bool, cape-data: string, cape-id: string, cape-image-height: s32, cape-image-width: s32, cape-on-classic-skin: bool, skin-geometry: string, skin-geometry-version: string, skin-resource-patch: string, animated-image-data: list, skin-animation-data: string, persona-pieces: list, piece-tint-colours: list, } record s-mob-equipment { entity-runtime-id: s64, item: network-item-stack-descriptor, slot: u8, selected-slot: u8, container-id: u8, } record s-modal-form-response { form-id: s32, json-response: option, form-cancel-reason: option, } record s-packet-violation-warning { violation-type: s32, violation-severity: s32, violation-packet-id: s32, violation-context: string, } record s-player-action { player-runtime-id: s64, action: player-action-type, block-position: tuple, result-pos: tuple, face: s32, } enum player-action-type { unknown, start-destroy-block, abort-destroy-block, stop-destroy-block, get-updated-block, drop-item, start-sleeping, stop-sleeping, respawn, start-jump, start-sprinting, stop-sprinting, start-sneaking, stop-sneaking, creative-destroy-block, change-dimension-ack, start-gliding, stop-gliding, deny-destroy-block, crack-block, change-skin, updated-enchanting-seed, start-swimming, stop-swimming, start-spin-attack, stop-spin-attack, interact-with-block, predict-destroy-block, continue-destroy-block, start-item-use-on, stop-item-use-on, handled-teleport, missed-swing, start-crawling, stop-crawling, start-flying, stop-flying, client-ack-server-data, start-using-item, internal-update, count, } record s-player-auth-input { pitch: f32, yaw: f32, position: tuple, move-vec: tuple, head-yaw: f32, input-data: list, input-mode: s32, play-mode: s32, interaction-model: s32, interact-pitch: f32, interact-yaw: f32, tick: s64, delta: tuple, block-actions: option>, item-interaction: option, item-stack-request: option, vehicle-rotation: option>, vehicle-unique-id: option, analog-move: tuple, camera-orientation: tuple, raw-move: tuple, } record player-inventory-action { legacy-request-id: s32, legacy-slots: list, actions: list, transaction: player-use-item-transaction-data, } record player-use-item-transaction-data { action-type: s32, trigger-type: u8, block-position: tuple, block-face: u8, hot-bar-slot: s32, item-in-hand: network-item-descriptor, player-position: tuple, click-position: tuple, block-runtime-id: s32, client-prediction: u8, client-cooldown-state: u8, } record player-block-action { action: s32, block-pos: tuple, face: s32, } enum input-mode { mouse, touch, game-pad, motion-controller, } enum play-mode { normal, teaser, screen, exit-level, num-modes, } enum interaction-model { touch, crosshair, classic, } enum input-data { ascend, descend, north-jump, jump-down, sprint-down, change-height, jumping, auto-jumping-in-water, sneaking, sneak-down, up, down, left, right, up-left, up-right, want-up, want-down, want-down-slow, want-up-slow, sprinting, ascend-block, descend-block, sneak-toggle-down, persist-sneak, start-sprinting, stop-sprinting, start-sneaking, stop-sneaking, start-swimming, stop-swimming, start-jumping, start-gliding, stop-gliding, perform-item-interaction, perform-block-actions, perform-item-stack-request, handled-teleport, emoting, missed-swing, start-crawling, stop-crawling, start-flying, stop-flying, client-ack-server-data, client-predicted-vehicle, paddling-left, paddling-right, block-breaking-delay-enabled, horizontal-collision, vertical-collision, down-left, down-right, start-using-item, camera-relative-movement-enabled, rot-controlled-by-move-direction, start-spin-attack, stop-spin-attack, is-hotbar-touch-only, jump-released-raw, jump-pressed-raw, jump-current-raw, sneak-released-raw, sneak-pressed-raw, sneak-current-raw, internal-update, } record s-player-hotbar { selected-slot: s32, container-id: u8, should-select-slot: bool, } variant ability-value { %bool(bool), float(f32), } record s-request-ability { ability: s32, value: ability-value, } record s-request-chunk-radius { chunk-radius: s32, max-chunk-radius: u8, } record s-request-network-settings { client-network-version: s32, } record s-resource-pack-client-response { response: u8, download-size: s32, pack-ids: list, } record s-respawn { position: tuple, state: respawn-state, player-runtime-id: s64, } enum respawn-state { searching-for-spawn, ready-to-spawn, client-ready-to-spawn, } record s-set-local-player-as-initialized { player-id: s64, } record s-set-player-inventory-options { left-inventory-tab: s32, right-inventory-tab: s32, filtering: bool, layout-inv: s32, layout-craft: s32, } record s-text { needs-translation: bool, r-type: text-packet-type, source-name: string, message: string, parameters: list, xuid: string, platform-chat-id: string, filtered-message: option, } enum text-packet-type { raw, chat, translation, popup, jukebox-popup, tip, system, whisper, announcement, json-whisper, json, json-announcement, } record c-add-actor { target-actor-id: s64, target-runtime-id: s64, actor-type: string, position: tuple, velocity: tuple, rotation: tuple, y-head-rotation: f32, y-body-rotation: f32, attributes-list: list, actor-data: string, synced-properties: property-sync-data, actor-links: list, } record synced-attribute { attribute-name: string, min-value: f32, current-value: f32, max-value: f32, } record c-add-item-actor { target-actor-id: s64, target-runtime-id: s64, item: item-stack-wrapper, position: tuple, velocity: tuple, entity-data: string, is-from-fishing: bool, } record c-add-player { uuid: uuid, player-name: string, target-runtime-id: s64, platform-chat-id: string, position: tuple, velocity: tuple, rotation: tuple, y-head-rotation: f32, carried-item: network-item-stack-descriptor, player-game-type: game-type, entity-data: string, synced-properties: property-sync-data, abilities-data: serialized-abilities-data, actor-links: list, device-id: string, build-platform: build-platform, } record c-available-commands { enum-values: list, chained-subcommand-values: list, post-fixes: list, enum-data: list, chained-subcommand-data: list, commands: list, soft-enums: list, constraints: list, } record enum-data { name: string, values: list, } record chained-subcommand-data { name: string, subcommand-values: list, } record chained-subcommand-relationship { index: s32, value: s32, } record command-data { name: string, description: string, %flags: s32, permission-level: command-permission-level, alias-enum: s32, command-data-chained-subcommand-indexes: list, overloads: list, } record overload-data { is-chaining: bool, parameter-data: list, } record param-data { name: string, parse-symbol: s32, is-optional: bool, options: u8, } record soft-enum-data { enum-name: string, enum-options: list, } record constrained-value-data { enum-value-symbol: s32, enum-symbol: s32, constraint-indices: list, } record c-block-actor-data { block-position: tuple, actor-data-tags: string, } record c-block-event { block-position: tuple, event-type: s32, event-value: s32, } record c-boss-event { boss-entity-id: s64, player-entity-id: s64, event-type: u8, title: string, filtered-title: string, health-percentage: f32, color: u8, overlay: u8, } record c-change-dimension { dimension-id: s32, position: tuple, respawn: bool, loading-screen-id: option, } record c-chunk-radius-updated { chunk-radius: s32, } record missing-blob-data { blob-id: s64, blob-data: list, } record c-client-cache-miss-response { missing-blobs: list, } enum build-platform { unknown, google, ios, osx, amazon, gear-vr, uwp, win32, dedicated, tv-os, sony, nx, xbox, windows-phone, linux, } enum game-type { unknown, survival, creative, adventure, default, spectator, } record serialized-abilities-data { target-player-raw-id: s64, player-permissions: player-permission-level, command-permissions: command-permission-level, layers: list, } enum player-permission-level { visitor, member, operator, custom, } enum command-permission-level { any, game-directors, admin, host, owner, internal, } record serialized-abilities-data-serialized-layer { serialized-layer: s32, abilities-set: s32, ability-value: s32, fly-speed: f32, vertical-fly-speed: f32, walk-speed: f32, } record actor-link { ridden-unique-id: s64, rider-unique-id: s64, link-type: u8, immediate: bool, rider-initiated: bool, vehicle-angular-velocity: f32, } record c-container-open { container-id: u8, container-type: u8, position: tuple, target-entity-id: s64, } record c-correct-player-move-prediction { prediction-type: u8, pos: tuple, pos-delta: tuple, rotation: tuple, vehicle-angular-velocity: option, on-ground: bool, tick: s64, } record item-descriptor-count { item-identifier: string, metadata-value: s32, count: s32, } record recipe-unlock-requirement { context: s32, } record bedrock-shapeless-recipe { recipe-id: string, input: list, output: list, uuid: uuid, block: string, priority: s32, unlock-requirement: recipe-unlock-requirement, recipe-network-id: s32, } record bedrock-shaped-recipe { recipe-id: string, width: s32, height: s32, input: list, output: list, uuid: uuid, block: string, priority: s32, assume-symmetry: bool, unlock-requirement: recipe-unlock-requirement, recipe-network-id: s32, } variant bedrock-recipe { shapeless(bedrock-shapeless-recipe), shaped(bedrock-shaped-recipe), } record c-crafting-data { recipes: list, clean-recipes: bool, } record c-creative-content { groups: list, entries: list, } enum creative-category { all, construction, nature, equipment, items, item-command-only, undefined, } record creative-group-info-payload { creative-category: creative-category, name: string, group-icon-item: network-item-descriptor, } record creative-item-entry-payload { id: s32, item: network-item-descriptor, group-index: s32, } record c-disconnect { reason: s32, skip-message: bool, message: string, filtered-message: string, } record c-gamerules-changed { rule-data: list, } record game-rule { rule-name: string, rule-can-be-modified: bool, rule-value: rule-value, } enum rule-value { null, } record c-inventory-content { container-id: s32, slots: list, full-container-name: full-container-name, storage-item: network-item-stack-descriptor, } record c-inventory-slot { container-id: s32, slot: s32, full-container-name: option, storage-item: option, item: network-item-stack-descriptor, } record c-item-registry { items: list, } record item-data { item-name: string, item-id: s32, is-component-based: bool, item-version: s32, component-data: list, } record item-stack-response-slot-info { requested-slot: u8, slot: u8, amount: u8, item-stack-net-id: s32, custom-name: string, filtered-custom-name: string, durability-correction: s32, } record item-stack-response-container-info { full-container-name: full-container-name, slots: list, } record item-stack-response-info { %result: u8, client-request-id: s32, containers: list, } record c-item-stack-response { responses: list, } record c-level-chunk { dimension: s32, cache-enabled: bool, chunk: list, block-actors: list, } record c-level-event { event-id: s32, position: tuple, data: s32, } enum level-event { particles-destroy-block, block-start-break, block-stop-break, block-update-break, } record c-level-sound-event { sound-event: string, position: tuple, data: s32, actor-identifier: string, is-baby: bool, is-global: bool, actor-unique-id: s64, fire-at-position: option>, } record c-mob-effect { target-runtime-id: s64, event-id: u8, effect-id: s32, effect-amplifier: s32, show-particles: bool, effect-duration-ticks: s32, tick: s64, ambient: bool, } record c-mob-equipment { target-runtime-id: s64, item: network-item-stack-descriptor, slot: u8, selected-slot: u8, container-id: u8, } record c-modal-form-request { form-id: s32, form-ui-json: string, } record c-move-actor-absolute { actor-runtime-id: s64, header: u8, position: tuple, rotation-x: u8, rotation-y: u8, rotation-y-head: u8, } record c-move-actor-delta { entity-runtime-id: s64, %flags: s32, x: f32, y: f32, z: f32, pitch: u8, yaw: u8, head-yaw: u8, } record c-move-player { player-runtime-id: s64, position: tuple, pitch: f32, yaw: f32, head-yaw: f32, mode: u8, on-ground: bool, riding-runtime-id: s64, teleport-cause: s32, teleport-source-entity-type: s32, tick: s64, } record c-network-chunk-publisher-update { pos-for-view: tuple, new-radius: s32, server-build-chunk-list: list>, } record c-network-settings { compression-threshold: s32, compression-algorithm: s32, client-throttle-enabled: bool, client-throttle-threshold: u8, client-throttle-scalar: f32, } enum c-play-status { login-success, outdated-client, outdated-server, player-spawn, invalid-tenant, edition-mismatch-edu-to-vanilla, edition-mismatch-vanilla-to-edu, server-full-sub-client, editor-mismatch-editor-to-vanilla, editor-mismatch-vanilla-to-editor, } record c-player-hotbar { selected-slot: s32, container-id: u8, should-select-slot: bool, } record c-player-list { action: u8, entries: list, } record player-list-entry { uuid: uuid, entity-unique-id: s64, username: string, xuid: string, platform-chat-id: string, build-platform: build-platform, skin: skin, is-teacher: bool, is-host: bool, is-sub-client: bool, player-color: list, } record skin { skin-id: string, play-fab-id: string, resource-patch: list, image-width: s32, image-height: s32, skin-data: list, animations: list, cape-width: s32, cape-height: s32, cape-data: list, geometry-data: list, animation-data: list, geometry-data-engine-version: list, cape-id: string, full-id: string, arm-size: string, skin-color: string, persona-pieces: list, piece-tint-colors: list, is-premium: bool, is-persona: bool, persona-cape-on-classic: bool, is-primary-user: bool, override-appearance: bool, is-trusted: bool, profile-hash: string, } record piece-tint-color { piece-type: string, colors: list, } record c-remove-actor { target-actor-id: s64, } record c-remove-objective { objective-name: string, } record pack-instance-id { pack-id: string, version: string, sub-pack-name: string, } record c-resource-pack-stack-packet { texture-pack-required: bool, texture-pack-list: list, base-game-version: string, experiments: experiments, include-editor-packs: bool, } record pack-info-data { pack-id-version: pack-id-version, pack-size: s64, content-key: string, subpack-name: string, content-identity: string, has-scripts: bool, is-addon-pack: bool, is-ray-tracing-capable: bool, cdn-url: string, } record c-resource-packs-info { resource-pack-required: bool, has-addon-packs: bool, has-scripts: bool, force-disable-vibrant-visuals: bool, world-template-id-and-version: pack-id-version, resource-packs: list, } record pack-id-version { pack-uuid: uuid, pack-version: string, } record c-set-actor-data { target-runtime-id: s64, actor-data: string, synced-properties: property-sync-data, tick: s64, } variant metadata-value { byte(u8), short(s32), int(s32), float(f32), %string(string), compound-tag, item-pos(tuple), int64(s64), vec3(tuple), } record property-sync-data { int-entries-list: list>, float-entries-list: list>, } record c-set-actor-link { link: actor-link, } record c-set-actor-motion { target-runtime-id: s64, motion: tuple, tick: s64, } record c-set-difficulty { difficulty: s32, } record c-set-display-objective { display-slot-name: string, objective-name: string, objective-display-name: string, criteria-name: string, sort-order: s32, } record c-set-health { health: s32, } record c-set-player-game-type { player-game-type: game-type, } record c-set-score { action: s32, entries: list, } record score-entry { scoreboard-id: s64, objective-name: string, score: s32, entry-type: s32, entity-unique-id: s64, custom-name: string, } record c-set-spawn-position { spawn-position-type: spawn-position-type, block-position: tuple, dimension-type: s32, spawn-block-pos: tuple, } enum spawn-position-type { player-respawn, world-respawn, } record c-set-time { time: s32, } record c-set-title { title-type: title-type, title-text: string, fade-in-time: s32, stay-time: s32, fade-out-time: s32, xuid: string, platform-online-id: string, filtered-title-message: string, } enum title-type { clear, reset, title, subtitle, actionbar, times, title-text-object, subtitle-text-object, actionbar-text-object, } record c-show-credits { player-runtime-id: s64, credits-state: s32, } record c-start-game { entity-id: s64, runtime-entity-id: s64, player-gamemode: game-type, position: tuple, pitch: f32, yaw: f32, level-settings: level-settings, level-id: string, level-name: string, premium-world-template-id: string, is-trial: bool, rewind-history-size: s32, server-authoritative-block-breaking: bool, current-level-time: s64, enchantment-seed: s32, block-properties-size: s32, multiplayer-correlation-id: string, enable-itemstack-net-manager: bool, server-version: string, compound-id: u8, compound-len: s32, compound-end: u8, block-registry-checksum: s64, world-template-id: uuid, enable-clientside-generation: bool, blocknetwork-ids-are-hashed: bool, server-auth-sounds: bool, server-join-information: option, telemetry: server-telemetry-data, } record server-join-information { gathering: option, store-entry-point: option, presence: option, } record gathering-join-info { experience-id: uuid, experience-name: string, experience-world-id: uuid, experience-world-name: string, creator-id: string, unknown-uuid-1: uuid, unknown-uuid-2: uuid, server-id: string, } record store-entry-point-info { store-id: string, store-name: string, } record presence-info { experience-name: string, world-name: string, } record server-telemetry-data { server-id: string, scenario-id: string, world-id: string, owner-id: string, } record level-settings { seed: s64, spawn-biome-type: s32, custom-biome-name: string, dimension: s32, generator-type: s32, world-gamemode: game-type, hardcore: bool, difficulty: s32, spawn-position: tuple, has-achievements-disabled: bool, editor-world-type: s32, is-created-in-editor: bool, is-exported-from-editor: bool, day-cycle-stop-time: s32, education-edition-offer: s32, has-education-features-enabled: bool, education-product-id: string, rain-level: f32, lightning-level: f32, has-confirmed-platform-locked-content: bool, was-multiplayer-intended: bool, was-lan-broadcasting-intended: bool, xbox-live-broadcast-setting: game-publish-setting, platform-broadcast-setting: game-publish-setting, commands-enabled: bool, is-texture-packs-required: bool, rule-data: list, experiments: experiments, bonus-chest: bool, has-start-with-map-enabled: bool, permission-level: u8, server-simulation-distance: s32, has-locked-behavior-pack: bool, has-locked-resource-pack: bool, is-from-locked-world-template: bool, is-using-msa-gamertags-only: bool, is-from-world-template: bool, is-world-template-option-locked: bool, is-only-spawning-v1-villagers: bool, is-disabling-personas: bool, is-disabling-custom-skins: bool, emote-chat-muted: bool, game-version: string, limited-world-width: s32, limited-world-height: s32, new-nether: bool, edu-shared-uri-button-name: string, edu-shared-uri-link-uri: string, override-force-experimental-gameplay-has-value: bool, chat-restriction-level: u8, disable-player-interactions: bool, server-editor-connection-policy: s32, allow-anonymous-block-drops-in-editor-worlds: bool, } record experiments { toggles: list, experiments-ever-toggled: bool, } record experiment-toggle { name: string, enabled: bool, } enum game-publish-setting { no-multi-play, invite-only, friends-only, friends-of-friends, public, } record gg { name: string, id: u8, len: s32, end: u8, } record c-take-item-actor { item-runtime-id: s64, actor-runtime-id: s64, } record c-transfer { server-address: string, server-port: s32, reload-world: bool, } record c-update-abilities { data: serialized-abilities-data, } enum ability { build, mine, doors-and-switches, open-containers, attack-players, attack-mobs, operator-commands, teleport, invulnerable, flying, may-fly, instabuild, lightning, fly-speed, walk-speed, muted, world-builder, no-clip, privileged-builder, vertical-fly-speed, ability-count, } record c-update-attributes { target-runtime-id: s64, attribute-list: list, tick: s64, } record attribute-data { min-value: f32, max-value: f32, current-value: f32, default-min-value: f32, default-max-value: f32, default-value: f32, name: string, modifiers: list, } record attribute-modifier { id: string, name: string, amount: f32, operation: s32, operand: s32, is-serializable: bool, } record c-update-block { block-position: tuple, block-runtime-id: s32, %flags: s32, layer: s32, } record c-update-trade { container-id: u8, r-type: u8, size: s32, trader-tier: s32, entity-unique-id: s64, last-trading-player: s64, display-name: string, use-new-trade-screen: bool, using-economy-trade: bool, data: string, } record network-item-descriptor { id: s32, stack-size: s32, aux-value: s32, block-runtime-id: s32, nbt-data: string, place-on-blocks: list, destroy-blocks: list, shield-blocking-tick: s64, } record item-stack-wrapper { id: s32, stack-size: s32, aux-value: s32, block-runtime-id: s32, nbt-data: string, place-on-blocks: list, destroy-blocks: list, shield-blocking-tick: s64, net-id: option, } record network-item-stack-descriptor { id: s32, stack-size: s32, aux-value: s32, block-runtime-id: s32, extra-data: list, net-id: option, } record full-container-name { container-name: container-name, dynamic-id: option, } enum container-name { anvil-input, anvil-material, anvil-result-preview, smithing-table-input, smithing-table-material, smithing-table-result-preview, armor, level-entity, beacon-payment, brewing-stand-input, brewing-stand-result, brewing-stand-fuel, combined-hot-bar-and-inventory, crafting-input, crafting-output-preview, recipe-construction, recipe-nature, recipe-items, recipe-search, recipe-search-bar, recipe-equipment, recipe-book, enchanting-input, enchanting-material, furnace-fuel, furnace-ingredient, furnace-result, horse-equip, hot-bar, inventory, shulker-box, trade-ingredient1, trade-ingredient2, trade-result-preview, offhand, compound-creator-input, compound-creator-output-preview, element-constructor-output-preview, material-reducer-input, material-reducer-output, lab-table-input, loom-input, loom-dye, loom-material, loom-result-preview, blast-furnace-ingredient, smoker-ingredient, trade2-ingredient1, trade2-ingredient2, trade2-result-preview, grindstone-input, grindstone-additional, grindstone-result-preview, stonecutter-input, stonecutter-result-preview, cartography-input, cartography-additional, cartography-result-preview, barrel, cursor, created-output, smithing-table-template, crafter-level-entity, dynamic, recipe-food, recipe-blocks, recipe-furnace-items, } record network-item-stack { id: s32, count: s32, aux-value: s32, block-runtime-id: s32, extra-data: list, } variant serverbound-packet { s-actor-event(s-actor-event), s-animate(s-animate), s-block-pick-request(s-block-pick-request), s-client-cache-blob-status(s-client-cache-blob-status), s-client-cache-status(s-client-cache-status), s-command-request(s-command-request), s-container-close(s-container-close), s-emote(s-emote), s-emote-list(s-emote-list), s-interact(s-interact), s-inventory-transaction(s-inventory-transaction), s-item-stack-request(s-item-stack-request), s-loading-screen(s-loading-screen), s-login(s-login), s-mob-equipment(s-mob-equipment), s-modal-form-response(s-modal-form-response), s-packet-violation-warning(s-packet-violation-warning), s-player-action(s-player-action), s-player-auth-input(s-player-auth-input), s-player-hotbar(s-player-hotbar), s-request-ability(s-request-ability), s-request-chunk-radius(s-request-chunk-radius), s-request-network-settings(s-request-network-settings), s-resource-pack-client-response(s-resource-pack-client-response), s-respawn(s-respawn), s-set-local-player-as-initialized(s-set-local-player-as-initialized), s-set-player-inventory-options(s-set-player-inventory-options), s-text(s-text), unknown, } variant clientbound-packet { c-add-actor(c-add-actor), c-add-item-actor(c-add-item-actor), c-add-player(c-add-player), c-available-commands(c-available-commands), c-biome-definition-list, c-block-actor-data(c-block-actor-data), c-block-event(c-block-event), c-boss-event(c-boss-event), c-change-dimension(c-change-dimension), c-chunk-radius-updated(c-chunk-radius-updated), c-client-cache-miss-response(c-client-cache-miss-response), c-container-open(c-container-open), c-correct-player-move-prediction(c-correct-player-move-prediction), c-crafting-data(c-crafting-data), c-creative-content(c-creative-content), c-disconnect(c-disconnect), c-gamerules-changed(c-gamerules-changed), c-inventory-content(c-inventory-content), c-inventory-slot(c-inventory-slot), c-item-registry(c-item-registry), c-item-stack-response(c-item-stack-response), c-level-chunk(c-level-chunk), c-level-event(c-level-event), c-level-sound-event(c-level-sound-event), c-mob-effect(c-mob-effect), c-mob-equipment(c-mob-equipment), c-modal-form-request(c-modal-form-request), c-move-actor-absolute(c-move-actor-absolute), c-move-actor-delta(c-move-actor-delta), c-move-player(c-move-player), c-network-chunk-publisher-update(c-network-chunk-publisher-update), c-network-settings(c-network-settings), c-play-status(c-play-status), c-player-hotbar(c-player-hotbar), c-player-list(c-player-list), c-remove-actor(c-remove-actor), c-remove-objective(c-remove-objective), c-resource-pack-stack-packet(c-resource-pack-stack-packet), c-resource-packs-info(c-resource-packs-info), c-set-actor-data(c-set-actor-data), c-set-actor-link(c-set-actor-link), c-set-actor-motion(c-set-actor-motion), c-set-difficulty(c-set-difficulty), c-set-display-objective(c-set-display-objective), c-set-health(c-set-health), c-set-player-game-type(c-set-player-game-type), c-set-score(c-set-score), c-set-spawn-position(c-set-spawn-position), c-set-time(c-set-time), c-set-title(c-set-title), c-show-credits(c-show-credits), c-start-game(c-start-game), c-take-item-actor(c-take-item-actor), c-transfer(c-transfer), c-update-abilities(c-update-abilities), c-update-attributes(c-update-attributes), c-update-block(c-update-block), c-update-trade(c-update-trade), unknown, } }