NPCクリック時のコマンド(Command Trait)
1. できること
NPCをクリックしたときに、Minecraft本体や他プラグインのコマンドを実行できます。たとえば、ヘルプの表示、ワールド移動、メニューを開く、報酬を渡す、NPCに文章を言わせる、といった連携に利用できます。
2. 追加と削除
例:クリックしたプレイヤー自身に /help を実行させる。
/npc command add -p help
例:NPCがクリック時にサーバー側から say 相当の発言をする。
/npc command add say こんにちは!
例:登録済みコマンド一覧を表示して、IDを指定して削除する。
/npc command /npc command remove <ID>
コマンド名の先頭に / は付けず、コマンド本体と引数を登録します。追加方法やフラグは /npc help command が基準です。
3. 実行主体の違い
| モード | 意味 | 注意点 |
|---|---|---|
| 標準(フラグなし) | サーバー側から実行 | プレイヤー権限に依存しないことが多い。プレイヤー名が必要なコマンドには<p>を使う |
-p | NPCをクリックしたプレイヤーとして実行 | 実行コマンドの権限チェックはプレイヤーに対して行われる |
-o | 一時的にOP相当として実行 | 強力で危険。意図しない権限昇格や保護プラグインとの相互作用を招く可能性がある。基本的に避ける |
-n | NPCとして実行できる機能がある版 | 主にプレイヤー型NPC向け。対応条件をヘルプで確認 |
標準のサーバー実行は、プレイヤーに高い権限を与えずにNPCの動作を実現するのに便利です。一方、プレイヤー自身の権限を使わせたい場合は -p が適しています。
4. プレースホルダー
公式Wikiには次の特殊文字列が紹介されています。
<p>:クリックしたプレイヤー名<npc>:NPC ID
例:
/npc command add tp <p> 0 64 0
これは、クリックしたプレイヤーを座標へテレポートさせる例です。実際に使用するコマンド名や引数は、Essentialsなどの導入プラグインによって異なります。
PlaceholderAPIがある環境では、対応箇所でPAPIプレースホルダーを使える場合もあります。例:
/npc command add msg <p> TPS: %server_tps%
PAPIのプレースホルダーは、その拡張が導入され、対象のコンテキストで解決できる必要があります。
5. クリックの種類
-r:右クリックで実行(通常の既定動作)-l:左クリック/攻撃操作で実行-s:スニーク操作などを条件に加えるオプションがある版
左クリックはMinecraft上では攻撃判定です。プレイヤー型NPCでは、PvP無効化設定や保護プラグインの影響を受け、左クリックのコマンドが実行されないことがあります。迷った場合は右クリックを使う設計を推奨します。
6. 実行回数・待ち時間・クールダウン
現行コマンド資料には以下の種類があります。正確な引数は /npc help command で確認してください。
| オプション/設定 | 用途 |
|---|---|
--cooldown <期間> | プレイヤーごとの再実行待ち時間 |
--gcooldown <期間> | NPC全体の共通再実行待ち時間 |
--delay <期間> | 実行を遅らせる。資料上はtick単位の例あり |
--n <回数> | プレイヤーごとの最大実行回数 |
--gn <回数> | 全体での最大実行回数 |
--permissions <権限> | 追加の権限条件 |
-o | OP相当で実行。利用は慎重に |
連打による二重購入や多重テレポートを防ぐため、販売・報酬・ワールド移動のNPCではクールダウンや回数制限を設定してください。
7. 実行順序
登録したコマンドは、既定では1回のクリックで登録済みコマンドを実行する方式です。設定により、クリックごとに1つずつ順番に実行したり、順番を循環/ランダムにしたりできます。
公式Wikiで説明されている設定例:
/npc command sequential /npc command random
現行ソースには cycle、sequential、random などの実行モードが記載されています。設定の切り替えや戻し方はバージョンによって差がある可能性があるため、使用中の /npc help command を確認してください。
8. コストとエラー表示
Command Traitは、対応環境で次のコスト機能を利用できます。
cost:Vault互換の経済プラグインによる通貨コスト。expcost:経験値レベルのコスト。itemcost:アイテムをコストとして要求する設定画面/機能。- エラー表示・エラー無視・カスタムメッセージなどの設定。
経済機能には対応する外部経済プラグインが必要です。購入処理を本番導入する前に、残高不足、権限不足、クールダウン、コマンド失敗時の動作を検証してください。
9. セキュリティ注意
- 一般プレイヤーが自由に入力した任意コマンドを実行できる機能ではありません。管理者が登録済みのコマンドを実行する仕組みです。
-oの安易な使用は避けてください。- サーバー実行のコマンドでプレイヤー名が必要なら、
<p>の置き忘れに注意してください。 - NPCのクリックだけで管理コマンド、OP権限付与、経済残高操作、保護設定変更を実行しないでください。
- 可能なら必要最小限の専用コマンドを用意し、それをNPCから呼び出してください。
- 連携プラグイン側の権限仕様も必ず確認してください。