今回は自作コマンドの作り方を紹介していくよ。
自作コマンドって具体的には何ができるんですか?
何でもできるっていうのが答えかな…前回のイベントの講座でも言ったように条件と処理をどうするかで無限大だからね。
なるほど…よろしくお願いします。
コマンドとは
マインクラフトをしていると/tp @p 60 5 20
というような/
から始まるものをコマンドといいます。
基本的にはバニラでやっているとMinecraftが用意したコマンドしか使えません。
ですが,Skriptを使えばそのコマンドを自分で作って好きなように動作させることができます。
コマンドのテンプレート
command /test:
permission: skript.admin # ここで設定した権限を持つ者しか実行できない
description: This is Test Command. # コマンドの説明
executable by: players # 実行できる対象を指定します
aliases: /tes, /t # 短縮コマンドなどをここに記述する
usage: /test # コマンドの使い方をここに記述する
trigger: # この直下に/testを実行した時の処理を記述する
broadcast "This is Test Command."
基本的にはコメントアウトで書いた内容通りです。
一つずつ解説していきます。
command /test:
/test部分を変更することで任意のコマンドにできます。
permission: skript.admin # ここで設定した権限を持つ者しか実行できない
権限の設定です。skript.admin部分を変更することで任意のパーミッションを割り当てることができます。この項目を設定すればそのパーミッションを持った者しかコマンドを実行することができなくなります。プレイヤーに対するパーミッションの付与はLuckPermsなどを活用しましょう。
description: This is Test Command. # コマンドの説明
コマンドの説明です。/help
コマンドを実行した時に表示されます。
executable by: players # 実行できる対象を指定します
この項目はコマンドを実行できる対象を指定できます。players
のほかにconsole
があります。どちらでも使えるようにするにはこの項目を削除します。
aliases: /tes, /t # 短縮コマンドなどをここに記述する
ここで設定したコマンドでも同じ動作をさせることができるようになります。
usage: /test # コマンドの使い方をここに記述する
ここにコマンドの使い方を設定できます。次の講座で説明しますが引数などを使うコマンドだとこの項目が重要になります。
trigger: # この直下に/testを実行した時の処理を記述する
broadcast "This is Test Command."
trigger直下に書いた処理がコマンド実行時に動作します。
今回はbroadcastエフェクトを使用しました。
実はいらない項目たち…
ところどころで「この項目を削除する」と記述しましたが実は自作コマンドは以下のコードで動作します。
command /test:
trigger: # この直下に/testを実行した時の処理を記述する
broadcast "This is Test Command."
私がよくやるのはtrigger直下にplayer is op
という条件を付けてOP権限を持つプレイヤーしかコマンドを実行できなくします。
余談 broadcastとは
broadcastというのはサーバー内のすべてのプレイヤーとコンソールにメッセージを送信することができます。
イベントとは少し違うけど処理に関しては同じようにできそうですね。
そうだね。なにがしたいのか,どうすればそれを再現することができるのかを考えるのがSkriptだけじゃなくプログラミングの基本だよ。
次回は引き続き自作コマンドの引数についてやっていくよ。
講座について
当講座で紹介したソースコードはGitHubにて公開されています。
GitHubページはコチラです。
コメント