跳至主要內容

建立物品

webapp_banner.jpg

建立自訂物品

什麼是自訂物品?

自訂物品是 EliteMobs 透過設定檔所定義的物品。你可以自訂這些物品的多個面向,例如物品的等級、附魔、名稱、物品說明、材質等等!

網頁應用程式

你可以在這裡輕鬆快速地建立自訂戰利品!

開始之前

自訂物品放在哪裡?

自訂物品檔案要放入設定資料夾 ~/plugins/EliteMobs/customitems

可以建立子資料夾,例如 ~/plugins/EliteMobs/customitems/myitems。建議這麼做以保持整潔。

檔案以 .yml 檔案格式儲存,而 Notepad++ 是建議用於設定工作的檔案編輯軟體。一個檔案定義一個 BOSS,不過同一個 BOSS 可以被多次生成,甚至可以為同一個 BOSS 檔案設定多個生成位置。

你可以使用網頁應用程式快速且輕鬆地建立自訂 BOSS 及更多內容。

最小的可能設定

請注意,自訂物品最小的可能設定檔為:

注意這就只是一個空檔案。這會預設使用一把名為「Default name」的木劍。本頁所有的一切都是可選的!

範例物品

讓我們看看一個物品檔案長什麼樣子的範例。

範例
isEnabled: true
material: WOODEN_AXE
name: '&4Test item'
lore:
- This is a cool item
- It has cool lore
enchantments:
- DAMAGE_ALL,4
- FLAMETHROWER,1
potionEffects:
- FAST_DIGGING,0,self,onHit
- POISON,0,target,onHit
- GLOWING,0,self,continuous
dropWeight: dynamic
scalability: scalable
itemType: custom

自訂物品設定

以下是一份你可以為自訂物品設定的所有項目的列表:


isEnabled

設定物品是否啟用。不影響已經產生的物品。

KeyValuesDefault
isEnabledtrue / falsetrue
範例
isEnabled: true

material

設定物品的材質。

KeyValuesDefault
material從這個列表挑選!WOODEN_SWORD
範例
material: DIAMOND_SWORD

level

設定物品的等級。

KeyValuesDefault
levelInteger0

將此項保持在預設的 0,會讓 EliteMobs 改為依材料推導等級,而不是使用固定值。

請注意,如果你將物品的 scalability 設為 scalable,則此設定無關緊要,因為此時等級完全來自 BOSS。如果你將它設為 limited,這將是物品的最高可能等級。

護甲材料也自帶一個以等級表示的基礎防禦值:皮革與金為 3、鎖鏈為 5、鐵為 6、鑽石為 7、獄髓為 8。你在此設定的等級一定會被存進物品並顯示在其說明中,但若把它設得低於材料本身的數值,將完全不會獲得精英防禦加成——該部位的表現就等同於一般的原版材料。

範例
level: 100

name

設定物品的顯示名稱。

KeyValuesDefault
namecolor codesString"Default name"
範例
name: "&2Cool item"

create_item_name.jpg


lore

設定物品的物品說明。

KeyValuesDefault
lorecolor codesListnone
範例
lore:
- "&2This is the coolest sword"
- "&2of all time!"

create_item_lore.jpg


enchantments

設定物品上的附魔。

KeyValuesDefault
enchantmentsMinecraft 附魔EliteMobs 自訂附魔Listnone

請注意,這些條目遵循 enchantmentName,enchantmentLevel 格式。請查看下方的範例!

範例
enchantments: 
- "DAMAGE_UNDEAD,8"
- "DURABILITY,4"
- "DAMAGE_ALL,7"
- "LOUD_STRIKES,3"

create_item_enchantments.jpg

另請注意,當等級開始超過原版 Minecraft 上限時,像鋒利這類附魔預設會變成精英鋒利。

請留意,scalablelimited 物品在每一次掉落時都會重新洗牌它們的附魔等級。你設定的附魔等級總和會被保留,但會在你列出的附魔之間隨機重新分配,因此同一件物品的兩個副本可能會有不同的分配。只有 fixed 縮放方式的物品才會一律使用檔案中寫明的確切等級。


