の書き方
1.21.80で導入されたMinecraftの更新により、ScriptAPIの書き方にも変更が加わりました。その中でも特に注目すべき機能の一つが「CustomCommand」です。この機能を利用することで、自分でコマンドを作成することができるようになります。また、引数を設定することもできるため、より自由度の高いコマンドを作ることができるようになりました。
まず、CustomCommandを利用するには、まずはじめにコマンドを作成する必要があります。CustomCommandでは、”/custom”というコマンドを作成する例を説明します。まず、「/custom」というコマンドを入力すると、コンソールに「Hello, world!」というメッセージが表示されるようなコマンドを作成します。
まず、以下のようにCustomCommandのベースとなるコードを記述します。
“`
const system = client.registerSystem(0, 0);
system.initialize = function () {
this.registerCommand(“custom”, {
description: “Hello, world!”,
permission: 1,
handler: function () {
console.log(“Hello, world!”);
}
});
}
“`
このコードをMinecraftに導入すると、”/custom”というコマンドが作成されます。ただし、現時点ではまだメッセージが表示されません。これは、まだ引数が設定されていないためです。
引数を設定するには、コマンドの中に”parameters”の項目を追加します。”parameters”にはオブジェクトで引数を設定します。例えば、”name”には引数の名前を、”type”には引数の型を指定します。”type”には以下のようなものがあります。
– rawtext: 文字列型
– string: 文字列型
– float: 小数型
– int: 整数型
– player: プレイヤー型
– entity: エンティティ型
また、引数には、デフォルトの値を設定することもできます。例えば、以下のようにコードを変更すると、引数を設定することができます。
“`
const system = client.registerSystem(0, 0);
system.initialize = function () {
this.registerCommand(“custom”, {
description: “Hello, world!”,
permission: 1,
parameters: {
name: { type: “string”, default: “world” }
},
handler: function (args) {
console.log(“Hello, ” + args.name + “!”);
}
});
}
“`
このように設定することで、引数に値が指定されなかった場合、デフォルトの値が使用されます。
さらに、受け取った引数を変数に格納することもできます。例えば、以下のようにコードを変更すると、プレイヤーに対して引数で指定したメッセージを出力することができます。
“`
const system = client.registerSystem(0, 0);
system.initialize = function () {
this.registerCommand(“custom”, {
description: “Say something to a player”,
permission: 1,
parameters: {
player: { type: “player” },
message: { type: “rawtext” }
},
handler: function (args) {
this.broadcast(args.player, args.message);
}
});
}
“`
以上により、自分でコマンドを作成し、引数を設定する方法を解説しました。引数を設定することで、より自由度の高いコマンドを作成することができるようになります。Minecraftの更新により、より多くの機能を追加できるScriptAPIの魅力を活用して、さまざまなカスタムコマンドを作成してみましょう!
【スクリプト】
【前回の動画】
【マシュマロ始めました】
【ScriptAPIの動画】
【scripteventの動画】
巷ではほとんど注目されませんが、1.21.80のアップデートでついに「CustomCommand」が追加されました。これは自分でスラッシュから始まるオリジナルのコマンドを定義できるもので、今までの「疑似コマンド」と一線を画す存在です。
本動画は、この「CustomCommand」の動画の後編で、カスタムコマンドに任意の引数を設定して、その引数に基づいて何らかの処理を行うスクリプトを記述していきます。前回の動画が前提となりますので、まだご覧になっていない場合は上記リンクよりご覧になることをお勧めします。