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)及以上

數據包模板

原版數據包的檔案結構:

歷史

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字段,用於按命名空間和正則表達式忽略低優先級數據包中的匹配內容。
1.19.322w42a加入了chat_type子資料夾。
加入了datapacks子資料夾,包含用於啟用特定功能的原版數據包(功能數據包)。
原版世界生成數據包現在在遊戲的jar檔案中可見。故諸如dimension_typeworldgen之類的內容都可見。
Java版(即將到來)
1.19.423w03a加入了/ride命令
/data命令加入了新的string數據源
/execute命令加入了loadeddimensionon子命令
變更了部分命令的格式。
數據包版本變更為11
23w06a加入了/damage命令和damage_type子資料夾
/execute命令加入了summon子命令
數據包版本變更為12

參見

Advertisement