イベント一覧
ライブラリが発火するイベントの一覧です。パケット自体もイベントとして受信できますが、ここでは プロトコルパケット以外の特殊イベント をまとめます。
パケットイベントについて
パケットは「パケット名から packet_ プレフィックスを除いて小文字化した名前」のイベントで受信できます(例: packet_text → 'text')。全パケットを網羅的に受け取りたい場合は 'packet' イベントを使います。
Client(クライアント)
js
const client = bedrock.createClient({ /* ... */ })
client.on('join', () => { /* ... */ })| イベント | 発火タイミング |
|---|---|
connect_allowed | サーバーへ ping し、バージョン情報を取得した後 |
status | ログインシーケンスの状態が変化したとき |
session | 認証と接続が完了したとき |
join | 認証後、ゲームパケットの受信準備ができたとき |
spawn | ワールドへの出現が完了したとき |
kick | サーバーからキックされたとき |
close | 接続が閉じたとき |
error | 回復可能な例外が発生したとき。捕捉しない場合はスローされる |
heartbeat | tick_sync(keepalive)が双方向に成功した後 |
packet | すべての受信パケットに対して発火 |
発火順序の目安: connect_allowed → status/session → join → spawn
Server(サーバー)
js
const server = bedrock.createServer({ /* ... */ })
server.on('connect', player => { /* ... */ })| イベント | 発火タイミング |
|---|---|
connect | クライアントが接続を開始し、ハンドシェイク中になったとき。引数は Player インスタンス |
error | クライアントに関する捕捉可能な例外(例: 不正な暗号化パケット) |
Player(サーバー上のプレイヤー)
| イベント | 発火タイミング |
|---|---|
login | ID・クライアントデータの検証後。引数 { user, authentication }。オフライン接続は必ず authentication.authenticated === false(XUID は 0 に正規化) |
join | ハンドシェイク / 暗号化成功後、ゲームパケットを受け取れる状態になったとき |
spawn | クライアントからスポーン完了の通知後 |
close | クライアントが退出したとき |
packet | すべての受信パケットに対して発火 |
Relay
Relay ガイド のとおり、Server / Player のイベントに加えて以下を持ちます。
| イベント | 発火タイミング |
|---|---|
clientbound | 宛先サーバーからクライアントへ向かうパケットが通過したとき。(packet, des) を受け取る |
serverbound | クライアントから宛先サーバーへ向かうパケットが通過したとき。(packet, des) を受け取る |
ハンドラ内で des.canceled = true を設定すると、そのパケットの転送がキャンセルされます。