add move events

This commit is contained in:
Alexander Medvedev 2026-08-04 14:33:03 +02:00
parent 3f5bbef2c2
commit ff6acb80b1
3 changed files with 342 additions and 10 deletions

View File

@ -107,12 +107,19 @@ interface bedrock-packets {
tick: s64,
delta: tuple<f64, f64, f64>,
block-actions: option<list<string>>,
item-interaction: option<string>,
item-stack-request: option<string>,
vehicle-rotation: option<string>,
vehicle-unique-id: option<s64>,
analog-move: string,
camera-orientation: tuple<f64, f64, f64>,
raw-move: string,
}
record s-player-hotbar {
selected-slot: s32,
container-id: u8,
select-slot: bool,
}
record s-connected-ping {
time: s64,
}
@ -143,6 +150,11 @@ interface bedrock-packets {
magic: string,
client-guid: s64,
}
record s-unconnected-ping-open-connections {
time: s64,
magic: string,
client-guid: s64,
}
record s-request-ability {
ability: s32,
value: string,
@ -235,6 +247,12 @@ interface bedrock-packets {
boss-entity-id: s64,
action: string,
}
record c-change-dimension {
dimension: s32,
position: tuple<f64, f64, f64>,
respawn: bool,
has-loading-screen-id: bool,
}
record c-chunk-radius-update {
chunk-radius: s32,
}
@ -300,6 +318,14 @@ interface bedrock-packets {
position: tuple<f64, f64, f64>,
data: s32,
}
record c-level-sound-event {
sound-id: s32,
position: tuple<f64, f64, f64>,
extra-data: s32,
entity-type: string,
is-baby-mob: bool,
is-global: bool,
}
record c-modal-form-request {
form-id: s32,
form-data: string,
@ -379,6 +405,22 @@ interface bedrock-packets {
requested-timestamp: s64,
timestamp: s64,
}
record c-already-connected {
magic: string,
server-guid: s64,
}
record c-no-free-incoming-connections {
magic: string,
server-guid: s64,
}
record c-connection-banned {
magic: string,
server-guid: s64,
}
record c-ip-recently-connected {
magic: string,
server-guid: s64,
}
record c-incompatible-protocol-version {
protocol-version: u8,
magic: string,
@ -442,17 +484,29 @@ interface bedrock-packets {
synced-properties: string,
tick: s64,
}
record c-set-actor-link {
link: string,
}
record c-set-actor-motion {
target-runtime-id: s64,
motion: tuple<f64, f64, f64>,
tick: s64,
}
record c-set-difficulty {
difficulty: s32,
}
record c-set-health {
health: s32,
}
record c-set-player-gamemode {
gamemode: string,
}
record c-set-spawn-position {
spawn-type: s32,
position: tuple<s32, s32, s32>,
dimension: s32,
spawn-position: tuple<s32, s32, s32>,
}
record c-set-time {
time: s32,
}
@ -466,6 +520,10 @@ interface bedrock-packets {
platform-online-id: string,
filtered-message: string,
}
record c-show-credits {
player-runtime-id: s64,
status: s32,
}
record c-start-game {
entity-id: s64,
runtime-entity-id: s64,
@ -529,6 +587,7 @@ interface bedrock-packets {
s-animate(s-animate),
s-block-pick-request(s-block-pick-request),
s-client-cache-status(s-client-cache-status),
s-client-to-server-handshake,
s-command-request(s-command-request),
s-container-close(s-container-close),
s-emote(s-emote),
@ -542,13 +601,16 @@ interface bedrock-packets {
s-modal-form-response(s-modal-form-response),
s-player-action(s-player-action),
s-player-auth-input(s-player-auth-input),
s-player-hotbar(s-player-hotbar),
s-connected-ping(s-connected-ping),
s-connection-request(s-connection-request),
s-new-incoming-connection(s-new-incoming-connection),
s-disconnect,
s-connection-lost,
s-open-connection-request1(s-open-connection-request1),
s-open-connection-request2(s-open-connection-request2),
s-unconnected-ping(s-unconnected-ping),
s-unconnected-ping-open-connections(s-unconnected-ping-open-connections),
s-request-ability(s-request-ability),
s-request-chunk-radius(s-request-chunk-radius),
s-request-network-settings(s-request-network-settings),
@ -564,6 +626,7 @@ interface bedrock-packets {
c-add-player(c-add-player),
c-available-commands(c-available-commands),
c-boss-event(c-boss-event),
c-change-dimension(c-change-dimension),
c-chunk-radius-update(c-chunk-radius-update),
c-container-open(c-container-open),
c-correct-player-move(c-correct-player-move),
@ -578,6 +641,7 @@ interface bedrock-packets {
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-modal-form-request(c-modal-form-request),
c-move-actor-absolute(c-move-actor-absolute),
c-move-actor-delta(c-move-actor-delta),
@ -589,6 +653,11 @@ interface bedrock-packets {
c-player-list(c-player-list),
c-connected-pong(c-connected-pong),
c-connection-request-accepted(c-connection-request-accepted),
c-already-connected(c-already-connected),
c-no-free-incoming-connections(c-no-free-incoming-connections),
c-connection-banned(c-connection-banned),
c-ip-recently-connected(c-ip-recently-connected),
c-disconnect,
c-incompatible-protocol-version(c-incompatible-protocol-version),
c-open-connection-reply1(c-open-connection-reply1),
c-open-connection-reply2(c-open-connection-reply2),
@ -600,11 +669,15 @@ interface bedrock-packets {
c-set-score(c-set-score),
c-remove-objective(c-remove-objective),
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-health(c-set-health),
c-set-player-gamemode(c-set-player-gamemode),
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),

View File

@ -111,13 +111,6 @@ interface event {
cancelled: bool
}
record player-drop-item-event-data {
player: player,
item-stack: item-stack,
drop-full-stack: bool,
cancelled: bool
}
record player-changed-main-hand-event-data {
player: player,
main-hand: hand
@ -347,6 +340,192 @@ interface event {
cancelled: bool
}
record player-interact-entity-event-data {
player: player,
entity-id: s32,
action: entity-interaction-action,
sneaking: bool,
cancelled: bool
}
record chunk-load-event-data {
target-world: %world,
chunk-x: s32,
chunk-z: s32,
cancelled: bool
}
record chunk-save-event-data {
target-world: %world,
chunk-x: s32,
chunk-z: s32,
cancelled: bool
}
record chunk-send-event-data {
target-world: %world,
chunk-x: s32,
chunk-z: s32,
cancelled: bool
}
record entity-damage-event-data {
entity-id: s32,
damage: f32,
cause: string,
cancelled: bool
}
record entity-death-event-data {
entity-id: s32,
dropped-exp: s32
}
record player-death-event-data {
player: player,
death-message: text-component,
dropped-exp: s32,
keep-inventory: bool,
cancelled: bool
}
record entity-spawn-event-data {
entity-id: s32,
entity-type: string,
position: position,
target-world: %world,
cancelled: bool
}
record entity-combust-event-data {
entity-id: s32,
duration-secs: f32,
cancelled: bool
}
record entity-regain-health-event-data {
entity-id: s32,
amount: f32,
cancelled: bool
}
record player-item-consume-event-data {
player: player,
item-name: string,
cancelled: bool
}
record player-item-damage-event-data {
player: player,
item-name: string,
damage: s32,
cancelled: bool
}
record player-drop-item-event-data {
player: player,
item-name: string,
count: u8,
cancelled: bool
}
record player-bed-enter-event-data {
player: player,
bed-pos: block-pos,
cancelled: bool
}
record player-bed-leave-event-data {
player: player,
bed-pos: block-pos
}
record player-bucket-empty-event-data {
player: player,
block-pos: block-pos,
bucket: string,
cancelled: bool
}
record player-bucket-fill-event-data {
player: player,
block-pos: block-pos,
bucket: string,
cancelled: bool
}
record block-damage-event-data {
player: player,
block-pos: block-pos,
insta-break: bool,
cancelled: bool
}
record block-ignite-event-data {
block-pos: block-pos,
cancelled: bool
}
record block-from-to-event-data {
from-pos: block-pos,
to-pos: block-pos,
cancelled: bool
}
record block-form-event-data {
block-pos: block-pos,
cancelled: bool
}
record block-fade-event-data {
block-pos: block-pos,
cancelled: bool
}
record weather-change-event-data {
target-world: %world,
to-weather-state: bool,
cancelled: bool
}
record thunder-change-event-data {
target-world: %world,
to-thunder-state: bool,
cancelled: bool
}
record world-load-event-data {
target-world: %world
}
record world-unload-event-data {
target-world: %world,
cancelled: bool
}
record inventory-open-event-data {
player: player,
cancelled: bool
}
record inventory-drag-event-data {
player: player,
cancelled: bool
}
record craft-item-event-data {
player: player,
recipe-id: string,
cancelled: bool
}
record furnace-smelt-event-data {
block-pos: block-pos,
source-item: string,
result-item: string,
cancelled: bool
}
enum event-type {
player-join-event,
player-leave-event,
@ -360,13 +539,13 @@ interface event {
player-respawn-event,
player-exp-change-event,
player-item-held-event,
player-drop-item-event,
player-changed-main-hand-event,
player-gamemode-change-event,
player-custom-payload-event,
player-fish-event,
player-egg-throw-event,
player-interact-unknown-entity-event,
player-interact-entity-event,
player-interact-event,
player-toggle-sneak-event,
player-toggle-flight-event,
@ -389,6 +568,35 @@ interface event {
server-tick-end-event,
packet-received-event,
packet-sent-event,
chunk-load-event,
chunk-save-event,
chunk-send-event,
entity-damage-event,
entity-death-event,
player-death-event,
entity-spawn-event,
entity-combust-event,
entity-regain-health-event,
player-item-consume-event,
player-item-damage-event,
player-drop-item-event,
player-bed-enter-event,
player-bed-leave-event,
player-bucket-empty-event,
player-bucket-fill-event,
block-damage-event,
block-ignite-event,
block-from-to-event,
block-form-event,
block-fade-event,
weather-change-event,
thunder-change-event,
world-load-event,
world-unload-event,
inventory-open-event,
inventory-drag-event,
craft-item-event,
furnace-smelt-event,
}
variant event {
@ -404,13 +612,13 @@ interface event {
player-respawn-event(player-respawn-event-data),
player-exp-change-event(player-exp-change-event-data),
player-item-held-event(player-item-held-event-data),
player-drop-item-event(player-drop-item-event-data),
player-changed-main-hand-event(player-changed-main-hand-event-data),
player-gamemode-change-event(player-gamemode-change-event-data),
player-custom-payload-event(player-custom-payload-event-data),
player-fish-event(player-fish-event-data),
player-egg-throw-event(player-egg-throw-event-data),
player-interact-unknown-entity-event(player-interact-unknown-entity-event-data),
player-interact-entity-event(player-interact-entity-event-data),
player-interact-event(player-interact-event-data),
player-toggle-sneak-event(player-toggle-sneak-event-data),
player-toggle-flight-event(player-toggle-flight-event-data),
@ -433,5 +641,34 @@ interface event {
server-tick-end-event(server-tick-end-event-data),
packet-received-event(packet-received-event-data),
packet-sent-event(packet-sent-event-data),
chunk-load-event(chunk-load-event-data),
chunk-save-event(chunk-save-event-data),
chunk-send-event(chunk-send-event-data),
entity-damage-event(entity-damage-event-data),
entity-death-event(entity-death-event-data),
player-death-event(player-death-event-data),
entity-spawn-event(entity-spawn-event-data),
entity-combust-event(entity-combust-event-data),
entity-regain-health-event(entity-regain-health-event-data),
player-item-consume-event(player-item-consume-event-data),
player-item-damage-event(player-item-damage-event-data),
player-drop-item-event(player-drop-item-event-data),
player-bed-enter-event(player-bed-enter-event-data),
player-bed-leave-event(player-bed-leave-event-data),
player-bucket-empty-event(player-bucket-empty-event-data),
player-bucket-fill-event(player-bucket-fill-event-data),
block-damage-event(block-damage-event-data),
block-ignite-event(block-ignite-event-data),
block-from-to-event(block-from-to-event-data),
block-form-event(block-form-event-data),
block-fade-event(block-fade-event-data),
weather-change-event(weather-change-event-data),
thunder-change-event(thunder-change-event-data),
world-load-event(world-load-event-data),
world-unload-event(world-unload-event-data),
inventory-open-event(inventory-open-event-data),
inventory-drag-event(inventory-drag-event-data),
craft-item-event(craft-item-event-data),
furnace-smelt-event(furnace-smelt-event-data),
}
}

View File

@ -25,7 +25,7 @@ interface java-packets {
keep-alive-id: s64,
}
record config-s-known-packs {
known-pack-count: s32,
known-packs: list<string>,
}
record config-s-plugin-message {
channel: string,
@ -125,6 +125,12 @@ interface java-packets {
channel: string,
data: list<u8>,
}
record s-debug-sample-subscription {
sample-type: s32,
}
record s-debug-subscription-request {
sample-type: s32,
}
record s-interact {
entity-id: s32,
r-type: s32,
@ -308,6 +314,9 @@ interface java-packets {
record config-c-cookie-request {
key: string,
}
record config-c-feature-flags {
features: list<string>,
}
record config-c-known-packs {
known-packs: list<string>,
}
@ -434,6 +443,10 @@ interface java-packets {
source-direct-id: s32,
source-position: option<tuple<f64, f64, f64>>,
}
record c-debug-sample {
sample: list<s64>,
sample-type: s32,
}
record c-play-disconnect {
reason: string,
}
@ -691,6 +704,10 @@ interface java-packets {
record c-set-cursor-item {
stack: string,
}
record c-set-entity-link {
attached-entity-id: s32,
holding-entity-id: s32,
}
record c-set-equipment {
entity-id: s32,
equipment: list<string>,
@ -894,6 +911,8 @@ interface java-packets {
s-cookie-response(s-cookie-response),
s-custom-click-action(s-custom-click-action),
s-custom-payload(s-custom-payload),
s-debug-sample-subscription(s-debug-sample-subscription),
s-debug-subscription-request(s-debug-subscription-request),
s-interact(s-interact),
s-jigsaw-generate(s-jigsaw-generate),
s-keep-alive(s-keep-alive),
@ -939,6 +958,7 @@ interface java-packets {
config-c-config-clear-dialog,
config-c-config-disconnect(config-c-config-disconnect),
config-c-cookie-request(config-c-cookie-request),
config-c-feature-flags(config-c-feature-flags),
config-c-finish-config,
config-c-known-packs(config-c-known-packs),
config-c-plugin-message(config-c-plugin-message),
@ -975,6 +995,7 @@ interface java-packets {
c-play-cookie-request(c-play-cookie-request),
c-custom-payload(c-custom-payload),
c-damage-event(c-damage-event),
c-debug-sample(c-debug-sample),
c-play-disconnect(c-play-disconnect),
c-disguised-chat-message(c-disguised-chat-message),
c-display-objective(c-display-objective),
@ -1024,6 +1045,7 @@ interface java-packets {
c-set-container-property(c-set-container-property),
c-set-container-slot(c-set-container-slot),
c-set-cursor-item(c-set-cursor-item),
c-set-entity-link(c-set-entity-link),
c-set-equipment(c-set-equipment),
c-set-experience(c-set-experience),
c-set-health(c-set-health),