potionEffects

設定物品將擁有的藥水效果。這些可以套用到玩家身上,或套用到被玩家所傷害的實體身上。

KeyValuesDefault
potionEffectsMinecraft 藥水效果Listnone

此外,藥水效果使用一種特定格式,讓管理員能選擇誰會受到影響以及何時受影響:

SettingDescriptionValuesDefault
藥水效果等級設定藥水效果的等級。藥水效果從等級 0 開始!Integernone
受影響的實體設定誰會受到藥水效果影響。self(玩家)/ target(被擊中的實體)none
施加方式設定藥水效果何時施加。onHit / continuous(持續重新施加)none

藥水效果的格式為 potionEffectName,potionEffectLevel,affectedEntity,applicationMethod。最後兩個參數(affectedEntityapplicationMethod)是可選的,若未指定則分別預設為 selfcontinuous。請查看下方的範例!

藥水效果持續時間:

  • 持續性效果在物品被持有或裝備時每秒重新整理(每次施加持續 2 秒,因此效果永不中斷)
  • 夜視獲得 15 秒的特殊持續時間
  • 受擊時效果使用基於伺服器設定的持續時間

當你檢視帶有藥水效果的物品時,你會看到指示效果如何施加的圖示:

  • ☠️ 骷髏頭 – 鎖定敵人
  • 🛡️ 盾牌 – 鎖定使用者/玩家
  • ⚔️ 劍受擊時啟動。
  • 🔄 循環圈 – 在物品被穿戴或持有時持續施加。

EliteMobs 也具備作為護身符運作的自訂物品。這些物品不做別的,只在物品被持有或裝備在某個欄位時為玩家提供藥水效果。

警告:使用 INSTANT_DAMAGE 藥水效果會在命中時治療亡靈怪物,因為這是原版 Minecraft 的預設機制。

無效的效果:

  • ABSORPTIONHEALTH_BOOST 會被物品藥水效果系統完全略過。無論你把它們設為 continuousonHit,都永遠不會被施加。
  • 受擊時對 target 施加的 LEVITATIONSLOWNESSBLINDNESS,在你打中的實體是血量倍率大於 1 的精英時會被忽略,而這實質上涵蓋了所有自訂 BOSS。它們在一般精英與原版怪物身上仍然有效。
範例
potionEffects: 
- "POISON,0,target,onHit"
- "HEAL,1,self,onHit"
- "NIGHT_VISION,0,self,continuous"

create_item_potion_effects.jpg

有了這組藥水效果,將會發生以下情況:

受擊時,中毒藥水效果(等級 1)會施加到被玩家擊中的實體身上。此外,玩家會受到等級 2 的瞬間治療藥水效果。

持續性地,玩家會被給予夜視。這表示只要玩家穿戴或持有該物品,他們就會擁有夜視。


scalability

設定物品的等級如何隨掉落它的 BOSS 的等級而成長。

KeyValuesDefault
scalabilityfixedlimitedscalable。請看下方!scalable

請查看這個列表以了解不同選項的作用!

SettingDescription
fixed物品等級將永遠是設定檔中所設定的等級。
limited物品的最高等級將受限於設定檔中所設定的等級或 BOSS 的等級,取兩者中較低者。
scalable物品的等級將完全基於掉落它的 BOSS 的等級。

請注意,帶有 dropWeight 的物品永遠會是 fixed 縮放方式。

範例
scalability: "scalable"

itemType

設定你可以從哪裡取得該物品。

KeyValuesDefault
itemTypecustomuniquedroppable。請看下方!custom

有三種物品類型:

SettingDescription
custom該物品將能從任何可掉落戰利品的 EliteMobs 怪物掉落,並會出現在自訂商店中。
unique該物品不會被任何 BOSS 掉落,也不會出現在自訂商店中。取得它的唯一方法是設定一個自訂 BOSS,透過其 uniqueLootList 來掉落它!
droppable該物品會像 custom 一樣進入隨機精英掉落池,但會被排除在商店之外——玩家可以將它作為一般的精英掉落物找到,但永遠無法直接購買。對於應感覺像是努力獲得、但不需要鎖定在特定 BOSS 的物品很有用。
範例
itemType: "unique"

