跳至主要內容

建立寶箱

webapp_banner.jpg

寶箱可以發放戰利品,或生成敵對的擬態怪 Boss。請將設定檔放在 plugins/EliteMobs/customtreasurechests。

數值​

isEnabled​

設定某個寶箱是否啟用。

鍵數值預設值
isEnabled布林值true

沒有此鍵的檔案會以啟用狀態載入。已停用的寶箱會被完全略過:它們不會被放置到世界中,也不會被 /em place treasureChest 提供或接受。

範例
isEnabled: true

chestType​

設定方塊材質。請使用 CHEST 或 BARREL 等具有朝向的容器。這項設定不會填入一般容器的物品欄;玩家互動時,獎勵來自 lootList。

鍵數值預設值
chestTypeMaterialCHEST
範例
chestType: CHEST

這必須是有效的寶箱材質,例如 CHEST 或 BARREL。

create_chest_material.jpg


facing​

設定寶箱的面向方向。

鍵數值預設值
facing特殊 [1]NORTH
範例
facing: NORTH

這會設定寶箱面向的方向。有效值為 NORTH、SOUTH、EAST 或 WEST。

特殊 [1]

展開表格
面向
NORTH
SOUTH
WEST
EAST

dropStyle​

設定該寶箱是要給單一玩家還是多位玩家掉落。

SINGLE 由第一位互動的玩家消耗。方塊變成空氣,並儲存補貨期限;經過 restockTimer 分鐘且區塊已載入後,方塊才會重新出現。它不按玩家分別記錄。左鍵和右鍵都能觸發寶箱。

GROUP 寶箱保留在世界中,按玩家分別冷卻。實例外,同一設定檔的所有放置位置透過 restockTimers 共用該玩家的冷卻。若要分別領取,請使用不同檔案。實例內,每個運作中的寶箱獨立記錄已領取的玩家。

兩種模式都只向互動者發放個人獎勵。GROUP 不會啟動隊伍戰利品投票,也不會獎勵周圍所有玩家。已被其他外掛取消的互動會被忽略,一般方塊破壞也會被阻止。開箱不要求公會等級。

鍵數值預設值
dropStyleSINGLE / GROUPSINGLE
範例
dropStyle: SINGLE

lootList​

列出該寶箱在開啟時應掉落的戰利品。

符合條件的項目分別獨立抽取,因此一次開箱可以取得多項獎勵。權限、數量和適用的副本難度篩選仍然生效。ItemSettings.yml 中的 putLootDirectlyIntoPlayerInventory 決定直接放入物品欄或掉落在寶箱處。直接發放時放不下的精英物品會掉落在玩家身邊,並將該玩家設為擁有者。

鍵數值預設值
lootListEM 戰利品表無
範例
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=1.0

若沒有任何項目成功發放獎勵,玩家會收到 config.yml 中的 treasureChestNoDropMessage。這包括抽取失敗及無法產生獎勵的項目。冷卻仍會消耗。


mimicChance​

設定生成敵對 Boss 而非掉落戰利品的機率。

鍵數值預設值
mimicChanceDouble0

每次符合條件的互動都會在產生戰利品之前判定擬態怪。成功時會嘗試生成擬態怪,不再發放一般戰利品,兩者不會同時發生。請使用 0 到 1 的值,0.5 表示 50%。即使所選 Boss 缺失或生成失敗,冷卻仍會消耗。

範例
mimicChance: 0.5

mimicCustomBossesList​

指定可用於生成的敵對 Boss 清單。系統會從這份清單中隨機選出一個 Boss 來生成。

這份清單也支援權重系統,你可以運用它來確保某些 Boss 比其他 Boss 更常被選中。

鍵數值預設值
mimicCustomBossesList字串清單無
範例
mimicCustomBossesList:
- my_cool_mimic_boss.yml
- weak_mimic_boss.yml

如果你想為這些 Boss 指定權重,清單應以下列方式編寫:

mimicCustomBossesList:
- my_cool_mimic_boss.yml:60
- weak_mimic_boss.yml:40

在這個設定中,my_cool_mimic_boss.yml 比 weak_mimic_boss.yml 更有可能被選中生成。

沒有權重後綴的項目,以及權重無法被解讀為數字的項目,都會退回使用權重 1。

請使用不同的 Boss 檔名和有限正數權重。重複檔名會覆蓋前面的權重,而不是新增項目。選擇器不會驗證負數或非有限權重。請確認 Boss 已啟用且能夠生成。

擬態怪會以什麼等級生成?

Boss 檔案決定計算方式;固定數值等級會被寶箱階層計算取代:

擬態怪 Boss 的 level生成等級
固定數字chestTier × 10,再加上隨機的 0-10
dynamic(-1)且位於動態副本中該副本所選的等級,±1
dynamic(-1)位於其他任何地方開啟者的自然生成等級,±1

若清單中指名的 Boss 檔案找不到,就不會生成擬態怪並記錄一則警告——玩家什麼都拿不到,也拿不到戰利品。

±1 計算的結果最低為等級 1。動態副本外若無法讀取開箱者的物品欄資料,動態擬態怪會使用 Boss 的一般生成流程。副本內建立的擬態怪屬於該場戰鬥。


restockTimer​

設定寶箱重新填入戰利品之前的時間,以分鐘為單位。

鍵數值預設值
restockTimer整數0

實例外,SINGLE 在這段時間後於已載入的區塊恢復方塊;GROUP 則按玩家套用冷卻。期限在重新啟動後仍會保留。實例特有的行為請參閱下方 instanced。

把此項保持在預設的 0,實際上等於完全沒有冷卻,因此該寶箱可以被反覆刷取。凡是會掉落有價值物品的寶箱,都請設定一個實際的值。

