~MyCommand 使い方~ | 最終更新日時 2016年9月4日 20:39 |
基本的な使い方 plugins/MyCommandフォルダにある「commands.yml」に記述してコマンドを追加します 'コマンドの名前': command: 追加するコマンド type: コマンドのタイプ その他:コマンドの名前はゲーム内で使用することはほぼないので自分が分かりやすければ大丈夫です コマンドのタイプやその他の記述方法については例と共に載せていくので参考にして下さい また、自分で作成したコマンドにも全てパーミッションが設定されています 後ほど詳しい説明は書いてありますが、実行に必要なパーミッションは「mycommand.cmd.コマンドのID」もしくは「mycommand.cmd.コマンドの名前」となっています コマンドのIDは「/mycmd list」で確認出来ます この場合、「/freecommand」のパーミッションは「mycommand.cmd.1」です しかし、IDはコマンドを増やすと変わってしまうため名前の方で指定した方が便利です コマンドごとに記述が面倒だという方は「mycommand.cmd.all」さえ書いておけば全てのコマンドを使用可能になります テキストを表示 typeをTEXTにしてtext:を記述すると、コマンドを実行した時にテキストが表示されます 'welcome_command': command: /welcome type: TEXT text: - '&6こんにちは &a$player &6さん!' - '&a$server-name &6にようこそ!' - '&6$server-motd.'上記のように書くと「/welcome」コマンドが実行できるようになります 実行すると以下のように表示されます 「$player」はコマンドを実行した人の名前 「$server-name」はサーバーの名前 「$server-motd」はサーバーのMOTD 「&6」や「&a」はそれ以降の文字の色を変える など、いろいろな文字を返したり文字の色を変えることが出来ますが、それらの説明はまだ載せていません 単純なコマンドのショートカット 'my_alias': command: /l type: ALIAS alias: /listもしくは 'my_alias': command: /l type: RUN_COMMAND runcmd: - /list上記のように書くと「/l」で「/list」が実行できるようになります 実行すると以下のように表示されます 引数を使用したショートカットコマンド 引数に置き換えたい部分に「$arg1」を入れることで入力した文字がそこに入ります 'vip_shortcut': command: /vip type: RUN_COMMAND runcmd: - /pex user $arg1 group set Vip上記のように書くと「/vip」コマンドが実行できるようになり「/vip」の後に入力した文字を「$arg1」の部分に置き換えてコマンドを実行します 具体的には と入力すると が実行されたことになります 複数の引数を使用したショートカットコマンド 「$multiargs」を使用すれば「$arg1」や「$arg2」を使用しなくても複数の引数に置き換えることが出来ます 'your_command': command: /s type: runcommand runcmd: - /say $multiargs上記のように書くと 上のコマンドを実行した時 このようになります カスタムメッセージと権限の設定 'time_shortcut': command: /t type: runcommand runcmd: - /time set $arg1 error-message: '&c使い方 /t <時間>' permission-node: custom.custom permission-error: '権限がありません'上記のように書くと 「/t <時間>」で「/time set <時間>」が実行され、ワールドの時間を変更します 「/t」とだけ入力した時は引数が入力されていないため、エラーになりエラーメッセージが表示されます また、正しく入力パーミッションを設定したため「custom.custom」の権限がないと、パーミッションエラーのメッセージが表示されます パーミッションの無効化 初期設定では全てのコマンドにパーミッションが使用されています 「permission-required」を「false」にすることで、パーミッションを設定しなくてもコマンドを使用することが可能になります 'no_permission': command: /freecommand type: TEXT text: - 'このコマンドに権限は必要ありません' permission-required: false コマンドの実行へのコスト付与 コマンドを使用するときに、お金またはアイテムを消費させることが出来ます 'cost_example': command: /costexample type: TEXT cost: 5 success-message: "&7%s &a支払った" error-message: "このコマンドの実行には %s 円が必要です!" 'itemcost_example': command: /itemcostexample type: TEXT itemcost: "COBBLESTONE:5" success-message: "&7%sつ %s &aを消費しました" error-message: "このコマンドの実行には %sつ %sが必要です!"1つ目の「/costexample」の実行には 通貨が5必要で 2つ目の「/itemcostexample」の実行にはCOBBLESTONE(丸石)が5つ必要になります 「success-message:」はコマンドが実行できた時のメッセージで 「error-message:」はコストが足りない等でコマンドの実行に失敗した時のメッセージです リアルなコマンドやタブコンプリーターの設定 「register: true」を記述することで、コマンド入力の途中にTabキーを押した時に候補として出てくるようになります 「tab_completer:」を記述することで、引数の候補もTabキーで表示できるようになります 'hallo_command': command: /greets type: RUN_COMMAND runcmd: - /say $arg1 register: true tab_completer: - 'こんにちは' - 'やあ' 'gm_mode': command: /gm type: ALIAS alias: /gamemode register: true tab_completer: - survival - creative - adventure コマンドのブロック 「type: ADD_PERMISSION」を記述することで、そのコマンドの実行をブロックできます 'no_pl': command: /pl type: ADD_PERMISSIONこれで「/pl」の使用が出来なくなり、サーバー内のプラグインが見れなくなります ※なぜか自分の環境ではブロックが出来ませんでした コマンドの遅延 実行するコマンドの中に「$delay$」を記述し「delaytimer:」を設定することでコマンドの発動に遅延を生じさせる事が出来ます 'delay': command: /delaytest type: RUN_CONSOLE text: // runcmd: - $delay$/time set 0 - /say 朝です - $delay$/time set 15000 - /say 夜です delaytimer: 5この場合「/delaytest」の入力の5秒後に朝になり「朝です」と表示され そのさらに5秒後に夜になり「夜です」と表示されます 「delaytimer:」の数字の単位は「秒」ですが、「delaytimer_format: TICKS」と記述すると単位を「ticks(1/20秒)」にも出来ます ウォームアップとクールダウン ウォームアップ(コマンドの発動までの時間)とクールダウン(連続でコマンドを使用出来るまでの時間)を設定できます 自分で作成したコマンドへ設定するときは「cooldown:」や「warmup:」を記述すればOKです 'cooldownhere': command: /cool_com type: TEXT text: - '5秒後にまた使用できます' cooldown: 5 'warmuphere': command: /warm_com type: TEXT text: - '5秒経ったので発動しました' warmup: 5別のプラグインのコマンドに設定したい場合は、typeに「WARMUP」か「COOLDOWN」を使用し「delaytimer:」を設定してください 'cooldown_example': command: /pl type: COOLDOWN delaytimer: 60 'warmup_example': command: /gamemode type: WARMUP delaytimer: 5 コンソールからプレイヤーへコマンドの実行 typeに「RUN_CONSOLE」を使用することでコンソールからコマンドを実行することが出来ます 'run_by_console': command: /goto type: RUN_CONSOLE runcmd: - /tp $player $arg1 - /money take $player 500player1さんが「/goto player2」と入力すると「/tp player1 player2」と「/money take player1 500」がコンソールから実行され player1をplayer2に飛ばして、player1の所持金を500減らします ※「/money」は「iConomyプラグイン」のコマンドです OPとしてコマンドを実行させる typeに「RUN_AS_OPERATOR」を使用することで、そのコマンドを実行するときのみ一時的にOPを与えます 'give_stones': command: /stonepls type: RUN_AS_OPERATOR runcmd: - /give $player stone 64giveコマンドはOPがないと使えませんが「RUN_AS_OPERATOR」で一時的にOPが付与されるため実行することが出来ます この「/stonepls」の実行にもパーミッションは必要ありません スケジューラーの設定 日時を指定してコマンドを実行させることが出来ます ややこしいので説明は省きます ワールドでコマンドの使用を制限する 「allowed_worlds:」を使用することで、コマンドを使用できるワールドを決めることが出来ます 'onlyinthenether': command: /onlynether type: TEXT text: - "&cここはネザーです" allowed_worlds: - world_nether error-message: "このコマンドはネザーでのみ使用できます"「使用を制限するワールド」を書くのではなく「使用を許可するワールド」を書くので間違えないように コマンドのリピート コマンドやテキストに「%Repeat%n%(nは数字)」を使用することで連続でそれを実行します 'clear-chat': command: /clearchat type: BROADCAST-TEXT text: - '%Repeat%30%あ'「/clearchat」を実行すると「あ」が30回表示されます ワールドによってコマンドを変える コマンドやテキストに「$world=%ワールド名%」を使用することでワールドごとに実行する内容を変更できます 'per_world': command: /perworld type: RUN_COMMAND runcmd: - '$world=%world%/say 私はノーマルワールドにいます' - '$world=%world_nether%/say 私はネザーにいます' コマンド実行看板 普通に看板を設置し、1行目に[mycmd] 2行目に実行したいコマンドを入力すると 看板を右クリックした時にそのコマンドが実行されるようになります アイコンメニューの作成 typeに「ICON_MENU」を使用することでインベントリのようなGUIを開いてコマンドを実行させることが出来ます 'example_menu': command: /testmenu type: ICON_MENU text: iconmenu_title: '&cてすとメニュー' iconmenu_size: 27 iconmenu_commands: - '0:GOLDEN_APPLE:0:/help:&2ヘルプ:&aヘルプを開きます' - '1:COMPASS:0:/mycmd:メニュー:MyCommandのメニューを開きます' - '9:EMERALD:0:/list:プレイヤーリスト:&bオンラインプレイヤーを表示します' - '10:WATCH:0:/time set 0:朝:朝にします' - '26:WOOL:11:%openiconmenu%/iconmenu2:次のページ:&cメニューのページを変えます;&a--------->'「/testmenu」を実行するとこのような画面が表示されます 「iconmenu_title:」はメニューのタイトル 「iconmenu_size:」はメニューのサイズ(9 18 27 36 45の中から指定して下さい) 「iconmenu_commands:」でメニュー内のコマンド等を指定します 「'26:WOOL:11:%openiconmenu%/iconmenu2:次のページ:&cメニューのページを変えます;&a--------->'」だと 「'26番目に:wool(羊毛)の:ダメージ値(11で青色):実行するコマンド:そこの名前:説明文'」です 説明文に「;」を入れると改行されます プラグイン一覧 |