Commander-API イベント一覧
このドキュメントは、Commander-APIのalphaブランチの/src/events/にあるすべてのイベントのドキュメントです。
イベントの種類
Commander-APIのイベントは、大きく以下の3つのカテゴリに分類されます:
- トリガーイベント - 特定のアクションが発生したときに一度だけトリガーされるイベント
- ティックイベント(スコアベース) - 毎ティック情報を更新するイベント(スコアボードで管理)
- ティックイベント(タグベース) - 毎ティック状態を監視してタグを付与/削除するイベント
トリガーイベント
プレイヤーアクション
- buttonPush - ボタンを押したとき
- chatSend - チャットメッセージを送信したとき
- playerSpawn - プレイヤーがスポーン/リスポーンしたとき
- playerLeave - プレイヤーがサーバーから退出したとき
ブロック操作
- playerBreakBlock - ブロックを破壊したとき
- playerPlaceBlock - ブロックを設置したとき
- playerInteractWithBlock - ブロックをインタラクトしたとき
アイテム使用
エンティティインタラクション
- playerInteractWithEntity - エンティティをインタラクトしたとき
- entityHitBlock - ブロックを攻撃したとき
- entityHitEntity - エンティティを攻撃したとき
- entityHurt - エンティティがダメージを受けたとき
- entityDie - エンティティが死亡したとき
飛び道具
- projectileShoot - 飛び道具を発射したとき
- projectileHitBlock - 飛び道具がブロックに当たったとき
- projectileHitEntity - 飛び道具がエンティティに当たったとき
環境トリガー
- pressurePlatePush - 感圧板を踏んだとき
- pressurePlatePop - 感圧板から降りたとき
- tripWireTrip - トリップワイヤーを踏んだとき
ティックイベント(スコアベース)
プレイヤーの動き
- velocity - プレイヤーの速度
- location - プレイヤーの座標
- rotation - プレイヤーの回転角度
- viewDirection - プレイヤーの視線方向
- movementVector - プレイヤーの移動入力
プレイヤーの状態
- health - プレイヤーの体力
- selectedSlotIndex - 選択中のホットバースロット
経験値
- level - プレイヤーのレベル
- totalXp - 総経験値
- totalXpNeededForNextLevel - 次のレベルまでの必要経験値
- xpEarnedAtCurrentLevel - 現在レベルで獲得した経験値
視線先の情報
- blockFromViewDirection - 視線先のブロック
- entityFromViewDirection - 視線先のエンティティ
システム情報
- dimension - 現在のディメンション
- timestamp - タイムスタンプ
- maxRenderDistance - 最大描画距離
- memoryTier - メモリティア
ティックイベント(タグベース)
-
プレイヤー状態タグ - プレイヤーの様々な状態を監視してタグを付与/削除
- 権限: isOp
- 移動: isFlying, isGliding, isJumping, isClimbing, isFalling, isInWater, isOnGround, isSneaking, isSprinting, isSwimming, isSleeping, isEmoting, isRiding
- プラットフォーム: isDesktop, isMobile, isConsole
- グラフィック: isGraphicsSimple, isGraphicsFancy, isGraphicsDeferred, isGraphicsRayTraced
タグとスコアの命名規則
タグ
- トリガータグ:
capi:{イベント名}- イベントがトリガーされたときに付与 - 詳細タグ:
{イベント名}:{詳細情報}- イベントの詳細情報を含むタグ - 状態タグ:
capi:is_{状態名}- 状態が真の間付与され続けるタグ
スコアボード
- 基本スコア:
capi:{イベント名}- イベントのメイン情報 - 座標スコア:
capi:{イベント名}_x/y/z- 座標情報 - その他スコア:
capi:{イベント名}_{詳細}- その他の詳細情報
注意事項
- タグの自動削除: イベントタグの多くは
addTagWillRemoveメソッドで付与されており、一定時間後に自動的に削除されます。 - スコアの倍率: 一部のスコア(velocity、viewDirectionなど)は精度のために値が倍率で保存されています。
- 設定による有効化: 一部のイベントは設定ファイルで有効/無効を切り替えることができます。
- プレイヤー検出: 多くのイベントはプレイヤーのアクションのみを検出し、他のエンティティのアクションは無視されます。
使用例
複数のイベントを組み合わせた例:
# 飛行中のプレイヤーが高い場所にいる場合
/execute as @a[tag=capi:fly,scores={capi:location_y=200..}] run say 空高く飛んでいます!
# スニーク中で移動していないプレイヤー
/execute as @a[tag=capi:sneak,scores={capi:velocity_xz=..10}] run say こっそり隠れています
# モバイルでプレイしているプレイヤーがブロックを破壊
/execute as @a[tag=capi:mobile,tag=capi:break] run say モバイルでブロックを破壊しました!