【Minecraft BE】の ScriptingAPI開発講座(1)
注意
ScriptingAPI は現段階でWindows10にしか対応していません。
Android,iOS,XboxOne,Switchでは開発できません。(AndroidはBlockLauncherという外部ツールを使えばできます)
開発環境
windows10 Minecraft ver 1.11.1
windows10 Minecraft ver 1.14.60
ScriptingAPIとはなんぞや
ScriptingAPIで何ができるか、いろいろできちゃいます。
プレイヤーが攻撃したentityを取得出来たりとか...
簡単に言うとコマンドが進化しすぎちゃいました!みたいな感じです。(わかりづらくてごめんよ)
ScriptingAPIはJavaScriptという言語で構成されていています。
JavaScriptはWeb開発などで主に使われている言語なので触ったがことある方も、多いのではないでしょうか。
##ワールドに入ったらHelloWorldとチャット欄に出るコード
とりあえず書いてみます。
ファイル構成は
behavior_name
┣ scripts
┃ ┣ client
┃ ┃ ┗ client.js
┃ ┗ server
┃ ┗ server.js
┣ manifest.json
┗ pack_icon.png
です。
const clientSystem = client.registerSystem(0, 0);
//おまじないみたいな
clientSystem.initialize = function () {
//最初に一回実行される
this.listenForEvent("minecraft:client_entered_world", (eventData) => this.enterWorld());
//アロー関数、minecraft:client_entered_worldでワールドに参加したときに実行される
};
clientSystem.enterWorld = function () {
//先のアロー関数で呼び出したやーつ
var BroadcastEventData = this.createEventData("minecraft:display_chat_event");
BroadcastEventData.data.message = "Hello World";
this.broadcastEvent("minecraft:display_chat_event", BroadcastEventData);
//チャットにHello Worldと出力
};
こんな感じです。
そうそう、manifest.jsonはこんなかんじです。
{
"format_version": 1,
"header": {
"description": "scripting! I like ”hogehoge”",
"name": "ScriptingAPI",
"uuid": "8920490e-6df8-449e-817e-b33be6de791a",
"version": [1, 0, 0],
"min_engine_version": [1, 8, 0]
},
"modules": [
{
"description": "scripting! I like ”hogehoge” ",
"type": "client_data",
"uuid": "ea9e0119-f5b0-4a89-941d-ad01ce5b2cce",
"version": [1, 0, 0]
}
]
}
uuidはこちらで生成してくださいな
https://www.uuidgenerator.net/
これでワールドに入ったときにチャット欄を開くと一番上に表示されていると思います。やったね!
次回は、もっといろいろなことをやっていきます!