Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性為Java版獨有。

資料包(Data Pack)系統為玩家進一步客製化其Minecraft體驗提供了一種新方式。資料包可用於覆蓋或新增的進度維度函數戰利品表述詞配方結構標籤傷害類型自訂世界生成生態域,而不進行任何程式碼修改。

行為

資料包可以放在世界的.minecraft/saves/<世界名称>/datapacks資料夾中。資料包可以是datapacks資料夾中的子資料夾或者.zip檔案。將其放入資料夾後,將在載入或重新載入世界時為該世界啟用資料包。

資料包將根據載入順序載入其資料。此順序儲存在level.dat中,可以透過/datapack指令查看或修改。

在建立新的世界介面中,玩家也可以透過點擊資料包按鈕並將資料包資料夾或壓縮包拖入來選擇資料包。與資源包介面類似,玩家可以在世界生成之前啟用資料包並輕鬆自訂載入順序。

內容

資料夾結構

  • (資料包名字)
    • pack.mcmeta
    • pack.png
    • data
      • (命名空間)
        • advancements
          • (進度名稱).json
        • chat_type
          • (聊天類型).json
        • datapacks
          • (內建資料包名字)
            • ...
        • functions
          • (函數名稱).mcfunction
        • loot_tables
          • (戰利品表名稱).json
        • predicates
          • (戰利品表述詞名稱).json
        • structures
          • (結構名稱).nbt
        • recipes
          • (配方名稱).json
        • item_modifiers
          • (物品修飾器名稱).json
        • tags
          • blocks
            • (標籤名稱).json
          • entity_types
            • (標籤名稱).json
          • items
            • (標籤名稱).json
          • fluids
            • (標籤名稱).json
          • functions
            • (標籤名稱).json
          • game_events
            • (標籤名稱).json
          • (註冊名)
            • (標籤名稱).json
        • dimension
          • (維度名稱).json
        • dimension_type
          • (維度類型名稱).json
        • worldgen
          • biome
            • (生態域).json
          • configured_carver
            • (雕刻器).json
          • configured_feature
            • (地物).json
          • density_function
            • (密度函數).json
          • flat_level_generator_preset
            • (超平坦預設).json
          • noise
            • (雜訊).json
          • noise_settings
            • (雜訊設定).json
          • placed_feature
            • (可放置地物).json
          • processor_list
            • (方塊處理器).json
          • structure
            • (結構).json
          • structure_set
            • (結構集).json
          • template_pool
            • (拼圖池).json
          • world_preset
            • (世界預設).json

data目錄下也可以有多個不同的(命名空間)目錄。

pack.mcmeta

當根目錄中存在一個包含JSON格式資料的pack.mcmeta檔案時才能被Minecraft識別為一個資料包。

  • :根對象。
    •  pack:存放資料包資訊。
      •  description:一段原始JSON文字。在資料包列表下,游標移動到對應的資料包時會顯示此處填寫的描述。
      •  pack_format:資料包版本。如果此數值不匹配目前遊戲版本需要的數值,玩家會收到警告,且在載入時需要額外確認。有關資料包版本編號的完整列表,請參閱#資料包版本
    •  filter:包過濾器。
      •  block:指定要忽略的內容。低優先級資料包的內容若匹配其中指定的內容,則對應內容會被遊戲忽略。
        • :一段指定內容。可以使用正則表達式。
          •  namespace:要匹配的命名空間。若省略則匹配所有命名空間。
          •  path:要匹配的路徑。若省略則匹配所有路徑。

1.19原版資料包裡的pack.mcmeta檔案:

{
    "pack": {
        "pack_format": 10,
        "description": "The default data for Minecraft"
    }
}

data

