Minecraft_Server-spigot
skript

Skriptの引数とその型について


はじめに

備忘録として、あとQiitaの書き方の練習に、まあガッツリ言えば自分用に書いておきます。

Minecraftのバージョンは1.12.2, Skriptのバージョンは2.3.6を使います。


引数って何?

引数というのは、プログラムに渡す情報みたいに思ってくれればOKです。

は?お前何言ってんの?って人は、 https://wa3.i-3-i.info/word1442.html を、

そのサイトじゃ足りない!もっとガッツリ!って人は、 https://ja.wikipedia.org/wiki/%E5%BC%95%E6%95%B0 でも見ればいいと思います(投げやり)


引数の例

よく皆さんが使う(であろう)/gamemodeコマンドを例に解説しましょう。

/gamemodeコマンドの使用法は、/gamemode <モード> [プレイヤー]ですね。

この<モード>[プレイヤー]引数になります。


引数には、型と呼ばれるものが存在する

引数は、「ボクは〇〇の形の値しか受け付けないよ!」というものがあります。

で、その〇〇を予め指定してあげる必要があります。


指定方法

引数は基本的にカスタムコマンドで使用し、大まかに「必須引数」と「任意引数」という2種類に分けられます。(あくまで私の呼び方の一つですが…)


必須引数

必須引数とは、絶対にこの引数は指定しなければならないというものです。

先程の/gamemodeコマンドを例に見てみましょう。

はじめの引数である<モード>は、絶対に指定しなければなりません。

これがなければ、コマンドは実行しませんよね。


Example.sk

command /test <text> [<player>]:


これの初めにある<text>が必須引数です。

必須引数は、<型>という風に指定します。


任意引数

任意引数とは、この引数は指定してもいいというものです。

こちらも、先程の/gamemodeコマンドを例に見てみましょう。

2つ目の引数である[プレイヤー]は、指定しなくてもコマンドは成功しますよね。(権限ないと実行できないとかいうつまらないことは言わないでください)

しかし、ここにプレイヤー以外の引数を渡してしまうとエラーになります。


Example.sk

command /test <text> [<player>]:


これの2つ目にある[<player>]が任意引数です。

任意引数は、指定してもいい引数だが、指定するならその型にあった引数を指定しなければいけないということですね。

任意引数は、[<型>]と指定します。


型の種類

やっとここまで来ました。

型には沢山の種類がありますが、すべて説明していたらこんがらがるだけなのでやめておきます。(書くのが面倒ってわけじゃないんですよ。)


テキスト(文字列)

多分これが一番使うんじゃないでしょうか。

ここには、文字を入れることができます。

「あああああ」とか「マインクラフト」とかです。

「1」や「2」もここに入れれば文字列になります。

こちらは、<text>または<string>で指定できます。(どちらでも構いません。どちらを使っても同じだと思います。多分)


数値

これも結構使いますね。

ここには、数字を入れることができます。

「1」とか「1234」とか。

テキストと違う点といえば、ここに入れれば数字になるということです。

これがどういうことなのか、後々説明します。

こちらは、numberまたはintで指定できます。(どちらでも(ry


プレイヤー/オフラインプレイヤー

これも結構使いますね(2回目)

ここには、プレイヤー名を入れることができます。

「shuu_9025」とか、「jeb_」とかですね。

プレイヤーはplayerで、

オフラインプレイヤーはoffline playerで指定します。

何が違うのかと言うと、そのプレイヤーがオンラインかどうかですね。

playerは必ずオンラインで、サーバーにいる必要があります。

offline playerはオンライン、オフライン問わずプレイヤーである必要があります。


文字列に数字を入れるのと、数字に数字を入れるのって、どう違うの?

文字列に数字を入れると、そのまま数字が書いてある文字として認識されます。

1+1=11というイタズラができるんですよね。

対して、数字に数字を入れると、数値として認識されます。

1+1=2のように、計算が可能なんですね。素晴らしい。


今日はここまで!…いや、もうちょっと続きます。

ほとんど理解できた人は帰ってよし!

聞いててもわかんないって人のために、例文を用意しました。


SampleSkript.sk

command /test <text> [<offline player>]:

#1つ目の引数「text」(文字列)は必須引数
#2つ目の引数「offline player」(オフラインプレイヤー)は任意引数

command /mute <player> [<text>]:
#1つ目の引数「player」(オンラインプレイヤー)は必須引数
#2つ目の引数「text」(文字列)は任意引数

command /calc <text> <number> <number>:
#1つ目の引数「text」(文字列)は必須引数
#2つ目、3つ目の引数「number」(数値)も必須引数



本日のまとめ


  1. 引数とは、プログラムに渡す情報のこと。

  2. 必須引数は「絶対に指定する」、任意引数は「指定してもいい。けど指定するならその型に沿って。」

  3. 必須引数は<型>で、任意引数は[<型>]で指定する。

今日の授業は終わりです。お疲れ様でした。

ゴミみたいな語彙力とクソみたいな見づらさの中、読んでくれてありがとうございました。