dropWeight

設定物品將歸入的戰利品表。

KeyValuesDefault
dropWeightdynamic 或一個 Double 數值。dynamic

EliteMobs 為自訂物品設有 5 種不同的戰利品表,不包括像自訂 BOSS 上的 uniqueLootList 那樣直接設定的戰利品表。

它們如下:

Loot tableDescriptionDefault weight
程序化產生的物品基於伺服器設定檔隨機產生的物品90.0
加權物品擁有非 dynamic 權重的物品1.0
固定物品擁有固定縮放方式的物品10.0
受限物品擁有受限縮放方式的物品3.0
可縮放物品可縮放的物品6.0

當一隻 BOSS 死亡時,系統會根據 ItemSettings.yml 設定檔從這些表中選出一件物品。權重的預設值列於上方的 Default weight 中。權重越高,物品掉落的可能性就越高。

加權物品Default weight 很小,意思是它們不會很常掉落。dropWeight 為非 dynamic 的物品旨在做為稀有物品,且僅用於 BOSS 掉落的護身符的預設——這些物品不直接用於戰鬥,而是用來以藥水效果增益玩家。

你在此設定的 dropWeight 設定的是特定 加權物品加權物品 列表中掉落的機率。它不會提高 加權物品 掉落的機率。

如果你感到困惑,而你只是想製作武器與護甲,請跳過此設定,因為它正確地預設為 dynamic

加權物品 通常擁有 1.0 的權重。

請注意,設定數值型的 dropWeight 會強制把物品放入固定與加權掉落池中,即使它的 itemTypeunique 也一樣。若你想要一個只由 BOSS 掉落的物品,請把 dropWeight 保持為 dynamic

範例
dropWeight: "dynamic"

customModelID

**註:**此設定已被移除。它不再從設定檔中讀取。請改用 customModelV2,它是自 Minecraft 1.21.4+(EliteMobs 9.1.13+)以來唯一被識別的模型 ID 設定。你設定檔中任何既有的 customModelID 條目都將被忽略。

設定物品的材質。需要使用資源包中的有效材質!

KeyValuesDefault
customModelIDIntegernone
範例(已不再運作)
material: DIAMOND_SWORD
customModelID: 1

此設定已不再運作。請改為遷移到 customModelV2


customModelV2

自 Minecraft 版本 1.21.4(EM 9.1.13)起,這是用來設定自訂物品模型 ID 的新必要設定。 設定物品的材質。需要使用資源包中的有效材質!

KeyValuesDefault
customModelV2Stringnone

自動皮膚階層: 若你同時未設定本項與 equipmentModelID,EliteMobs 會套用它自己來自 EliteMobs 資源包、依等級決定的皮膚。階層依物品等級挑選:

最低物品等級階層
20bronze
40palladium
60corrupted
80living
100ultimatium

等級低於 20 的物品不會取得階層皮膚。階層只會套用到劍、斧、鋤(會被渲染成鐮刀)、弓、弩、頭盔、胸甲、護腿與靴子。三叉戟被刻意排除。

設定 customModelV2equipmentModelID 其中之一,即代表該物品退出該自動系統:你設定的鍵會被原樣使用,而你未設定的那一個則會退回使用該物品等級所對應的階層模型。使用自有模型鍵的物品也會跳過階層系統所套用的原版屬性縮放——這只影響原版的攻擊傷害、攻擊速度、護甲、韌性與擊退抗性數值,不影響 EliteMobs 自己的傷害與防禦數值。

範例
customModelV2: elitemobs:equipment/magmaguys_toothpick

此設定會為物品指派特定材質。其運作方式如下:

  • elitemobs: 是資源包 assets 資料夾中的主目錄。
  • equipmentassets/elitemobs/models 內的一個子目錄。
  • magmaguys_toothpick 是位於資源包 assets/elitemobs/models/equipment 中的模型檔案。

