高度なアクション
EasyMenu 7では、一連のアクションシーケンスの中で待機(ディレイ)、テレポート、ステータス効果の付与、ユーザーからの入力受付などの高度な制御が可能です。
ディレイ(待機) (type: delay)
指定した時間だけ後続のアクション実行を待機させます。
EasyMenuのディレイは非同期スケジューラーで管理されているため、サーバースレッドを停止(フリーズ)させることなく安全に待機できます。
actions:
- type: message
message: "&e3秒後にテレポートします。動かないでください..."
- type: sound
sound: "BLOCK_NOTE_BLOCK_HAT"
- type: delay
duration: 3s # 3秒待機 (例: 500ms, 2s, 1m)
- type: teleport
world: "world"
x: 100.5
y: 64.0
z: -200.5
- type: message
message: "&aテレポート完了!"
テレポート (type: teleport)
プレイヤーを指定したワールドと座標へテレポートさせます。
actions:
- type: teleport
world: "world_nether" # ワールド名
x: 0.5 # X座標 (プレースホルダーも使用可)
y: 70.0 # Y座標
z: 0.5 # Z座標
yaw: 90.0 # 水平アングル (省略可)
pitch: 0.0 # 垂直アングル (省略可)
reset-velocity: true # 落下速度などの慣性をリセット (省略時: true)
no-fall-ticks: 40 # テレポート後に落下距離をリセットし続けるtick数 (省略時: 0 = 行わない)
| キー | 必須 | 説明 |
|---|---|---|
world, x, y, z | 必須 | 1つでも欠けるとロード時にエラーです。プレースホルダーを使えます(クリック時に展開)。 |
yaw, pitch | 任意 | 省略するとテレポート前のプレイヤーの向きを維持します。 |
reset-velocity | 任意(true) | true のとき、テレポート後に速度を 0 にします。 |
no-fall-ticks | 任意(0) | 0 より大きいと、指定tickの間、毎tick落下距離をリセットして落下ダメージを防ぎます。最大 1200(60秒)に丸められます。 |
safe キーは現在機能しませんsafe キーは設定として読み込まれますが、現在のEasyMenu 7.0.2のテレポート処理では参照されません。safe: true と書いても安全な足場は検索されず、指定した座標へそのままテレポートします。
安全な着地点が必要な場合は、座標側で安全な場所を指定してください。
ポーション効果の付与 (type: potion-effect)
プレイヤーに一定時間のステータス効果(バフ/デバフ)を付与します。
actions:
- type: potion-effect
effect: "SPEED" # ポーション効果名 (PotionEffectType)
duration: 30s # 持続時間 (例: 10s, 1m)
amplifier: 1 # レベル (0 = Lv1, 1 = Lv2, ...)
ambient: true # ビーコン効果のような薄いパーティクルにするか
particles: true # パーティクルを表示するか
アクション内でのチャット入力受付 (type: input)
クリック後にチャットでプレイヤーから数値や文字列を入力させ、その値を元にコマンドを実行できます。
入力待ちの間はメニューが閉じ、プレイヤーは cancel と入力して取り消せます。
actions:
- type: input
prompt: "&e引き出したい金額(1〜100,000)をチャットに入力してください:"
input-type: integer # string(省略時), integer, decimal
min: 1
max: 100000
timeout-seconds: 30 # 入力待機タイムアウト秒数(省略時: 60)
command: "bank withdraw {player} {input}"
| キー | 必須 | 説明 |
|---|---|---|
prompt | 必須 | プレイヤーに表示する案内文。 |
input-type | 任意(string) | string、integer、decimal のいずれか。それ以外(text、boolean など)はエラーです。 |
min / max | 任意 | integer / decimal の範囲。min が max を超えるとエラーです。 |
timeout-seconds | 任意(60) | 入力待ちのタイムアウト。0 以下はエラーです。 |
variable | 任意(input) | 入力値を参照する変数名。variable: amount なら {amount} で参照します。 |
command | 任意 | 入力後にプレイヤーとして実行するコマンド。必ず {変数名}(既定では {input})を含める必要があり、含まないとロード時にエラーになります。 |
actions | 任意 | 入力後に順番に実行するアクション。command と併用した場合は command が先に実行されます。 |
inputs(メニュー全体の入力)とは別の仕組みですtype: input アクションが受け付ける型は string / integer / decimal の3種類です。
メニューのトップレベルで宣言する inputs の型(text / integer / decimal / boolean / option)とは名前も種類も異なります。詳しくは 入力 を参照してください。
入力後の処理(command か actions)が1つもない場合、警告が出力されます。
inputs フォーム機能EasyMenu 7では、Native Dialogでの専用入力欄(スライダーやテキストボックス)にも対応した、より強力な 入力フォーム(inputs) 機能も利用できます。