建立 EliteMobs 內容
EliteMobs 使用 YAML 定義 BOSS、物品、任務等內容,使用 Lua 編寫能力、NPC 腳本與原生行為。請將各檔案放到 plugins/EliteMobs/ 下對應的內容資料夾。
內容類型
本概覽介紹八種主要內容,以及下文列出的輔助定義與腳本:
- 自訂 BOSS - 建立擁有自訂能力、裝備與技能的獨特精英怪
- 自訂物品 - 設計帶有附魔的自訂武器、護甲與物品
- 自訂任務 - 建構帶有目標與獎勵的任務鏈
- 自訂事件 - 設定定時或觸發式的 BOSS 事件
- 自訂 NPC - 加入任務發放員、商店與可互動的 NPC
- 寶藏箱 - 放置帶有自訂獎勵與擬態怪機制的戰利品箱
- 競技場 - 設計帶有 BOSS 遭遇戰、以波次為基礎的戰鬥挑戰
- 蟲洞 - 建立連接各位置之間的傳送門
每種內容類型都有它自己的設定資料夾與欄位結構。
快速上手
建立 YAML 內容定義的步驟:
- 建立一個副檔名為 .yml 的 YAML 檔案
- 使用 lowercase_with_underscores.yml 格式為它命名
- 將它放入適當的資料夾
- 使用 YAML 欄位設定內容
- 重新載入 EliteMobs 或重啟伺服器
檔案位置
每種內容類型都儲存在它自己的資料夾中:
- 自訂 BOSS:~/plugins/EliteMobs/custombosses/
- 自訂物品:~/plugins/EliteMobs/customitems/
- 自訂任務:~/plugins/EliteMobs/customquests/
- 自訂事件:~/plugins/EliteMobs/customevents/
- 自訂 NPC:~/plugins/EliteMobs/npcs/
- 寶藏箱:~/plugins/EliteMobs/customtreasurechests/
- 競技場:~/plugins/EliteMobs/customarenas/
- 蟲洞:~/plugins/EliteMobs/wormholes/
輔助內容還有以下資料夾:
- 能力:~/plugins/EliteMobs/powers/
- 自訂生成:~/plugins/EliteMobs/customspawns/
- NPC Lua 腳本:~/plugins/EliteMobs/npc_scripts/
- 原生 Lua 行為:~/plugins/EliteMobs/behaviors/
- 交通路線:~/plugins/EliteMobs/transport_routes/
- 附魔定義與 Lua:~/plugins/EliteMobs/enchantments/
- 地下城套件:~/plugins/EliteMobs/content_packages/
- 實例世界範本:~/plugins/EliteMobs/world_blueprints/
套件第一層的 scripts/ 資料夾屬於 FreeMinecraftModels,不是 EliteMobs 的 NPC 或行為腳本資料夾。參閱套件資料夾分流。
內容建立工具
網頁應用程式(推薦給初學者)
EliteMobs 網頁應用程式提供產生設定的視覺化介面。請將輸出與各內容類型的最新參考文件核對;新欄位與 Lua 腳本可能需要手動編輯。
手動 YAML 設定
對於進階使用者,可手動建立 YAML 檔案,以完整掌控所有可用的欄位與選項。
YAML 檔案格式
YAML 內容定義遵循以下規則。Lua 能力、NPC 腳本與行為使用獨立的 .lua 檔案:
- 縮排使用空格,不要用 Tab
- 以顏色代碼開頭的字串要加引號;單引號適合保留字面文字
- 列表使用連字號格式或中括號格式
isEnabled控制 YAML 定義是否啟用。預設值取決於內容類型與預製定義;新檔案請明確設定,並查閱對應參考文件- 檔名應使用 lowercase_with_underscores.yml 格式
如需詳細的 YAML 語法說明,請參閱設定檔指南。
內容類型概覽
自訂 BOSS
自訂 BOSS 是擁有強化技能、自訂裝備與特殊能力的精英怪。BOSS 系統支援 60 個以上的設定欄位,包括:
- 實體類型與等級
- 血量與傷害倍率
- 裝備(護甲與武器)
- 精英能力與技能
- 戰利品表與掉落物
- 生成/死亡訊息與指令
- 多階段機制
- 自訂模型與偽裝
基本 BOSS 範例:
isEnabled: true
entityType: ZOMBIE
name: '&e Test Boss'
level: dynamic
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
mainHand: GOLDEN_AXE
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
自訂物品
自訂物品可建立帶有自訂附魔與效果的武器、護甲與工具。功能包括:
- 材質類型
- 顯示名稱與物品說明
- 附魔列表
- 藥水效果
- 自訂模型 ID
- 掉落權重與縮放
- 等級與靈魂綁定設定
基本物品範例:
isEnabled: true
material: DIAMOND_SWORD
name: '&4Legendary Blade'
lore:
- '&7A powerful weapon'
- '&7forged in dragon fire'
enchantments:
- DAMAGE_ALL,5
- FIRE_ASPECT,2
level: 10
soulbound: true
自訂任務
自訂任務為玩家定義目標與完成獎勵。功能包括:
- 任務目標與類型
- 獎勵(物品、金錢、權限)
- 接受/完成對話
- NPC 繳交需求
- 任務鎖定計時器
- 追蹤與音效
自訂事件
自訂事件根據時間、機率或其他條件觸發 BOSS 生成。功能包括:
- 事件類型與 BOSS 列表
- 觸發機率與權重
- 開始/結束訊息與指令
- 冷卻計時器(本地與全域)
- 最低玩家數
- 事件持續時間
自訂 NPC
自訂 NPC 為任務、商店與競技場提供可互動角色。功能包括:
- NPC 名稱、角色定位與職業
- 生成位置
- 對話(問候語、對話、告別語)
- 互動類型
- 任務與競技場引用
- 自訂模型與偽裝
- NPC Lua 掛鉤與巡邏路線
寶藏箱
寶藏箱提供戰利品,可設定補貨時間與擬態怪機制。功能包括:
- 寶箱類型與朝向
- 位置座標
- 戰利品表
- 補貨計時器
- 擬態怪機率與 BOSS 列表
- 單人掉落或依玩家分別掉落的團體掉落方式
競技場
競技場提供包含 BOSS 的波次戰鬥。功能包括:
- 競技場邊界(corner1、corner2)
- 波次數量與延遲
- BOSS 列表與生成點
- 獎勵與玩家限制
- 競技場訊息
- 中場休息波次
蟲洞
蟲洞建立連接兩個位置的傳送門。功能包括:
- 兩個位置端點
- 各位置的顯示文字
- 視覺樣式與粒子顏色
- 金幣成本與權限
- 致盲效果與尺寸倍率
- 兩個端點可選的實體模型
常見模式
引用內容
各內容類型之間使用檔名互相引用:
- 在 BOSS 中引用能力: power_name.lua(舊式的
power_name.yml引用會自動解析為同名的.lua能力) - 在戰利品中引用物品:
filename: item_name.yml(機率、數量等請參閱戰利品表格式) - 在事件中引用 BOSS: boss_filename.yml
- 在 NPC 中引用任務: quest_filename.yml
重複使用定義
自訂 BOSS、NPC 與運輸路線檔案可以透過 extends: base_file.yml 以另一個同類型的檔案為基礎,只覆寫不同的鍵。放置位置與 isEnabled 永遠不會被繼承。完整規則請參閱重複使用其他 Boss 檔案與重複使用其他 NPC 檔案。
預留位置
預留位置取決於讀取它的欄位,並非所有訊息都會進行全域替換:
$players- BOSS 死亡公告中參與攻擊者的顯示名稱$distance-locationMessage中到被追蹤 BOSS 的距離$eventBossLevel- BOSS 名稱中帶格式的等級;預覽時等級未知可能顯示?
顏色代碼
名稱與訊息可使用 Minecraft 顏色代碼。若文字以顏色代碼開頭,請用引號包住整個字串。單引號會保留反斜線的字面含義;YAML 雙引號也有效。
標準 Minecraft 顏色代碼:
- &0 - 黑色
- &1 - 深藍色
- &2 - 深綠色
- &3 - 深青色
- &4 - 深紅色
- &5 - 深紫色
- &6 - 金色
- &7 - 灰色
- &8 - 深灰色
- &9 - 藍色
- &a - 綠色
- &b - 青色
- &c - 紅色
- &d - 淺紫色
- &e - 黃色
- &f - 白色
格式代碼:
- &l - 粗體
- &m - 刪除線
- &n - 底線
- &o - 斜體
- &r - 重置
精英能力系統
EliteMobs 提供 71 種能力,其中 68 種為 Lua 檔案(*.lua),僅 bonus_coins.yml、custom_summon.yml 與 elite_script.yml 仍使用 YAML。BOSS 設定透過檔名引用能力;舊式 .yml 參照會自動解析為同名 .lua 能力。參閱建立能力。
能力分類
分類對應能力的 powerType,也決定自然生成的精英怪能否隨機取得它。
攻擊型:
arrow_fireworks, arrow_rain, attack_arrow, attack_fire, attack_fireball, attack_freeze, attack_gravity, attack_lightning, attack_poison, attack_push, attack_vacuum, attack_wither, fireworks_barrage, lightning_bolts, taze
防禦型:
invulnerability_arrow, invulnerability_fall_damage, invulnerability_fire, invulnerability_fireworks, invulnerability_knockback, shield_wall
其他:
attack_blinding, attack_confusing, attack_weakness, attack_web, bonus_loot, channel_healing, corpse, frost_walker, ground_pound, implosion, invisibility, moonwalk, movement_speed, taunt
主要能力(限定實體類型):
MAJOR_ZOMBIE:zombie_bloat,zombie_friends,zombie_necronomicon,zombie_parentsMAJOR_SKELETON:bullet_hell,skeleton_pillar,skeleton_tracking_arrowMAJOR_BLAZE:firestorm,flame_pyreMAJOR_ENDERMAN:plasma_blasterMAJOR_GHAST:tracking_fireball
獨特能力(僅在 BOSS 以名稱明確指定時套用):
death_slice, flamethrower, frost_cone, gold_explosion, gold_shotgun, hyper_loot, meteor_shower, photon_ray, spirit_walk, summon_embers, summon_the_returned, thunderstorm,以及十種終界龍能力:ender_dragon_aimed_fireball, ender_dragon_arrow_bombardment, ender_dragon_disco_fireballs, ender_dragon_empowered_lightning, ender_dragon_ender_fireball_bombardment, ender_dragon_endermite_bombardment, ender_dragon_fireball_bombardment, ender_dragon_potion_bombardment, ender_dragon_shockwave, ender_dragon_tornado
仍為 YAML:
bonus_coins.yml, custom_summon.yml(增援系統), elite_script.yml
能力透過 powers 列表欄位加入到 BOSS:
powers:
- invulnerability_knockback.lua
- flame_pyre.lua
- spirit_walk.lua
進階功能
多階段 BOSS
BOSS 可以擁有多個階段,各自有獨立的設定檔。使用 phases 欄位來引用階段 BOSS 檔案,並使用 phaseSpawnLocation 來設定階段轉換發生的位置。
Elite Scripts
EliteScript 提供事件驅動的動作、條件與冷卻。YAML 版本使用 BOSS 的 eliteScript 欄位;Lua 能力是由 powers 引用的獨立 .lua 檔案。參閱建立能力。
自訂模型
BOSS 與 NPC 的實體模型使用 customModel。物品使用專屬欄位,包括 customModelV2、equipmentModelID 與 fmmItemModel;參閱自訂物品。實體模型與物品模型分別設定。
BOSS 裝備
BOSS 裝備欄位接受 Minecraft 材質名稱,不會載入自訂物品檔案或其 EliteMobs 屬性:
helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
指令執行
BOSS 可以在特定事件執行指令:
- onSpawnCommands - 在 BOSS 生成時執行
- onDeathCommands - 在 BOSS 被擊敗時執行
- onCombatEnterCommands - 在戰鬥開始時執行
- onCombatLeaveCommands - 在戰鬥結束時執行
BOSS 訊息
自訂 BOSS 公告:
- spawnMessage - 在 BOSS 生成時廣播
- deathMessage - 在 BOSS 被擊敗時廣播(支援 $players 預留位置)
- escapeMessage - 在 BOSS 逃脫時廣播
- locationMessage - 顯示與 BOSS 的距離(支援 $distance 預留位置)
- deathMessages - 有攻擊者紀錄時,在 BOSS 死亡後依序傳送的多行文字;非空列表優先於 deathMessage,並非隨機選取
announcementPriority(0–3)控制公告傳送、追蹤與 DiscordSRV 轉發。死亡公告在 0 時傳送給記錄的攻擊者;正優先度向全服廣播,3 還透過已設定的 DiscordSRV 整合轉發。生成公告與追蹤有各自的規則。
區域 BOSS
區域 BOSS 使用 isRegionalBoss 欄位,並可擁有牽引繩半徑、生成限制與方塊狀態變化:
- leashRadius - 與生成點的最大距離
- onSpawnBlockStates - BOSS 生成時的方塊變化
- onRemoveBlockStates - BOSS 被擊敗時的方塊變化;一般卸載、消失與重設不會套用擊敗後的狀態
自動職業戰利品
職業戰利品提供符合等級與玩家職業的獎勵。遭遇戰品級與難度預算可獨立於 BOSS 血量和傷害調整獎勵品質。自訂物品系列可提供作者指定的名稱、材質、說明與模型。
戰利品設定
控制 BOSS 掉落物:
dropsEliteMobsLoot- 啟用一般生成戰利品與金幣的處理路徑(預設true);不是自訂或職業戰利品的總開關dropsVanillaLoot- 啟用原版掉落(預設true)dropsRandomLoot- 在一般掉落路徑內啟用隨機生成戰利品(預設true)uniqueLootList- 作者指定的掉落項目,與這些生成掉落開關分開處理classLoot- 單獨控制自動職業戰利品;仍受其全域設定與資格條件限制
範例:
uniqueLootList:
- filename=custom_sword.yml:chance=1.0
- filename=rare_helmet.yml:chance=0.05:amount=1
舊式簡寫 custom_sword.yml:1 仍可解析,但冒號後的數字是掉落機率(1 = 100%),而非數量。請使用 amount= 來指定數量。完整選項請參閱戰利品表。
預製內容
EliteMobs 為大多數內容類型隨附預製設定,並在首次啟動時直接寫入一般的內容資料夾中——磁碟上並沒有獨立的 /premade/ 資料夾。產生的檔案(BOSS 在 custombosses/、物品在 customitems/、NPC 在 npcs/ 等等)都是普通的 YAML,可作為你自己內容的可用範例。
外掛也附帶預製套件定義;其地下城世界與額外內容透過 /em setup 下載並安裝。參閱副本打包工具。
取得協助
- 查看側邊欄以取得特定的內容建立指南
- 造訪 EliteMobs Discord 取得社群支援
- 查閱 GitHub 儲存庫以取得原始碼範例