Minecraft基岩版Add-On Gametest API入門

請注意Gametest相關函數變動很快,可能有些類別一更新就改名了,因此一切以官方文檔為準,最後更新: 基岩版Beta版1.18.20.21。

本文的Hello World範例可以在Github下載。



簡介

Gametest Framework原本是Minecraft基岩版1.16加入的實驗性指令,用於測試Add-On行為,例如生物AI是否正常。

但是後來加入更多函數和方法,使得以JavaScript撰寫的Gametest像Scripting API一樣,能夠對遊戲進行修改。最大的不同是,Gametest可以在手機版執行。

目前Gametest有二大主要類別: mojang-gametestmojang-minecraft,本文主要介紹後者。

在行為包manifest.json中註冊使用Gametest

{
    "format_version": 2,
    "header": {
        "name": "Gametest範本行為包",
        "description": "Gametest範本行為包",
        "min_engine_version": [
            1,
            18,
            0
        ],
        "uuid": "cd60231a-ebd3-450b-95af-2dea0034b1e0",
        "version": [
            0,
            0,
            1
        ]
    },
    "modules": [
        //Gametest
        {
            "description": "",
            "type": "javascript",
            "uuid": "1A1B53FC-5653-4A75-91B7-9CDF027674AE",
            "version": [
                0,
                0,
                1
            ],
            "entry": "scripts/main.js"
        }
    ],
    //Gametest需要的內部模組,不可更改
    "dependencies": [
        {
            "uuid": "b26a4d4c-afdf-4690-88f8-931846312678",
            "version": [
                0,
                1,
                0
            ]
        },
        {
            "uuid": "6f4b6893-1bb6-42fd-b458-7fa3d0c89616",
            "version": [
                0,
                1,
                0
            ]
        }
    ]
}

Gametest範例Hello World

上面manifest.json的entry可理解為主程式,在行為包新增"scripts"目錄,裡面新增"main.js",輸入以下內容,在進入世界後一直執行say指令輸出Hello World。

import { world } from 'mojang-minecraft';
world.events.tick.subscribe((eventData) => {
    world.getDimension("overworld").runCommand("say Hello World!");
});


Gametest自訂指令


其他參考資料

留言

此網誌的熱門文章

Minecraft基岩版多人連線教學: 方法一覽

【詳細解說】什麼是Minecraft基岩版,跟Java版有什麼差?

Minecraft基岩版安裝模組(Add-On)&資源包&光影教學