快轉到主要內容

Minecraft基岩版Add-On Script API入門

分類   遊戲攻略 Minecraft
標籤   Minecraft Script API
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

本文介紹如何使用Minecraft基岩版的Script API,強化您的Add-On功能。

1. Script API簡介
#

Minecraft基岩版的官方模組格式「Add-On」常被人詬病的就是不夠程式化。創作者過去都只能透過改json,以及搭配記分板指令的方式來開發模組功能。

現在有了Script API,你可以自由的撰寫JavaScript程式來操作遊戲內容了!

這樣說吧,如果是骨灰等級的MCPE玩家,以前一定有用過名為BlockLauncher的APP吧!裡面的ModPE Script模組功能豐富,自由度很高,而Script API就是類似那樣的東西。


Script API發展歷史:

Minecraft 1.10的時候,Mojang曾經推出一款名為「Scripting API」的指令稿程式,讓玩家可以撰寫在行為包中插入一組JavaScript控制生物行為。但是Scripting API只能在Windows版Minecraft執行。

Minecraft 1.16加入了Gametest Framework,同樣使用JavaScript寫成。GameTest主要用於測試Add-On行為,例如生物AI是否正常。

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

Minecraft 1.18,正式移除Scripting API。

之後的版本GameTest取代了舊版Scripting API功能。

GameTest也被人稱作Script API。

2. Script API的函數表
#

請注意Script API相關函數變動很快,可能有些類別Minecraft一更新就改名了

一切以 官方文檔為準。

3. 在行為包使用Script API
#

目前Minecraft 1.20要使用Script API,得在Add-On的行為包插入。

  1. 編輯行為包manifest.json,插入modules這段,宣告使用Script API模組。注意註解部分。
{
    "format_version": 2,
    "header": {
        "name": "Script API範本",
        "description": "Script API範本",
        "uuid": "a528d735-2fd3-4de2-a232-fd7af826d6d3",
        "min_engine_version": [
            1,
            20,
            10
        ],
        "version": [
            1,
            0,
            0
        ]
    },
    "modules": [
        {
            "description": "行為包模組",
            "type": "data",
            "uuid": "bfb17cf4-f8d5-45b5-9398-2e07518441d4",
            "version": [
                1,
                0,
                0
            ]
        },
        // GameTest模組
        {
            "description": "Gametest模組",
            "type": "script",
            "language": "javascript",
            "entry": "scripts/main.js",
            "uuid": "849b303e-383c-4922-a066-06a54a69aa62",
            "version": [
                1,
                0,
                0
            ]
        }
    ],
    // Script API模組
    "dependencies": [
        {
            "module_name": "@minecraft/server",
            "version": "1.5.0"
        }
    ]
}

4. Hello World範例程式碼
#

  1. 上面manifest.jsonmain.js可理解為主程式位置。

  2. 在行為包新增"scripts"目錄,裡面新增"main.js"

  3. main.js輸入以下內容,在進入世界後一直執行遊戲內建的/say指令,輸出Hello World。

import { world } from '@minecraft/server';

world.events.tick.subscribe((eventData) => {
    world.getDimension("overworld").runCommand("say Hello World!");
});
  1. 開啟Minecraft,於世界啟用行為包。進入世界後應該會看到輸出訊息。

參考資料
#

相關文章

Gametest API Framework Wrapper 實際應用| Minecraft基岩版模組開發教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On Minecraft Script API
Linux系統玩Minecraft基岩版的方法
分類   遊戲攻略 Minecraft Linux玩遊戲
標籤   Linux Minecraft Bedrock
Linux系統如何以Docker架設Minecraft基岩版伺服器 (Bedrock Dedicated Server)
分類   遊戲攻略 Minecraft Self-hosting自架
標籤   Minecraft Bedrock Docker Bedrock Dedicated Server

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。