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

View File

@ -2,9 +2,62 @@ package pumpkin:plugin@0.1.0;
interface java-packets {
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 {
entity-id: s32,
}
record s-bundle-item-selected {
slot-id: s32,
selected-item-index: s32,
}
record s-change-game-mode {
game-mode: string,
}
@ -196,9 +249,22 @@ interface java-packets {
selection-priority: s32,
placement-priority: s32,
}
record s-set-test-block {
position: tuple<s32, s32, s32>,
mode: string,
message: string,
}
record s-swing-arm {
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 {
location: tuple<s32, s32, s32>,
is-front-text: bool,
@ -222,6 +288,70 @@ interface java-packets {
is-against-world-border: bool,
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 {
sequence-id: s32,
}
@ -371,7 +501,7 @@ interface java-packets {
z: f64,
old-diameter: f64,
new-diameter: f64,
speed: string,
speed: s64,
portal-teleport-boundary: s32,
warning-blocks: s32,
warning-time: s32,
@ -420,7 +550,7 @@ interface java-packets {
}
record c-multi-block-update {
chunk-section: s64,
updates: list<string>,
updates: list<s64>,
}
record c-open-screen {
sync-id: s32,
@ -513,6 +643,9 @@ interface java-packets {
player-spawn-info: string,
data-kept: u8,
}
record c-select-advancements-tab {
tab-id: option<string>,
}
record c-play-server-links {
links: list<string>,
}
@ -523,7 +656,7 @@ interface java-packets {
record c-set-border-lerp-size {
old-diameter: f64,
new-diameter: f64,
speed: string,
speed: s64,
}
record c-set-border-size {
diameter: f64,
@ -664,6 +797,13 @@ interface java-packets {
z: 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 {
entity-id: s32,
properties: list<string>,
@ -713,8 +853,28 @@ interface java-packets {
data: s32,
disable-relative-volume: bool,
}
record status-c-ping-response {
payload: s64,
}
record status-c-status-response {
json-response: string,
}
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-bundle-item-selected(s-bundle-item-selected),
s-change-game-mode(s-change-game-mode),
s-chat-command(s-chat-command),
s-chat-message(s-chat-message),
@ -758,13 +918,36 @@ interface java-packets {
s-set-creative-slot(s-set-creative-slot),
s-set-held-item(s-set-held-item),
s-set-jigsaw-block(s-set-jigsaw-block),
s-set-test-block(s-set-test-block),
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-use-item(s-use-item),
s-use-item-on(s-use-item-on),
status-s-status-ping-request(status-s-status-ping-request),
status-s-status-request,
unknown,
}
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-action-bar(c-action-bar),
c-award-stats(c-award-stats),
@ -825,6 +1008,7 @@ interface java-packets {
c-remove-mob-effect(c-remove-mob-effect),
c-reset-score(c-reset-score),
c-respawn(c-respawn),
c-select-advancements-tab(c-select-advancements-tab),
c-play-server-links(c-play-server-links),
c-set-border-center(c-set-border-center),
c-set-border-lerp-size(c-set-border-lerp-size),
@ -858,6 +1042,7 @@ interface java-packets {
c-ticking-step(c-ticking-step),
c-transfer(c-transfer),
c-unload-chunk(c-unload-chunk),
c-update-advancements(c-update-advancements),
c-update-attributes(c-update-attributes),
c-update-entity-pos(c-update-entity-pos),
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-score(c-update-score),
c-world-event(c-world-event),
status-c-ping-response(status-c-ping-response),
status-c-status-response(status-c-status-response),
unknown,
}
}