範例
restockTimer: 30

effects​

注意: 此設定沒有作用。設定載入器會讀取它,但寶箱不使用解析後的值,也不會因此產生粒子。

如果你想在寶箱周圍產生粒子,目前請改用其他來源來產生。

鍵數值預設值
effects字串清單無

locations​

設定該寶箱會生成的位置。

站在目標方塊上執行 /em place treasureChest <treasurechestfilename.yml>。此指令要求玩家擁有 elitemobs.place.admin,且寶箱設定已載入並啟用。它會將方塊座標儲存到檔案中,並立即放置寶箱。在已列出的方塊上執行此指令時,會重設該放置位置的補貨期限,而不會新增第二個項目。

鍵數值預設值
locations字串清單無

每個項目使用 worldName,x,y,z,yaw,pitch 格式。也接受較短的 worldName,x,y,z 形式,此時 yaw 與 pitch 會被視為 0。

選用的後綴 :unixTimestamp 以 Unix 秒儲存該位置的補貨期限。EliteMobs 在 SINGLE 被領取時寫入它。手動刪除期限前請停止伺服器;修改在載入設定時生效,不會重設已經運作中的寶箱。

一個檔案可以包含多個位置。SINGLE 的期限彼此獨立;實例外的 GROUP 共用按玩家記錄的冷卻清單。

小數座標會向下取整至其所在的方塊。不要混用舊版 location 與 locations:載入時優先使用 location,但儲存期限時會使用非空的 locations 清單。使用 /em remove 移除寶箱時,只會從檔案中刪除被點擊的放置位置,其他放置位置則會保留。

範例
locations:
- my_world,10,50,10,0,0
- my_nether_world,12,58,12,0,0
- my_world,80,64,-30,0,0:1707394380

chestTier​

設定寶箱的階層,也就是它所掉落戰利品等級的基準線。基準等級為 chestTier * 10。

鍵數值預設值
chestTier整數0

chestTier 實際上有多重要,取決於寶箱在哪裡,以及戰利品表中是哪一類物品:

情境戰利品掉落的等級
在任何實例之外開啟的寶箱scalable 精英物品會跟隨開啟者的自然生成等級,±1。其餘皆使用 chestTier * 10。
位於動態副本內的寶箱所有物品都使用該副本所選的等級,scalable 精英物品則有 ±1。chestTier 會被忽略。
位於其他任何實例內的寶箱所有物品都使用 chestTier * 10。

這些等級傳入物品生成流程。fixed 仍保留作者設定的屬性,limited 仍遵守其設定上限;寶箱不會覆蓋這些縮放規則。在一般生存世界中,scalable 跟隨開箱者。擬態怪使用另一套公式,請參閱 mimicCustomBossesList。

±1 計算的結果最低為等級 1。實例外缺少玩家物品欄資料時,戰利品改用 chestTier * 10。

把此項保持在預設的 0 會讓戰利品的基準等級為 0。

範例
chestTier: 3

instanced​

設定寶箱是否屬於實例。領取後不安排一般的定時補貨:SINGLE 移除方塊,GROUP 允許每位玩家領取該寶箱一次。同時運作的實例具有獨立的寶箱狀態。

SINGLE 有一項限制:卸載並重新載入區塊,會依照目前寶箱的補貨期限重新安排補貨。因此它可能在期限後於同一實例中再次出現。若需要整個實例期間維持每人一次的限制,請使用 GROUP。

請勿手動設定此數值。

鍵數值預設值
instancedBooleanfalse
範例
instanced: true

restockTime​

在寶箱被取走戰利品之後,外掛會寫入此鍵以追蹤補貨時間。

此鍵只會被舊式的單一寶箱格式使用,也就是寶箱位置存放在 location 鍵而非 locations 清單中的情況。一旦檔案中有任何 locations 項目,補貨時間就會改以 :unixTimestamp 後綴寫在對應的 locations 項目上,而此鍵則不會被動用。

請勿手動設定此數值。

鍵數值預設值
restockTimeUnix 時間戳記(秒)0
範例
restockTime: 1707394380

restockTimers​

為 GROUP 模式的寶箱儲存每位玩家的冷卻資料。玩家搜刮寶箱時,外掛會自動寫入此項,並在每次寫入時捨棄已過期的項目。冷卻會在發放任何戰利品之前儲存;若儲存失敗,玩家會被告知稍後再試,且不會獲得任何東西。

實例化的寶箱不使用此清單——在實例內,每位玩家的冷卻時間只會保存在記憶體中,且僅在該實例的存續期間有效。

請勿手動設定此數值。

鍵數值預設值
restockTimers字串清單無
範例
restockTimers:
- '12345678-abcd-4ef0-8123-123456789012:1707394380'
- '09876543-abcd-4ef0-8123-098765432109:1707395000'

每個項目包含玩家 UUID 與以秒為單位的 Unix 時間戳記,以冒號分隔。


寶箱設定範例
isEnabled: true
chestType: CHEST
facing: NORTH
chestTier: 3
dropStyle: GROUP
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=0.95
mimicChance: 0.50
mimicCustomBossesList:
- balrog.yml
- killer_rabbit_of_caerbannog.yml
restockTimer: 1
locations:
- world,0.0,-60.0,-14.0,0.0,0.0

請注意上面每一個戰利品項目都使用了 filename= 前綴。若改寫成 magmaguys_toothpick.yml:chance=0.95,會被視為舊式的 filename.yml:chance 格式,而 chance=0.95 並不是數字,因此該項目會在每次啟動時記錄一則解析警告。

create_chest_chest.jpg