在此範例中,模型檔案的完整路徑為: \.minecraft\resourcepacks\elitemobs_resource_pack\assets\elitemobs\models\equipment\magmaguys_toothpick.json

這將使用玩家所使用的 EliteMobs 資源包中的自訂材質 magmaguys_toothpick。如果你想正確使用此功能,建議你將伺服器設定為在玩家登入時提供資源包。


equipmentModelID

設定物品在裝備或穿戴時要使用的另一個獨立模型。需要使用資源包中的有效材質!

KeyValuesDefault
equipmentModelIDStringnone

customModelV2 一樣,設定此鍵會讓物品退出自動的等級皮膚階層系統。

範例
equipmentModelID: elitemobs:equipment/helmet_texture

這設定一個在物品被穿戴時出現的特定材質,與物品在背包中的外觀分開。


scriptedItem

將物品連結到一個 FreeMinecraftModels 腳本化物品。設定後,物品會獲得 FMM 的 3D 模型與 Lua 腳本行為,同時保留 EliteMobs 所有的名稱、物品說明、附魔、等級與靈魂綁定系統。

這需要在伺服器上安裝 FreeMinecraftModels。如果未安裝 FMM,此設定會被靜默忽略,物品會在沒有模型或腳本的情況下正常運作。

該數值是 FMM 物品 ID——也就是該模型在 FMM 模型資料夾中的 YML 設定檔的檔名,不含 .yml 副檔名。例如,如果 FMM 在 plugins/FreeMinecraftModels/models/flame_blade.yml 有一個模型設定,其中包含 material: IRON_SWORDscripts: [flame_blade.lua],你就會將它引用為 flame_blade

當設定了 scriptedItem 時,它的優先度高於 customModelV2equipmentModelID——EliteMobs 會跳過它自己的模型系統,改用 FMM 的模型。

KeyValuesDefault
scriptedItemString(FMM 物品 ID)none
範例
material: IRON_SWORD
name: "&cFlame Blade"
lore:
- "&7Burns with eternal fire"
enchantments:
- "FIRE_ASPECT,2"
- "DAMAGE_ALL,5"
scalability: scalable
scriptedItem: flame_blade

在此範例中:

  • EliteMobs 控制物品的名稱、物品說明、附魔、等級縮放與靈魂綁定行為
  • FMM 提供 3D 物品模型並執行 flame_blade.lua 腳本(例如裝備時的粒子效果、自訂攻擊行為)
  • material: IRON_SWORD 被 EliteMobs 用作基底物品類型

showSource

**註:**此設定目前沒有任何作用。該鍵仍會從設定檔中被讀取而不報錯,但外掛中沒有任何部分會讀取其結果值,因此把它設為 false 並不會隱藏物品的來源說明。

來源那一行是否會出現,實際上是由 ItemSettings.ymlitemLoreStructureV2 清單裡的 $itemSource 預留位置控制的。移除該預留位置即可從所有精英物品中拿掉來源行。

KeyValuesDefault
showSourceBooleantrue

permission

設定取得該物品所需的權限。

KeyValuesDefault
permissionStringnone

你會需要一個權限管理外掛來給予玩家權限。

該權限只會在物品為某位玩家產生或掉落的當下被檢查。之後不會有任何機制重新檢查該權限節點,因此交易或丟棄物品仍可能把它轉移給沒有該權限的玩家。實務上,保持啟用 soulbound 才是防止這種情況的做法。

範例
permission: "elitemobs.cool.permission"

採用此設定後,只有擁有 elitemobs.cool.permission 權限的玩家才能取得此物品。


soulbound

設定物品在掉落時是否應為靈魂綁定。

KeyValuesDefault
soulboundBooleantrue
範例
soulbound: true

測試你的物品

有兩個管理員指令可以隨時產生已設定好的物品,讓你不必每次調整檔案都得去刷 BOSS:

指令作用
/em loot give <player> <filename>以其設定檔中寫明的等級給予該物品。
/em loot reward <player> <filename>給予依目標玩家戰鬥等級縮放後的物品。

兩者都需要 elitemobs.loot.admin 權限。