【Skript講座 第三回 入門編】自作コマンドの作り方

Skript講座

今回は自作コマンドの作り方を紹介していくよ。

自作コマンドって具体的には何ができるんですか?

何でもできるっていうのが答えかな…前回のイベントの講座でも言ったように条件と処理をどうするかで無限大だからね。

なるほど…よろしくお願いします。

コマンドとは

マインクラフトをしていると/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ページはコチラです。

この記事を書いた人

Minecraftでミニゲーム企画を開催しているMonsterLifeServerの運営で開発やYouTubeに投稿する動画の編集などをしています。

元々はコマンドでミニゲーム企画を開催していましたが限界を感じてSkriptを使い始めました。
そこから5つほど企画を作り,バグなどの原因でプラグインの勉強を始めました。

本格的な開発者歴自体は4年ぐらいです。Skript以外ではHTML,CSS,JavaScript,PHP,Python,MySQL,Cなどを使てシステム設計をしています。

仕事でも似たようなことをしています。

monster2408をフォローする

コメント