跳至主要內容

建立 EliteMobs 內容

EliteMobs 使用 YAML 定義 BOSS、物品、任務等內容,使用 Lua 編寫能力、NPC 腳本與原生行為。請將各檔案放到 plugins/EliteMobs/ 下對應的內容資料夾。

內容類型​

本概覽介紹八種主要內容,以及下文列出的輔助定義與腳本:

  1. 自訂 BOSS - 建立擁有自訂能力、裝備與技能的獨特精英怪
  2. 自訂物品 - 設計帶有附魔的自訂武器、護甲與物品
  3. 自訂任務 - 建構帶有目標與獎勵的任務鏈
  4. 自訂事件 - 設定定時或觸發式的 BOSS 事件
  5. 自訂 NPC - 加入任務發放員、商店與可互動的 NPC
  6. 寶藏箱 - 放置帶有自訂獎勵與擬態怪機制的戰利品箱
  7. 競技場 - 設計帶有 BOSS 遭遇戰、以波次為基礎的戰鬥挑戰
  8. 蟲洞 - 建立連接各位置之間的傳送門

每種內容類型都有它自己的設定資料夾與欄位結構。

快速上手​

建立 YAML 內容定義的步驟:

  1. 建立一個副檔名為 .yml 的 YAML 檔案
  2. 使用 lowercase_with_underscores.yml 格式為它命名
  3. 將它放入適當的資料夾
  4. 使用 YAML 欄位設定內容
  5. 重新載入 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_parents
  • MAJOR_SKELETON: bullet_hell, skeleton_pillar, skeleton_tracking_arrow
  • MAJOR_BLAZE: firestorm, flame_pyre
  • MAJOR_ENDERMAN: plasma_blaster
  • MAJOR_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 下載並安裝。參閱副本打包工具。

取得協助​