教學:製作附加包/戰利品表

出自Minecraft基岩版开发Wiki
戰利品表
系列教學
所屬系列
難易度
初級
前置知識
適用版本
國際版
實踐裝置
WindowsAndroid
所需軟件

戰利品表是遊戲控制掉落物和寶箱內容的機制,如遺蹟寶箱、方塊挖掘掉落物、怪物生成時的裝備和擊殺怪物掉落物等。 接下來將會解決如何定義自訂戰利品表。

在這之前[編輯]

您將要學習自訂戰利品表的存放連結到需要戰利品表檔案的方法

檔案存放[編輯]

自訂戰利品表檔案需存放在loot_tables/戰利品表的用處資料夾中,具體可以參考戰利品表#相關檔案[注 1]

呼叫方法[編輯]

如需呼叫戰利品表到相關定義檔案,要在"components"物件中寫入以下字元:[注 2]

//"components":{
//  ...
    "minecraft:loot": {
      "table": "自定义战利品表文件路径"
    }
//}

(編寫完後,放寬心,改善好心態,接下來將編寫戰利品表了,可能會有點難,慢慢看。)(*^ω^*)

開始自訂戰利品表[編輯]

以殭屍掉落物為例(有刪改):

{
  "pools": [
    //在这个对象中的数组代表着所有要触发的战利品
    "rolls": 3,//触发战利品表次数
/*
  也可以写成:
    "rolls": {
      "min": 1,//最低
      "max": 3//最高
    },
*/
    "conditions"{//触发条件
      {
        "condition": "killed_by_player_or_pets"//当被玩家或宠物击杀时
      },
      {
        "condition": "random_chance_with_looting",//随机刷新此战利品表
        "chance": 0.025,//概率
        "looting_multiplier": 0.01
      }
    ],
    "entries": [//单次抽取内容,键名自取
      {
        "type": "item",//激活类型,一般填item
        "name": "minecraft:diamond",//要获得的物品
        "functions": [//附加函数
          {
            "function": "set_count",//设置数量(可以填写别的函数)
            //当函数为set_count时:
            "count": {
            "min": 1,//最低
            "max": 3//最高
            }
          }
        ],
        "weight": 1//权重
      },
      {
        "type": "item",
        "name": "minecraft:grass",
        "functions": [
          {
            "function": "set_count",
            "count": {
            "min": 1,
            "max": 64
            }
          }
        ],
        "weight": 99
      }
    ]
  ]
}

以上的作用是讓實體被玩家或寵物擊殺時,掉落草、鑽石或者什麼都沒有。 觸發條件和函式可以去戰利品表#資料結構尋找更多。

課後作業[編輯]

(期中考試)

  1. 加入一個名為「籃球」的物品,並將其設定為原版的掉落物。(忘記怎麼自訂物品了?
  2. 讓原版鵝卵石能掉落鑽石

註釋[編輯]

  1. 如寶藏箱的JSON檔案需存放在loot_tables/chests資料夾,以戰利品表#相關檔案為準。
  2. 可能某些檔案中的"minecraft:loot"元件可能寫法不同(如當格式版本為1.16.0的方塊定義檔案的元件用字串即可,不需要用物件),詳情請前往元件列表檢視。

< 配方 | 實體 >