メインコンテンツまでスキップ

高度なアクション

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) 機能も利用できます。