教學:製作附加包/包的構建

出自Minecraft基岩版开发Wiki
包的構建
系列教學
所屬系列
難易度
初級
適用版本
國際版
實踐裝置
WindowsAndroidIOS

引言[編輯]

附加包主要包含行為包資源包兩部分。

行為包是附加包的一種,主要用於自訂實體物品方塊配方戰利品表地物生態域等內容。同時行為包也是腳本引擎的載體,開發人員編寫的腳本引擎程式碼依託於行為包在遊戲中發揮效用。

資源包同屬於附加包的其中一類,主要用於自訂遊戲資源相關的內容,例如:材質、模型音樂音效語言檔案、終末之詩UI閃爍標語的顯示文字和字型等。

本教學主要講解新建一個附加包的基本步驟。

基本架構[編輯]

首先新建一個資料夾並命名為tutorial_behavior_pack

建立資料夾並命名為 tutorial_behavior_pack
建立資料夾並命名為 tutorial_behavior_pack

此資料夾名稱並未特殊要求與規定,在實際製作過程中,您可根據自己的需求命名,但由於通常會將行為包與資源包結合使用,故建議在命名時加上「behavior」、「Bev」或「BEV」等類似字樣來表示行為包;加上「resource」、「Res」或「RES」等字樣來表示資源包。然後在資料夾中新建一個名為manifest.json的JSON檔案,同時向其中放入一張名稱為pack_icon.png的PNG格式圖片,該圖片將作為您的包圖示存在,這裏建議使用 1 : 1 尺寸比例的圖片,此時其檔案結構如下:

  •  tutorial_behavior_pack
    •  manifest.json
    •  pack_icon.png

清單檔案[編輯]

清單檔案(檔案名必須為manifest.json)包含了該附加包的所有基本資訊。

接下來向清單檔案中寫入內容,下面是一段清單檔案內容的範例[注 1]

{
    "format_version": 2,
    "header": {
      "description": "附加包教程示例-包的构建",
      "name": "Hello World!!!!",
      "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "version": [0, 0, 1],
      "min_engine_version": [1, 16, 200]
    },
    "modules": [
      {
        "description": "附加包教程示例-包的构建-启用行为包模块",
        "type": "data",
        "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "version": [0, 0, 1]
      }
    ]
  }

下表大致描述了其中各個屬性的用法及意義:

屬性名稱 描述
format_version 定義了清單的目前版本。目前建議使用版本 2,除非有需要,否則請勿變更。
header 清單的頭部資訊
屬性名稱 資料型別 描述
description 字串 關於附加包的簡短說明。它會出現在遊戲中附加包名稱的下方,建議保持在 1 行以內。
name 字串 定義您的附加包名稱。這裏作為第一個包,我們使用經典的 Hello World 作為包名。
uuid 字串 一種特殊的識別碼,遊戲在載入過程中基於此區分不同的附加包。範例中並未給出,請使用 uuid 生成器來生成以保證其獨特性。
version 陣列 [a, b, c] 定義附加包的版本號,格式為 [主版本,副版本,修訂版] (x.x.x) 匯入同一個附加包時會用到,如果新的附加包版本更高,那麼就替換為新版本;如果新的附加包版本低於舊版,則忽略。
min_engine_version 陣列 [a, b, c] 定義能使用本附加包的 minecraft 的最低版本,可透過它確定附加包是否能向下相容。
modules 描述了此附加包所擁有的模組,附加包的模組決定了該包的型別(如行為包與資源包就擁有不同型別的模組)。遊戲在進行包驗證時,會取得此包的模組,並驗證其型別,透過其擁有模組的型別,確定此包的型別。
屬性名稱 資料型別 描述
type 字串 模組的型別,此處填寫 "data" 意味著此模組為一個行為包模組,即決定了此包將作為行為包在遊戲中發揮效用。若您將值改為 "resources" ,則意味著此包帶有一個資源模組,遊戲在載入此包時,將會將其作為一個資源包進行載入。
description 字串 關於此模組的簡短說明,建議保持在 1 行以內。
uuid 字串 一種特殊的識別碼,用於區分不同的模組,格式同 header 中的 uuid 。注意,每個模組的的 uuid 都應該各不相同。
version 陣列

[a, b, c]

此模組的版本號,格式同 header 中的 version。
  1. 註:範例中的uuid部分並未給出,請務必替換為您的uuid,否則遊戲將無法識別您的包,您可在 此處 生成您的uuid。

打包與匯入[編輯]

接下來您只需要選中資料夾中所有檔案,將其壓縮為zip檔案並修改後綴為mcpack即可。

在完成上述操作後,恭喜您,您已經成功製成了您的第一個包,正式成為了一名附加包開發人員!!可喜可賀!(只不過這個包裡還沒有加入修改任何遊戲內容)。

將您製作的包匯入遊戲,新建一個存檔,在存檔組態頁面開啟行為包欄,如果一切正常的話,您應該就可以看到您加入的包了。

< 開始之前 | 執行、除錯與匯出 >