此目錄記憶體放一個或多個命名空間目錄。命名空間目錄內可包含對應的資料包內容資料夾。 這個資料夾可以是advancementschat_typedatapacksdamage_typedimensiondimension_typefunctionsloot_tablespredicatesrecipesstructurestags和/或worldgen。其中worldgen資料夾可以包含biome、​configured_carver、​configured_feature、​density_function、​flat_level_generator_preset、​noise、​noise_settings、​structure、​structure_set、​world_preset、​placed_feature、​configured_structure_feature、​configured_surface_builder、​processor_listtemplate_pool資料夾。 命名空間用於區分資料,且命名時名稱只能使用小寫英文字母、數字、-_。為了防止資料包之間發生衝突,建議在製作資料包時,儘量不要使用同樣的命名空間。同時,僅當你要覆蓋原版資料時,才使用minecraft為資料包的命名空間。

dimension、​dimension_typeworldgen資料夾目前是實驗性功能。

每個進度函數戰利品表述詞配方結構標籤傷害類型可以直接放入到對應的資料夾內,也可以放入到對應的資料夾下的子資料夾內。

資料包版本

下表描述了每個資料包版本編號的適用版本範圍:

編號 版本
3 1.13快照17w43a - 17w47b
4 1.1317w48a)- 1.14.419w46b
5 1.151.15-pre1)- 1.16.11.16.2-pre3
6 1.16.21.16.2-rc1)- 1.16.520w45a
7 1.1720w46a)- 1.17.11.18-exp7
8 1.1821w37a)- 1.18.122w07a
9 1.18.21.18.2-pre1 - 正式版)
10 1.1922w11a)- 1.19.3
11 1.19.4快照23w03a - 23w05a
12 1.19.423w06a - 正式版)
13 1.20快照23w12a - 23w14a
14 1.20快照23w16a - 23w17a
15 1.2023w18a)- 1.20.1
16 1.20.2快照23w31a
17 1.20.223w32a)及以上

資料包模板

原版資料包的檔案結構:

歷史

Java版
1.1317w43a加入了資料包。
17w46a加入了/datapack指令,用於控制載入的資料包。
17w48a資料包可讀取自訂配方。
18w01a在戰利品表中加入了set_name函數。
(重新)載入後的minecraft:load裡的函數現在會執行一次。
崩潰報告中現在會列出啟用的資料包。
1.1418w43a加入了實體種類標籤。
1.1519w38a加入了predicates資料夾,可以在此處定義戰利品表述詞。
1.1620w22a稍微修改了資料包的載入機制,防止資料包帶來的崩潰。
遊戲將會檢測嚴重的資料包問題,比如關鍵標籤的缺失,將會阻止世界的載入。
如果資料包載入失敗,那麼修改將不會被應用,遊戲將會使用舊的資料包。
資料包列表僅在資料包成功載入後才會變更。
伺服器加入了--safeMode選項讓遊戲只載入原版資料包。
pre1現在可以在建立世界之前載入資料包。
資料包現在可以加入和修改維度
1.1720w45apack_version被拆分,資料包和資源包現在使用相互獨立的版本數字。
20w46a由於MC-204861,資料包版本號變更為7
1.18.2pre1現在可在實驗性資料包中加入自訂結構,即遊戲現在可生成並儲存由資料驅動的配置的結構。
現在可透過資料包對一些洞穴生成機制進行配置。
由於對資料包加入了以上新功能,資料包版本號變更為9
1.1922w11apack.mcmeta中加入了filter欄位,用於按命名空間和正則表達式忽略低優先級資料包中的匹配內容。
由於對資料包加入了以上新功能,資料包版本號變更為10
1.19.322w42a加入了chat_type子資料夾。
加入了datapacks子資料夾,包含用於啟用特定功能的原版資料包(功能資料包)。
原版世界生成資料包現在在遊戲的jar檔案中可見。故諸如dimension_typeworldgen之類的內容都可見。
1.19.423w03a資料包版本號變更為11
23w06a加入了damage_type子資料夾。
資料包版本號變更為12
1.2023w12a資料包版本號變更為13
23w16a資料包版本號變更為14
23w18a資料包版本號變更為15
Java版(即將到來)
1.20.223w31a資料包版本號變更為16
資料包現在可以與多個遊戲版本相容。
23w32a資料包版本號變更為17

參見

Advertisement