mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-30 20:14:23 +00:00
393 lines
10 KiB
Plaintext
393 lines
10 KiB
Plaintext
interface event {
|
|
use common.{block-pos, game-mode, hand, position, click-type};
|
|
use item-stack.{item-stack};
|
|
use player.{player};
|
|
use text.{text-component};
|
|
use %world.{%world};
|
|
use java-packets.{serverbound-packet as java-serverbound-packet, clientbound-packet as java-clientbound-packet};
|
|
use bedrock-packets.{serverbound-packet as bedrock-serverbound-packet, clientbound-packet as bedrock-clientbound-packet};
|
|
use uuid.{uuid};
|
|
|
|
variant serverbound-packet {
|
|
java(java-serverbound-packet),
|
|
bedrock(bedrock-serverbound-packet),
|
|
}
|
|
|
|
variant clientbound-packet {
|
|
java(java-clientbound-packet),
|
|
bedrock(bedrock-clientbound-packet),
|
|
}
|
|
|
|
enum event-priority {
|
|
highest,
|
|
high,
|
|
normal,
|
|
low,
|
|
lowest,
|
|
}
|
|
|
|
record player-join-event-data {
|
|
player: player,
|
|
join-message: text-component,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-leave-event-data {
|
|
player: player,
|
|
leave-message: text-component,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-login-event-data {
|
|
player: player,
|
|
kick-message: text-component,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-chat-event-data {
|
|
player: player,
|
|
message: string,
|
|
recipients: list<player>,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-command-send-event-data {
|
|
player: player,
|
|
command: string,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-permission-check-event-data {
|
|
player: player,
|
|
permission: string,
|
|
permission-result: bool
|
|
}
|
|
|
|
record player-move-event-data {
|
|
player: player,
|
|
from-position: position,
|
|
to-position: position,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-teleport-event-data {
|
|
player: player,
|
|
from-position: position,
|
|
to-position: position,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-change-world-event-data {
|
|
player: player,
|
|
previous-world: %world,
|
|
new-world: %world,
|
|
position: position,
|
|
yaw: f32,
|
|
pitch: f32,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-exp-change-event-data {
|
|
player: player,
|
|
amount: s32
|
|
}
|
|
|
|
record player-item-held-event-data {
|
|
player: player,
|
|
previous-slot: u8,
|
|
new-slot: u8,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-changed-main-hand-event-data {
|
|
player: player,
|
|
main-hand: hand
|
|
}
|
|
|
|
record player-gamemode-change-event-data {
|
|
player: player,
|
|
previous-gamemode: game-mode,
|
|
new-gamemode: game-mode,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-custom-payload-event-data {
|
|
player: player,
|
|
channel: string,
|
|
data: list<u8>
|
|
}
|
|
|
|
enum player-fish-state {
|
|
fishing,
|
|
caught-fish,
|
|
caught-entity,
|
|
in-ground,
|
|
failed-attempt,
|
|
reel-in,
|
|
bite,
|
|
}
|
|
|
|
record player-fish-event-data {
|
|
player: player,
|
|
caught-uuid: option<uuid>,
|
|
caught-type: string,
|
|
hook-uuid: uuid,
|
|
state: player-fish-state,
|
|
hand: hand,
|
|
exp-to-drop: s32,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-egg-throw-event-data {
|
|
player: player,
|
|
egg-uuid: uuid,
|
|
hatching: bool,
|
|
num-hatches: u8,
|
|
hatching-type: string,
|
|
cancelled: bool
|
|
}
|
|
|
|
enum entity-interaction-action {
|
|
interact,
|
|
attack,
|
|
interact-at,
|
|
}
|
|
|
|
enum interact-action {
|
|
left-click-block,
|
|
left-click-air,
|
|
right-click-air,
|
|
right-click-block,
|
|
}
|
|
|
|
record player-interact-event-data {
|
|
player: player,
|
|
action: interact-action,
|
|
clicked-pos: option<block-pos>,
|
|
block: string,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-toggle-sneak-event-data {
|
|
player: player,
|
|
is-sneaking: bool,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-toggle-flight-event-data {
|
|
player: player,
|
|
is-flying: bool,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-toggle-sprint-event-data {
|
|
player: player,
|
|
is-sprinting: bool,
|
|
cancelled: bool
|
|
}
|
|
|
|
record player-interact-unknown-entity-event-data {
|
|
player: player,
|
|
entity-id: s32,
|
|
action: entity-interaction-action,
|
|
cancelled: bool
|
|
}
|
|
|
|
record inventory-click-event-data {
|
|
player: player,
|
|
window-type: option<string>,
|
|
click-type: click-type,
|
|
slot: s16,
|
|
raw-slot: s16,
|
|
clicked-item: option<item-stack>,
|
|
cursor: option<item-stack>,
|
|
hotbar-button: s32,
|
|
cancelled: bool
|
|
}
|
|
|
|
record inventory-close-event-data {
|
|
player: player,
|
|
window-type: option<string>
|
|
}
|
|
|
|
record block-redstone-event-data {
|
|
target-world: %world,
|
|
state-id: u16,
|
|
block-pos: block-pos,
|
|
old-current: s32,
|
|
new-current: s32,
|
|
cancelled: bool
|
|
}
|
|
|
|
record block-break-event-data {
|
|
player: option<player>,
|
|
block: string,
|
|
block-pos: block-pos,
|
|
exp: u32,
|
|
should-drop: bool,
|
|
cancelled: bool
|
|
}
|
|
|
|
record block-burn-event-data {
|
|
igniting-block: string,
|
|
block: string,
|
|
cancelled: bool
|
|
}
|
|
|
|
record block-can-build-event-data {
|
|
block-to-build: string,
|
|
buildable: bool,
|
|
player: player,
|
|
block: string,
|
|
cancelled: bool
|
|
}
|
|
|
|
record block-grow-event-data {
|
|
target-world: %world,
|
|
old-block: string,
|
|
old-state-id: u16,
|
|
new-block: string,
|
|
new-state-id: u16,
|
|
block-pos: block-pos,
|
|
cancelled: bool
|
|
}
|
|
|
|
record block-place-event-data {
|
|
player: player,
|
|
block-placed: string,
|
|
block-placed-against: string,
|
|
block-pos: block-pos,
|
|
can-build: bool,
|
|
cancelled: bool
|
|
}
|
|
|
|
record bedrock-form-response-event-data {
|
|
player: player,
|
|
form-id: u32,
|
|
response-data: option<string>,
|
|
}
|
|
|
|
record custom-click-action-event-data {
|
|
player: player,
|
|
id: string,
|
|
payload: option<list<u8>>,
|
|
}
|
|
|
|
record server-command-event-data {
|
|
command: string,
|
|
cancelled: bool
|
|
}
|
|
|
|
record spawn-change-event-data {
|
|
target-world: %world,
|
|
previous-position: block-pos,
|
|
previous-yaw: f32,
|
|
previous-pitch: f32,
|
|
new-position: block-pos,
|
|
new-yaw: f32,
|
|
new-pitch: f32
|
|
}
|
|
|
|
record server-broadcast-event-data {
|
|
message: text-component,
|
|
sender: text-component,
|
|
cancelled: bool
|
|
}
|
|
|
|
record server-tick-start-event-data {
|
|
tick: s32
|
|
}
|
|
|
|
record packet-received-event-data {
|
|
player: player,
|
|
packet: serverbound-packet,
|
|
cancelled: bool
|
|
}
|
|
|
|
record packet-sent-event-data {
|
|
player: player,
|
|
packet: clientbound-packet,
|
|
cancelled: bool
|
|
}
|
|
|
|
enum event-type {
|
|
player-join-event,
|
|
player-leave-event,
|
|
player-login-event,
|
|
player-chat-event,
|
|
player-command-send-event,
|
|
player-permission-check-event,
|
|
player-move-event,
|
|
player-teleport-event,
|
|
player-change-world-event,
|
|
player-exp-change-event,
|
|
player-item-held-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-event,
|
|
player-toggle-sneak-event,
|
|
player-toggle-flight-event,
|
|
player-toggle-sprint-event,
|
|
inventory-click-event,
|
|
inventory-close-event,
|
|
block-redstone-event,
|
|
block-break-event,
|
|
block-burn-event,
|
|
block-can-build-event,
|
|
block-grow-event,
|
|
block-place-event,
|
|
bedrock-form-response-event,
|
|
custom-click-action-event,
|
|
server-command-event,
|
|
spawn-change-event,
|
|
server-broadcast-event,
|
|
server-tick-start-event,
|
|
packet-received-event,
|
|
packet-sent-event,
|
|
}
|
|
|
|
variant event {
|
|
player-join-event(player-join-event-data),
|
|
player-leave-event(player-leave-event-data),
|
|
player-login-event(player-login-event-data),
|
|
player-chat-event(player-chat-event-data),
|
|
player-command-send-event(player-command-send-event-data),
|
|
player-permission-check-event(player-permission-check-event-data),
|
|
player-move-event(player-move-event-data),
|
|
player-teleport-event(player-teleport-event-data),
|
|
player-change-world-event(player-change-world-event-data),
|
|
player-exp-change-event(player-exp-change-event-data),
|
|
player-item-held-event(player-item-held-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-event(player-interact-event-data),
|
|
player-toggle-sneak-event(player-toggle-sneak-event-data),
|
|
player-toggle-flight-event(player-toggle-flight-event-data),
|
|
player-toggle-sprint-event(player-toggle-sprint-event-data),
|
|
inventory-click-event(inventory-click-event-data),
|
|
inventory-close-event(inventory-close-event-data),
|
|
block-redstone-event(block-redstone-event-data),
|
|
block-break-event(block-break-event-data),
|
|
block-burn-event(block-burn-event-data),
|
|
block-can-build-event(block-can-build-event-data),
|
|
block-grow-event(block-grow-event-data),
|
|
block-place-event(block-place-event-data),
|
|
bedrock-form-response-event(bedrock-form-response-event-data),
|
|
custom-click-action-event(custom-click-action-event-data),
|
|
server-command-event(server-command-event-data),
|
|
spawn-change-event(spawn-change-event-data),
|
|
server-broadcast-event(server-broadcast-event-data),
|
|
server-tick-start-event(server-tick-start-event-data),
|
|
packet-received-event(packet-received-event-data),
|
|
packet-sent-event(packet-sent-event-data),
|
|
}
|
|
}
|