自訂戰利品表
通用的戰利品格式。EliteMobs 在數個不同的地方都會用到它。
請注意,這是最新的格式,也是建議使用的格式,但仍存在一些其他的舊格式。
注意: 使用冒號分隔的語法 filename.yml:chance:permission 仍可支援舊版格式。然而,對於新的配置,建議使用下方所示的現代格式。
在該舊語法中,chance 是必填的。只寫一個後面什麼都沒有的 filename.yml 仍會以 100% 掉落該物品,但每次啟動都會記錄一則 Failed to parse entry ... due to invalid: chance 警告,因此請優先使用 filename.yml:1.0 或現代格式。
請務必在加入任何設定之前,以 uniqueLootList: 作為你戰利品表的開頭,否則 .yml 配置會發生錯誤。
掉落精英物品:
| Key | Details | Values | Default |
|---|---|---|---|
filename | 設定要使用的自訂物品的檔案名稱。 | Filename | none |
範例
uniqueLootList:
- filename: magmaguys_toothpick.yml
這會讓怪物以 100% 的掉落機率掉落 1 個 MagmaGuy's Toothpick。
一般設定:
| Key | Details | Values | Default |
|---|---|---|---|
chance | 設定戰利品掉落的機率,其中 1.0 為 100%。 | Double | 1.0 |
amount | 設定此戰利品項目要掉落的數量。貨幣項目會忽略它 —— 那些請改用 currencyAmount。 | Integer | 1 |
permission | 設定玩家領取此戰利品所需的權限節點。精英物品、貨幣與指令項目皆支援。原版物品項目在任何格式下都不會讀取它。 | String | none |
範例
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
amount: 10
permission: elitemobs.loot.rare
這會讓怪物以 50% 的掉落機率掉落 10 個 MagmaGuy's Toothpick,但僅限擁有 elitemobs.loot.rare 權限的玩家。
掉落精英金幣:
| Key | Details | Values | Default |
|---|---|---|---|
currencyAmount | 設定將掉落的金幣數量。 | Integer | none |
請注意共用的 amount 鍵對貨幣項目沒有作用 —— 金幣發放量僅來自 currencyAmount。僅在冒號分隔的字串格式中,最終 currencyAmount 為 0 的項目會被拒絕並發出警告,而不會被註冊。
範例
uniqueLootList:
- currencyAmount: 344
chance: 0.5
這會讓怪物以 50% 的掉落機率掉落 344 個 精英金幣(Elite Coins)。
掉落原版物品:
| Key | Details | Values | Default |
|---|---|---|---|
material | 設定掉落物品的材質。接受 Minecraft 材質名稱(不區分大小寫)。你也可以用 type 取代 material。 | Material | none |
範例
uniqueLootList:
- material: APPLE
chance: 0.3
amount: 5
這會讓怪物以 30% 的掉落機率掉落 5 個 蘋果(Apples)。
在掉落戰利品時執行指令:
你可以在戰利品掉落時執行主控台指令。這對於與其他外掛整合或提供自訂獎勵很有用。指令項目僅使用冒號分隔的字串格式。
| Key | Details | Values | Default |
|---|---|---|---|
command | 設定要執行的主控台指令。使用 %player% 作為玩家名稱的佔位符。 | String | none |
指令本身不能包含 : 或第二個 =,因為該項目在解析時會以這兩個字元分割。
chance behaves for commands指令項目會擲 chance 兩次,而第二次擲骰是反向的,因此該指令實際執行的機率是 chance × (1 - chance):
chance=1.0(省略時的預設值)代表該指令永遠不會執行。chance=0.5給出可達到的最高機率,25%。chance=0.9給出 9%。
請務必在指令項目上明確設定低於 1.0 的 chance,並預期實際觸發率會低於你寫下的數字。
範例
uniqueLootList:
- command=give %player% diamond 1:chance=0.5:amount=1:permission=elitemobs.loot.command
這會在怪物被擊殺時從主控台執行指令 give <player> diamond 1,約有 25% 的機率(請見上方的警告)。%player% 佔位符會被替換成實際的玩家名稱。只有擁有 elitemobs.loot.command 權限的玩家才會觸發此指令。
競技場獎勵:
製作競技場戰利品表時,請務必以 rawArenaReward: 而非 uniqueLootList: 作為你戰利品表的開頭。
| Key | Details | Values | Default |
|---|---|---|---|
wave | 設定此戰利品項目將在第幾波掉落。僅供競技場使用。原版物品項目在 map 格式下支援此設定,但精英物品(filename)項目則僅在字串格式下支援。 | Integer | -1 |
itemLevel | 設定戰利品掉落的等級。僅供競技場使用,且僅會為精英物品(filename)項目讀取。僅在字串格式下可用,map 格式不可用。 | Integer | 1 |
- 只有
wave為1或更大的項目才會被註冊為波次獎勵。沒有wave的競技場獎勵項目雖然會被解析並接受,但永遠不會有任何一波把它發出去。 itemLevel預設為1,而不是競技場或玩家的等級。因此由競技場發放、但沒有明確itemLevel的scalable精英物品會以等級 1 的物品掉落。
範例
rawArenaReward:
- material: BREAD
wave: 1
amount: 10
chance: 0.5
- filename=magmaguys_toothpick.yml:wave=1:itemLevel=2
當玩家擊敗第一波時,這會讓競技場以 50% 的掉落機率掉落 10 個 麵包(Bread),並以 100% 的掉落機率掉落 1 個等級為 2 的 MagmaGuy's Toothpick。
請注意,這裡的精英物品(filename)項目使用的是字串格式,因為 wave 與 itemLevel 對於精英物品項目只在字串格式下才會被解析。原版物品項目(例如上方的 material: BREAD)則在 map 格式下接受 wave。
實例副本:
| Key | Details | Values | Default |
|---|---|---|---|
difficultyID | 設定此戰利品將為哪個實例副本難度掉落。僅供實例副本使用。 | String | none |
difficultyID 只會為以下方所示 map 格式書寫的精英物品(filename)項目讀取。它在冒號分隔的字串格式中不會被解析,也不會為原版物品、貨幣或指令項目讀取。
它同樣只對自訂 Boss 戰利品生效。寶箱、任務與競技場戰利品永遠不會評估它。
在實例副本內,該項目的行為如下:
- 副本難度與
difficultyID相符:該物品會進入該 Boss 的共用團隊戰利品表,而不是直接交給擊殺者,讓整個隊伍都能領取。 - 副本難度不相符:該項目會被略過。
- 玩家根本不在實例副本中:
difficultyID會被忽略,該物品正常掉落。
範例
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
difficultyID: 1
如果玩家在難度 1 擊敗了首領,這會讓怪物以 50% 的掉落機率掉落 1 個 MagmaGuy's Toothpick。