feat: add non play packets

This commit is contained in:
Alexander Medvedev 2026-06-28 16:14:31 +02:00
parent 0dd86753bb
commit 7ce2c62105
2 changed files with 249 additions and 36 deletions

View File

@ -3,14 +3,14 @@ package pumpkin:plugin@0.1.0;
interface bedrock-packets { interface bedrock-packets {
use uuid.{ uuid }; use uuid.{ uuid };
record s-actor-event { record s-actor-event {
entity-runtime-id: s32, entity-runtime-id: s64,
event-type: string, event-type: string,
event-data: s32, event-data: s32,
fire-at-position: option<tuple<f64, f64, f64>>, fire-at-position: option<tuple<f64, f64, f64>>,
} }
record s-animate { record s-animate {
action: string, action: string,
runtime-entity-id: string, runtime-entity-id: s64,
data: f32, data: f32,
swing-source: option<string>, swing-source: option<string>,
} }
@ -37,7 +37,7 @@ interface bedrock-packets {
server-initiated: bool, server-initiated: bool,
} }
record s-emote { record s-emote {
runtime-entity-id: string, runtime-entity-id: s64,
emote-id: string, emote-id: string,
emote-length: s32, emote-length: s32,
xuid: string, xuid: string,
@ -45,12 +45,12 @@ interface bedrock-packets {
%flags: u8, %flags: u8,
} }
record s-emote-list { record s-emote-list {
runtime-entity-id: string, runtime-entity-id: s64,
emote-pieces: list<uuid>, emote-pieces: list<uuid>,
} }
record s-interaction { record s-interaction {
action: string, action: string,
target-runtime-id: string, target-runtime-id: s64,
position: option<tuple<f64, f64, f64>>, position: option<tuple<f64, f64, f64>>,
} }
record s-inventory-transaction { record s-inventory-transaction {
@ -74,7 +74,7 @@ interface bedrock-packets {
raw-token: list<u8>, raw-token: list<u8>,
} }
record s-mob-equipment { record s-mob-equipment {
entity-runtime-id: string, entity-runtime-id: s64,
stack-id: s32, stack-id: s32,
item: option<string>, item: option<string>,
inventory-slot: u8, inventory-slot: u8,
@ -104,11 +104,11 @@ interface bedrock-packets {
interaction-model: s32, interaction-model: s32,
interact-pitch: f32, interact-pitch: f32,
interact-yaw: f32, interact-yaw: f32,
tick: string, tick: s64,
delta: tuple<f64, f64, f64>, delta: tuple<f64, f64, f64>,
block-actions: option<list<string>>, block-actions: option<list<string>>,
vehicle-rotation: option<string>, vehicle-rotation: option<string>,
vehicle-unique-id: option<string>, vehicle-unique-id: option<s64>,
analog-move: string, analog-move: string,
camera-orientation: tuple<f64, f64, f64>, camera-orientation: tuple<f64, f64, f64>,
raw-move: string, raw-move: string,
@ -143,6 +143,10 @@ interface bedrock-packets {
magic: string, magic: string,
client-guid: s64, client-guid: s64,
} }
record s-request-ability {
ability: s32,
value: string,
}
record s-request-chunk-radius { record s-request-chunk-radius {
chunk-radius: s32, chunk-radius: s32,
max-radius: u8, max-radius: u8,
@ -155,7 +159,14 @@ interface bedrock-packets {
download-size: s32, download-size: s32,
} }
record s-set-local-player-as-initialized { record s-set-local-player-as-initialized {
runtime-entity-id: string, runtime-entity-id: s64,
}
record s-set-player-inventory-options {
left-inventory-tab: u8,
right-inventory-tab: u8,
filtering: bool,
inventory-layout: u8,
crafting-layout: u8,
} }
record s-text { record s-text {
needs-translation: bool, needs-translation: bool,
@ -168,8 +179,8 @@ interface bedrock-packets {
filtered-message: option<string>, filtered-message: option<string>,
} }
record c-add-actor { record c-add-actor {
entity-unique-id: string, entity-unique-id: s64,
entity-runtime-id: string, entity-runtime-id: s64,
entity-type: string, entity-type: string,
position: tuple<f64, f64, f64>, position: tuple<f64, f64, f64>,
velocity: tuple<f64, f64, f64>, velocity: tuple<f64, f64, f64>,
@ -183,8 +194,8 @@ interface bedrock-packets {
links: list<string>, links: list<string>,
} }
record c-add-item-actor { record c-add-item-actor {
entity-unique-id: string, entity-unique-id: s64,
entity-runtime-id: string, entity-runtime-id: s64,
item: string, item: string,
position: tuple<f64, f64, f64>, position: tuple<f64, f64, f64>,
velocity: tuple<f64, f64, f64>, velocity: tuple<f64, f64, f64>,
@ -194,7 +205,7 @@ interface bedrock-packets {
record c-add-player { record c-add-player {
uuid: uuid, uuid: uuid,
username: string, username: string,
entity-runtime-id: string, entity-runtime-id: s64,
platform-chat-id: string, platform-chat-id: string,
position: tuple<f64, f64, f64>, position: tuple<f64, f64, f64>,
velocity: tuple<f64, f64, f64>, velocity: tuple<f64, f64, f64>,
@ -221,7 +232,7 @@ interface bedrock-packets {
constraints: list<string>, constraints: list<string>,
} }
record c-boss-event { record c-boss-event {
boss-entity-id: string, boss-entity-id: s64,
action: string, action: string,
} }
record c-chunk-radius-update { record c-chunk-radius-update {
@ -231,14 +242,18 @@ interface bedrock-packets {
container-id: u8, container-id: u8,
container-type: u8, container-type: u8,
position: tuple<s32, s32, s32>, position: tuple<s32, s32, s32>,
target-entity-id: string, target-entity-id: s64,
} }
record c-correct-player-move { record c-correct-player-move {
prediction-type: u8, prediction-type: u8,
pos: tuple<f64, f64, f64>, pos: tuple<f64, f64, f64>,
pos-delta: tuple<f64, f64, f64>, pos-delta: tuple<f64, f64, f64>,
on-ground: bool, on-ground: bool,
tick: string, tick: s64,
}
record c-crafting-data {
recipes: list<string>,
clean-recipes: bool,
} }
record c-creative-content { record c-creative-content {
groups: list<string>, groups: list<string>,
@ -262,6 +277,13 @@ interface bedrock-packets {
full-container-name: string, full-container-name: string,
storage-item: string, storage-item: string,
} }
record c-inventory-slot {
window-id: s32,
inventory-slot: s32,
container-name: option<string>,
storage: option<string>,
item: string,
}
record c-item-registry { record c-item-registry {
items: list<string>, items: list<string>,
} }
@ -283,7 +305,7 @@ interface bedrock-packets {
form-data: string, form-data: string,
} }
record c-move-actor-absolute { record c-move-actor-absolute {
entity-runtime-id: string, entity-runtime-id: s64,
%flags: u8, %flags: u8,
position: tuple<f64, f64, f64>, position: tuple<f64, f64, f64>,
pitch: u8, pitch: u8,
@ -291,7 +313,7 @@ interface bedrock-packets {
head-yaw: u8, head-yaw: u8,
} }
record c-move-actor-delta { record c-move-actor-delta {
entity-runtime-id: string, entity-runtime-id: s64,
%flags: s32, %flags: s32,
x: f32, x: f32,
y: f32, y: f32,
@ -301,17 +323,17 @@ interface bedrock-packets {
head-yaw: u8, head-yaw: u8,
} }
record c-move-player { record c-move-player {
player-runtime-id: string, player-runtime-id: s64,
position: tuple<f64, f64, f64>, position: tuple<f64, f64, f64>,
pitch: f32, pitch: f32,
yaw: f32, yaw: f32,
head-yaw: f32, head-yaw: f32,
mode: u8, mode: u8,
on-ground: bool, on-ground: bool,
riding-runtime-id: string, riding-runtime-id: s64,
teleport-cause: s32, teleport-cause: s32,
teleport-source-entity-type: s32, teleport-source-entity-type: s32,
tick: string, tick: s64,
} }
record c-network-chunk-publisher-update { record c-network-chunk-publisher-update {
pos-for-view: tuple<s32, s32, s32>, pos-for-view: tuple<s32, s32, s32>,
@ -370,7 +392,7 @@ interface bedrock-packets {
server-id: string, server-id: string,
} }
record c-remove-actor { record c-remove-actor {
entity-unique-id: string, entity-unique-id: s64,
} }
record c-resource-pack-stack-packet { record c-resource-pack-stack-packet {
resource-pack-required: bool, resource-pack-required: bool,
@ -403,15 +425,15 @@ interface bedrock-packets {
objective-name: string, objective-name: string,
} }
record c-set-actor-data { record c-set-actor-data {
actor-runtime-id: string, actor-runtime-id: s64,
metadata: string, metadata: string,
synced-properties: string, synced-properties: string,
tick: string, tick: s64,
} }
record c-set-actor-motion { record c-set-actor-motion {
target-runtime-id: string, target-runtime-id: s64,
motion: tuple<f64, f64, f64>, motion: tuple<f64, f64, f64>,
tick: string, tick: s64,
} }
record c-set-health { record c-set-health {
health: s32, health: s32,
@ -433,8 +455,8 @@ interface bedrock-packets {
filtered-message: string, filtered-message: string,
} }
record c-start-game { record c-start-game {
entity-id: string, entity-id: s64,
runtime-entity-id: string, runtime-entity-id: s64,
player-gamemode: string, player-gamemode: string,
position: tuple<f64, f64, f64>, position: tuple<f64, f64, f64>,
pitch: f32, pitch: f32,
@ -465,8 +487,8 @@ interface bedrock-packets {
telemetry: string, telemetry: string,
} }
record c-take-item-actor { record c-take-item-actor {
item-runtime-id: string, item-runtime-id: s64,
actor-runtime-id: string, actor-runtime-id: s64,
} }
record c-transfer { record c-transfer {
address: string, address: string,
@ -480,9 +502,9 @@ interface bedrock-packets {
layers: list<string>, layers: list<string>,
} }
record c-update-attributes { record c-update-attributes {
runtime-id: string, runtime-id: s64,
attributes: list<string>, attributes: list<string>,
player-tick: string, player-tick: s64,
} }
record c-update-block { record c-update-block {
position: tuple<s32, s32, s32>, position: tuple<s32, s32, s32>,
@ -515,10 +537,12 @@ interface bedrock-packets {
s-open-connection-request1(s-open-connection-request1), s-open-connection-request1(s-open-connection-request1),
s-open-connection-request2(s-open-connection-request2), s-open-connection-request2(s-open-connection-request2),
s-unconnected-ping(s-unconnected-ping), s-unconnected-ping(s-unconnected-ping),
s-request-ability(s-request-ability),
s-request-chunk-radius(s-request-chunk-radius), s-request-chunk-radius(s-request-chunk-radius),
s-request-network-settings(s-request-network-settings), s-request-network-settings(s-request-network-settings),
s-resource-pack-response(s-resource-pack-response), s-resource-pack-response(s-resource-pack-response),
s-set-local-player-as-initialized(s-set-local-player-as-initialized), 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), s-text(s-text),
unknown, unknown,
} }
@ -531,11 +555,13 @@ interface bedrock-packets {
c-chunk-radius-update(c-chunk-radius-update), c-chunk-radius-update(c-chunk-radius-update),
c-container-open(c-container-open), c-container-open(c-container-open),
c-correct-player-move(c-correct-player-move), c-correct-player-move(c-correct-player-move),
c-crafting-data(c-crafting-data),
c-creative-content(c-creative-content), c-creative-content(c-creative-content),
c-disconnect-player(c-disconnect-player), c-disconnect-player(c-disconnect-player),
c-gamerules-changed(c-gamerules-changed), c-gamerules-changed(c-gamerules-changed),
c-handshake(c-handshake), c-handshake(c-handshake),
c-inventory-content(c-inventory-content), c-inventory-content(c-inventory-content),
c-inventory-slot(c-inventory-slot),
c-item-registry(c-item-registry), c-item-registry(c-item-registry),
c-item-stack-response(c-item-stack-response), c-item-stack-response(c-item-stack-response),
c-level-chunk(c-level-chunk), c-level-chunk(c-level-chunk),

View File

@ -2,9 +2,62 @@ package pumpkin:plugin@0.1.0;
interface java-packets { interface java-packets {
use uuid.{ uuid }; use uuid.{ uuid };
record config-s-client-information-config {
locale: string,
view-distance: u8,
chat-mode: s32,
chat-colors: bool,
skin-parts: u8,
main-hand: s32,
text-filtering: bool,
server-listing: bool,
}
record config-s-config-cookie-response {
key: string,
has-payload: bool,
payload: option<list<u8>>,
}
record config-s-custom-click-action {
action-id: string,
payload: option<list<u8>>,
}
record config-s-keep-alive {
keep-alive-id: s64,
}
record config-s-known-packs {
known-pack-count: s32,
}
record config-s-plugin-message {
channel: string,
data: list<u8>,
}
record config-s-config-resource-pack {
uuid: uuid,
%result: s32,
}
record login-s-login-cookie-response {
key: string,
payload: option<list<u8>>,
}
record login-s-encryption-response {
shared-secret: list<u8>,
verify-token: list<u8>,
}
record login-s-login-start {
name: string,
uuid: uuid,
}
record login-s-login-plugin-response {
message-id: s32,
data: option<list<u8>>,
}
record s-attack { record s-attack {
entity-id: s32, entity-id: s32,
} }
record s-bundle-item-selected {
slot-id: s32,
selected-item-index: s32,
}
record s-change-game-mode { record s-change-game-mode {
game-mode: string, game-mode: string,
} }
@ -196,9 +249,22 @@ interface java-packets {
selection-priority: s32, selection-priority: s32,
placement-priority: s32, placement-priority: s32,
} }
record s-set-test-block {
position: tuple<s32, s32, s32>,
mode: string,
message: string,
}
record s-swing-arm { record s-swing-arm {
hand: s32, hand: s32,
} }
record s-teleport-to-entity {
target: uuid,
}
record s-test-instance-block-action {
pos: tuple<s32, s32, s32>,
action: string,
data: string,
}
record s-update-sign { record s-update-sign {
location: tuple<s32, s32, s32>, location: tuple<s32, s32, s32>,
is-front-text: bool, is-front-text: bool,
@ -222,6 +288,70 @@ interface java-packets {
is-against-world-border: bool, is-against-world-border: bool,
sequence: s32, sequence: s32,
} }
record status-s-status-ping-request {
payload: s64,
}
record config-c-config-add-resource-pack {
uuid: uuid,
url: string,
hash: string,
forced: bool,
prompt-message: option<string>,
}
record config-c-config-disconnect {
reason: string,
}
record config-c-cookie-request {
key: string,
}
record config-c-known-packs {
known-packs: list<string>,
}
record config-c-plugin-message {
channel: string,
data: list<u8>,
}
record config-c-registry-data {
registry-id: string,
entries: list<string>,
}
record config-c-config-server-links {
links: list<string>,
}
record config-c-config-show-dialog {
dialog: string,
}
record config-c-store-cookie {
key: string,
payload: list<u8>,
}
record config-c-transfer {
host: string,
port: s32,
}
record config-c-update-tags {
tags: list<string>,
}
record login-c-login-cookie-request {
key: string,
}
record login-c-encryption-request {
server-id: string,
public-key: list<u8>,
verify-token: list<u8>,
should-authenticate: bool,
}
record login-c-login-disconnect {
json-reason: string,
}
record login-c-login-plugin-request {
message-id: s32,
channel: string,
data: list<u8>,
}
record login-c-set-compression {
threshold: s32,
}
record c-acknowledge-block-change { record c-acknowledge-block-change {
sequence-id: s32, sequence-id: s32,
} }
@ -371,7 +501,7 @@ interface java-packets {
z: f64, z: f64,
old-diameter: f64, old-diameter: f64,
new-diameter: f64, new-diameter: f64,
speed: string, speed: s64,
portal-teleport-boundary: s32, portal-teleport-boundary: s32,
warning-blocks: s32, warning-blocks: s32,
warning-time: s32, warning-time: s32,
@ -420,7 +550,7 @@ interface java-packets {
} }
record c-multi-block-update { record c-multi-block-update {
chunk-section: s64, chunk-section: s64,
updates: list<string>, updates: list<s64>,
} }
record c-open-screen { record c-open-screen {
sync-id: s32, sync-id: s32,
@ -513,6 +643,9 @@ interface java-packets {
player-spawn-info: string, player-spawn-info: string,
data-kept: u8, data-kept: u8,
} }
record c-select-advancements-tab {
tab-id: option<string>,
}
record c-play-server-links { record c-play-server-links {
links: list<string>, links: list<string>,
} }
@ -523,7 +656,7 @@ interface java-packets {
record c-set-border-lerp-size { record c-set-border-lerp-size {
old-diameter: f64, old-diameter: f64,
new-diameter: f64, new-diameter: f64,
speed: string, speed: s64,
} }
record c-set-border-size { record c-set-border-size {
diameter: f64, diameter: f64,
@ -664,6 +797,13 @@ interface java-packets {
z: s32, z: s32,
x: s32, x: s32,
} }
record c-update-advancements {
reset: bool,
added: list<string>,
removed: list<string>,
progress: list<string>,
show-advancements: bool,
}
record c-update-attributes { record c-update-attributes {
entity-id: s32, entity-id: s32,
properties: list<string>, properties: list<string>,
@ -713,8 +853,28 @@ interface java-packets {
data: s32, data: s32,
disable-relative-volume: bool, disable-relative-volume: bool,
} }
record status-c-ping-response {
payload: s64,
}
record status-c-status-response {
json-response: string,
}
variant serverbound-packet { variant serverbound-packet {
config-s-acknowledge-finish-config,
config-s-client-information-config(config-s-client-information-config),
config-s-config-cookie-response(config-s-config-cookie-response),
config-s-custom-click-action(config-s-custom-click-action),
config-s-keep-alive(config-s-keep-alive),
config-s-known-packs(config-s-known-packs),
config-s-plugin-message(config-s-plugin-message),
config-s-config-resource-pack(config-s-config-resource-pack),
login-s-login-cookie-response(login-s-login-cookie-response),
login-s-encryption-response(login-s-encryption-response),
login-s-login-acknowledged,
login-s-login-start(login-s-login-start),
login-s-login-plugin-response(login-s-login-plugin-response),
s-attack(s-attack), s-attack(s-attack),
s-bundle-item-selected(s-bundle-item-selected),
s-change-game-mode(s-change-game-mode), s-change-game-mode(s-change-game-mode),
s-chat-command(s-chat-command), s-chat-command(s-chat-command),
s-chat-message(s-chat-message), s-chat-message(s-chat-message),
@ -758,13 +918,36 @@ interface java-packets {
s-set-creative-slot(s-set-creative-slot), s-set-creative-slot(s-set-creative-slot),
s-set-held-item(s-set-held-item), s-set-held-item(s-set-held-item),
s-set-jigsaw-block(s-set-jigsaw-block), s-set-jigsaw-block(s-set-jigsaw-block),
s-set-test-block(s-set-test-block),
s-swing-arm(s-swing-arm), s-swing-arm(s-swing-arm),
s-teleport-to-entity(s-teleport-to-entity),
s-test-instance-block-action(s-test-instance-block-action),
s-update-sign(s-update-sign), s-update-sign(s-update-sign),
s-use-item(s-use-item), s-use-item(s-use-item),
s-use-item-on(s-use-item-on), s-use-item-on(s-use-item-on),
status-s-status-ping-request(status-s-status-ping-request),
status-s-status-request,
unknown, unknown,
} }
variant clientbound-packet { variant clientbound-packet {
config-c-config-add-resource-pack(config-c-config-add-resource-pack),
config-c-config-clear-dialog,
config-c-config-disconnect(config-c-config-disconnect),
config-c-cookie-request(config-c-cookie-request),
config-c-finish-config,
config-c-known-packs(config-c-known-packs),
config-c-plugin-message(config-c-plugin-message),
config-c-registry-data(config-c-registry-data),
config-c-config-server-links(config-c-config-server-links),
config-c-config-show-dialog(config-c-config-show-dialog),
config-c-store-cookie(config-c-store-cookie),
config-c-transfer(config-c-transfer),
config-c-update-tags(config-c-update-tags),
login-c-login-cookie-request(login-c-login-cookie-request),
login-c-encryption-request(login-c-encryption-request),
login-c-login-disconnect(login-c-login-disconnect),
login-c-login-plugin-request(login-c-login-plugin-request),
login-c-set-compression(login-c-set-compression),
c-acknowledge-block-change(c-acknowledge-block-change), c-acknowledge-block-change(c-acknowledge-block-change),
c-action-bar(c-action-bar), c-action-bar(c-action-bar),
c-award-stats(c-award-stats), c-award-stats(c-award-stats),
@ -825,6 +1008,7 @@ interface java-packets {
c-remove-mob-effect(c-remove-mob-effect), c-remove-mob-effect(c-remove-mob-effect),
c-reset-score(c-reset-score), c-reset-score(c-reset-score),
c-respawn(c-respawn), c-respawn(c-respawn),
c-select-advancements-tab(c-select-advancements-tab),
c-play-server-links(c-play-server-links), c-play-server-links(c-play-server-links),
c-set-border-center(c-set-border-center), c-set-border-center(c-set-border-center),
c-set-border-lerp-size(c-set-border-lerp-size), c-set-border-lerp-size(c-set-border-lerp-size),
@ -858,6 +1042,7 @@ interface java-packets {
c-ticking-step(c-ticking-step), c-ticking-step(c-ticking-step),
c-transfer(c-transfer), c-transfer(c-transfer),
c-unload-chunk(c-unload-chunk), c-unload-chunk(c-unload-chunk),
c-update-advancements(c-update-advancements),
c-update-attributes(c-update-attributes), c-update-attributes(c-update-attributes),
c-update-entity-pos(c-update-entity-pos), c-update-entity-pos(c-update-entity-pos),
c-update-entity-pos-rot(c-update-entity-pos-rot), c-update-entity-pos-rot(c-update-entity-pos-rot),
@ -866,6 +1051,8 @@ interface java-packets {
c-update-objectives(c-update-objectives), c-update-objectives(c-update-objectives),
c-update-score(c-update-score), c-update-score(c-update-score),
c-world-event(c-world-event), c-world-event(c-world-event),
status-c-ping-response(status-c-ping-response),
status-c-status-response(status-c-status-response),
unknown, unknown,
} }
} }