建立競技場
建立競技場
isEnabled
設定競技場是否啟用。
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
範例
isEnabled: true
arenaName
設定競技場的名稱。
| Key | Values | Default |
|---|---|---|
arenaName | String | Default name |
範例
arenaName: Bedrock Arena

corner1
設定競技場的第一個角落。
| Key | Values | Default |
|---|---|---|
corner1 | Location | none |
範例
corner1: my_arena_world,10,50,-10,0,0
位置格式為:world_name,x,y,z,yaw,pitch,其中 world_name 是世界名稱,x/y/z 是座標,yaw 是水平旋轉(0-360),而 pitch 是垂直旋轉(-90 到 90)。
在此圖中,corner1 以綠色羊毛表示,corner2 以紅色羊毛表示。此設定將它們之間的區域指定為競技場,以黃色羊毛表示。

corner2
設定競技場的第二個角落,必須位於 corner1 的對角。這兩個角落定義了你競技場空間的邊界。
| Key | Values | Default |
|---|---|---|
corner2 | Location | none |
範例
corner2: my_arena_world,-10,50,10,0,0
在此圖中,corner1 以綠色羊毛表示,corner2 以紅色羊毛表示。此設定將它們之間的區域指定為競技場,以黃色羊毛表示。

startLocation
設定競技場的開始位置。
| Key | Values | Default |
|---|---|---|
startLocation | Location | none |
範例
startLocation: my_arena_world,1,50,1,0,0
exitLocation
設定競技場的離開位置。
| Key | Values | Default |
|---|---|---|
exitLocation | Location | none |
範例
exitLocation: my_world,1,50,1,0,0
waveCount
設定競技場擁有的波次數量。
| Key | Values | Default |
|---|---|---|
waveCount | Integer | 0 |
範例
waveCount: 10
delayBetweenWaves
設定波次之間的延遲(以秒計)。
| Key | Values | Default |
|---|---|---|
delayBetweenWaves | Integer | 0 |
範例
delayBetweenWaves: 5
rawIntermissionWaves
讓列表中所指定波次之間的延遲加倍。這些波次的延遲將為 delayBetweenWaves * 2。 如果你想在特定波次之間給予玩家短暫的喘息時間,這很有用。
| Key | Values | Default |
|---|---|---|
rawIntermissionWaves | Integer List | none |
範例
rawIntermissionWaves:
- '5'
- '10'
- '15'
spawnPoints
設定競技場 BOSS 的生成位置。
| Key | Values | Default |
|---|---|---|
spawnPoints | String List [1] | none |
範例
spawnPoints:
- name=north:location=my_arena_world,219.5,71,273.5
- name=south:location=my_arena_world,219.5,71,316.5
- name=west:location=my_arena_world,197.5,71,295.5
- name=east:location=my_arena_world,240.5,71,295.5
- name=center:location=my_arena_world,219.5,71,295.5
bossList
設定在競技場波次中出現的 BOSS 列表。EliteMobs 競技場確實支援 Mythic Mobs 在競技場中生成。
| Key | Values | Default |
|---|---|---|
bossList | String List [2] | none |
範例
bossList:
- wave=1:spawnPoint=north:boss=my_boss_wave_1.yml
- wave=1:spawnPoint=south:boss=my_boss_wave_1.yml
- wave=2:spawnPoint=center:boss=my_mythicmobs_boss:mythicmob=true:level=10
在此範例中,第 1 波會在北方生成點生成一隻 BOSS、在南方生成點生成一隻 BOSS。接著,在第 2 波,一隻 mythic BOSS 會以等級 10 在中央點生成。
請注意,你也可以使用 level 參數為 EliteMobs BOSS 強制指定等級(例如 level=10),但為了一致性,建議你在它們的設定檔中設定它們的等級。level 參數對於縮放競技場難度很有用。
rawArenaReward
設定在波次結束時給予的獎勵。
註:在原始碼中,此欄位也可能被稱為 rawArenaRewards(複數)。
| Key | Values | Default |
|---|---|---|
rawArenaReward | 通用 EliteMobs 戰利品表 | none |
範例
rawArenaReward:
- filename=enchanted_book_damage_all.yml:wave=5:chance=0.25
- filename=elite_scrap_tiny.yml:wave=1:chance=0.5:amount=5
- currencyAmount=3:wave=3
- level=5:filename=summon_merchant_scroll.yml:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=10:wave=10:chance=0.95
minimumPlayerCount
設定競技場開始前必須擁有的最低玩家數。
| Key | Values | Default |
|---|---|---|
minimumPlayerCount | Integer | 1 |
範例
minimumPlayerCount: 1
maximumPlayerCount
設定競技場可擁有的最大玩家數。
| Key | Values | Default |
|---|---|---|
maximumPlayerCount | Integer | 0 |
範例
maximumPlayerCount: 100
arenaMessages
設定在波次之間執行的訊息。
| Key | Values | Default |
|---|---|---|
arenaMessages | 特殊 [3] | none |
範例
arenaMessages:
- wave=1:message="&a[Arena Announcer] &fTime for wave one!"
- wave=2:message="&a[Arena Announcer] &fWow, wave two already."

cylindricalArena
設定競技場是否使用圓柱形(預設為長方體)。
| Key | Values | Default |
|---|---|---|
cylindricalArena | Boolean | false |
範例
cylindricalArena: false
permission
設定使用競技場所需的權限。
| Key | Values | Default |
|---|---|---|
permission | String | none |
範例
permission: mypermission.arena
teleportLocation
設定玩家在與競技場 NPC 互動後應被傳送到的位置。此設定通常用來將玩家傳送到競技場的專屬大廳類型區域,讓他們可以在那裡開始競技場挑戰,或等待其他玩家完成競技場。
| Key | Values | Default |
|---|---|---|
teleportLocation | Location | none |
範例
teleportLocation: my_arena_world,10,50,10,0,0
特殊 [1]
生成點:使用以下格式:name=pointName:location=world_name,x,y,z。
特殊 [2]
BOSS 列表:使用以下格式:wave=x:spawnPoint=Y:boss=bossfilename.yml。
特殊 [3]
競技場訊息:使用以下格式:wave=X:message=your message here。
競技場設定範例
isEnabled: true
arenaName: Example Arena
corner1: my_arena_world,0,0,0,0,0
corner2: my_arena_world,50,50,50,0,0
startLocation: my_arena_world,25,0,25,0,0
exitLocation: my_minecraft_world,234,44,245,0,0
waveCount: 5
delayBetweenWaves: 5
spawnPoints:
- name=north:location=my_arena_world,40.5,0,0
- name=south:location=my_arena_world,10.5,0,0
- name=west:location=my_arena_world,0,0,40.5
- name=east:location=my_arena_world,0,0,10.5
- name=center:location=my_arena_world,25.5,0,25.5
bossList:
- wave=1:spawnPoint=north:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=center:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=south:boss=example_arena_wave_1_mob.yml
- wave=2:spawnPoint=center:boss=example_arena_wave_2_mob.yml
- wave=3:spawnPoint=east:boss=example_arena_wave_3_mob.yml
- wave=3:spawnPoint=west:boss=example_arena_wave_3_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=5:spawnPoint=center:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=south:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=west:boss=example_arena_wave_5_mob.yml
rawArenaReward:
- currencyAmount=5:wave=1
- currencyAmount=10:wave=2
- currencyAmount=15:wave=3
- currencyAmount=20:wave=4
- currencyAmount=25:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=5:wave=5:chance=0.5
minimumPlayerCount: 1
maximumPlayerCount: 3
arenaMessages:
- wave=1:message=&d[Arena NPC] &fWow! Wave 1!
- wave=2:message=&d[Arena NPC] &fAmazing it is wave 2!
- wave=3:message=&d[Arena NPC] &fWave 3 is now on!
- wave=4:message=&d[Arena NPC] &fWave 4 already!
- wave=5:message=&d[Arena NPC] &fWell it is all over after this one.
cylindricalArena: false
permission: arena.mypermission
範例拆解說明
讓我們從頭開始檢視這個範例,並解釋這個競技場設定的作用。
首先,競技場以 isEnabled 啟用,我們可以看到它使用 arenaName 設定被命名為 Example Arena。當你與競技場 NPC 互動時(我們會在下文談到如何製作競技場 NPC),這個名稱會顯示出來,讓玩家加入競技場。corner1 與 corner2 定義了競技場的大小。這些角落應位於你計畫用作競技場的區域的對角兩側。
startLocation 是玩家在加入競技場時生成進來的位置,在此範例中那會是 my_arena_world 世界中競技場的中央。exitLocation 是玩家失敗或完成競技場後將被傳送到的位置。在此情況下那會是 my_minecraft_world 世界與範例中的座標。
waveCount 單純設定競技場將持續的波次數量。在此情況下那會是 5 波。如果玩家設法撐過全部 5 波,他們就成功撐過了競技場。delayBetweenWaves 將設定下一波開始前的秒數。在我們的範例中,玩家在下一波開始前有 5 秒可以準備。
spawnPoints 設定我們可以讓怪物生成的位置。我們可以做任意數量並隨意命名。在範例中我們決定做 5 個生成點,並將它們命名為 north、south、center、east 與 west。
bossList 是我們定義哪隻 BOSS 應在哪一波、哪個位置生成的地方。在範例中,第 1 波會有 3 隻 BOSS 從我們命名為 north、center 與 south 的生成位置生成。這三隻都被設定為使用同一個 BOSS 檔案,但我們也可以為每一隻使用不同的 BOSS 檔案。
rawArenaReward 設定玩家設法撐過/擊敗某一波後將發放的獎勵。如我們在範例中所見,擊敗第 1 波會獎勵玩家 5 枚精英金幣。如果他們設法撐過其餘的波次,然後擊敗第 5 波,他們將獲得 25 枚精英金幣的獎勵,以及 50% 的機率獲得一把等級 5 的 MagmaGuy 牙籤(MagmaGuy's Toothpick)。
minimumPlayerCount 設定競技場開始前所需的最低玩家數。在我們的範例中此設定被設為 1,所以競技場只需要一名玩家就能開始。maximumPlayerCount 設定可參與競技場的最大玩家數。在我們的範例中此設定被設為 3,意思是如果超過 3 名玩家嘗試參與競技場,那麼競技場將不會開始,直到玩家數為 3 或更少為止。
arenaMessages 讓你加入一些風味文字,會在所定義波次的開始時顯示在聊天中。在我們的範例中我們決定在每一波開始時顯示一則簡短訊息。我們也決定在每則訊息的開頭加入 NPC 名稱,營造出文字是由播報員(競技場主)所說對話的錯覺。
cylindricalArena 此設定讓我們切換以 corner1 與 corner2 設定的所定義區域是否應為圓柱形而非長方體。在我們的範例中我們將此設為 false,意思是範例競技場是長方體形狀。
permission 讓我們設定玩家必須擁有才能加入/開始競技場的權限。在我們的範例中,玩家需要 arena.mypermission 權限才能使用競技場。
建立競技場 NPC
isEnabled
設定 NPC 是否啟用。
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
範例
isEnabled: true
name
設定 NPC 的顯示名稱。
| Key | Values | Default |
|---|---|---|
name | String | none |
範例
name: "&aGladius"

role
設定顯示在 NPC 名稱下方的角色定位。
| Key | Values | Default |
|---|---|---|
role | String | none |
範例
role: "&c<Arena Master>"

profession
設定 NPC 的 MineCraft 職業。
| Key | Values | Default |
|---|---|---|
profession | Profession | NITWIT |
範例
profession: ARMORER
如果使用了 diguise,此設定將被覆寫。

spawnLocation
設定 NPC 的生成位置。
| Key | Values | Default |
|---|---|---|
spawnLocation | Location | none |
範例
spawnLocation: my_world,1.5,50,1.5,-108,0
spawnLocations
為 NPC 設定額外的生成位置。這讓單一 NPC 設定能在多個位置生成。
| Key | Values | Default |
|---|---|---|
spawnLocations | String List | none |
範例
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0
greetings
設定 NPC 的問候對話。
| Key | Values | Default |
|---|---|---|
greetings | String List | none |
範例
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

dialog
設定玩家與 NPC 互動時的對話。
| Key | Values | Default |
|---|---|---|
dialog | String List | none |
範例
dialog:
- Ready for a challenge?
- Face the Arena?

farewell
設定 NPC 的告別對話,在玩家走開時顯示。
| Key | Values | Default |
|---|---|---|
farewell | String List | none |
範例
farewell:
- Bye.
- Return with your shield, or on it!

如果某個字串太長,你可以使用 \n 將字串分隔成多行。
farewell:
- Bye.
- Return with your\nshield, or on it!

canTalk
設定 NPC 是否能與玩家對話。
| Key | Values | Default |
|---|---|---|
canTalk | Boolean | true |
範例
canTalk: true
activationRadius
設定 NPC 應開始說話的半徑。
| Key | Values | Default |
|---|---|---|
activationRadius | Double | 3.0 |
範例
activationRadius: 3.0
timeout
設定 NPC 的逾時時間(以秒計)。設定後,NPC 會在指定時間後消失。
| Key | Values | Default |
|---|---|---|
timeout | Double | 0 |
範例
timeout: 60
interactionType
設定 NPC 將執行的互動類型。
| Key | Values | Default |
|---|---|---|
interactionType | 特殊 [4] | NONE |
範例
interactionType: ARENA_MASTER
disguise
設定自訂的 NPC 偽裝。
| Key | Values | Default |
|---|---|---|
disguise | Disguise | none |
範例
disguise: ZOMBIE

customDisguiseData
設定 LibsDisguises 偽裝的自訂偽裝資料。這讓你能進行超越基本 disguise 設定的詳細偽裝自訂。
| Key | Values | Default |
|---|---|---|
customDisguiseData | String | none |
範例
customDisguiseData: player MHF_Pig
customModel
設定 NPC 要使用的自訂模型。需要安裝並設定有效的自訂模型外掛。
| Key | Values | Default |
|---|---|---|
customModel | String | none |
範例
customModel: my_model
arena
設定玩家將被傳送到哪個競技場。
| Key | Values | Default |
|---|---|---|
arena | Filename | none |
範例
arena: my_arena.yml
command
設定 NPC 在被互動時將執行的指令。需要將 interactionType 設為 COMMAND。
| Key | Values | Default |
|---|---|---|
command | String | none |
範例
command: say Hello $player
questFileName
設定 NPC 的任務檔名。需要將 interactionType 設為 CUSTOM_QUEST_GIVER。
| Key | Values | Default |
|---|---|---|
questFileName | String List | none |
範例
questFileName:
- my_quest_1.yml
- my_quest_2.yml
noPreviousLocationMessage
當 interactionType 設為 TELEPORT_BACK 時,這會設定當 NPC 找不到可傳送玩家過去的先前位置時所發送的訊息。
| Key | Values | Default |
|---|---|---|
noPreviousLocationMessage | String | none |
範例
noPreviousLocationMessage: '&cCouldn''t find a previous location!'
instanced
設定 NPC 是否應被實例化。這用於實例副本內的 NPC。
| Key | Values | Default |
|---|---|---|
instanced | Boolean | false |
範例
instanced: false
scale
設定 NPC 的尺度(大小)。
| Key | Values | Default |
|---|---|---|
scale | Double | 1.0 |
範例
scale: 1.0
syncMovement
設定 NPC 是否應將其移動同步到伺服器。
| Key | Values | Default |
|---|---|---|
syncMovement | Boolean | true |
範例
syncMovement: true
競技場設定範例
isEnabled: true
name: Example NPC
role: <Arena Master>
profession: ARMORER
spawnLocation: my_minecraft_world,233,44,245,0,0
greetings:
- Welcome to the Arena!
dialog:
- Ready to enter the Arena?
farewell:
- Bye!
canTalk: true
activationRadius: 3.0
interactionType: ARENA_MASTER
disguise: ZOMBIE
arena: example_arena.yml
此範例展示一個基本的競技場 NPC,它會以殭屍偽裝在 my_minecraft_world 生成。玩家可以與此 NPC 互動以挑戰 Example Arena。
特殊 [4]
以下是有效的 NPC 互動類型列表:
| Type | Description |
|---|---|
GUILD_GREETER | 開啟冒險者公會選單 |
CHAT | 右鍵點擊會循環切換 dialog |
CUSTOM_SHOP | 開啟自訂商店選單 |
PROCEDURALLY_GENERATED_SHOP | 開啟程序化產生的商店 |
BAR | 開啟酒吧選單 |
ARENA | 無作用。請改用 ARENA_MASTER。 |
QUEST_GIVER | 開啟程序化產生的任務選單 |
CUSTOM_QUEST_GIVER | 開啟在 questFileName 中所設定特定任務的任務選單 |
NONE | 無互動 |
SELL | 開啟販售選單 |
TELEPORT_BACK | 將玩家傳送回他們所在過的最後一個非 elitemobs 世界位置 |
SCRAPPER | 開啟拆解選單 |
SMELTER | 已棄用 - 功能已移除,請勿使用 |
REPAIRMAN | 開啟修理選單 |
ENHANCER | 已棄用 - 功能已移除,請勿使用 |
REFINER | 已棄用 - 功能已移除,請勿使用 |
UNBINDER | 開啟解綁選單 |
ARENA_MASTER | 開啟在 arena 中所設定競技場的競技場選單 |
COMMAND | 執行在 command 中所設定的指令 |
ENCHANTER | 開啟附魔選單 |
SCROLL_APPLIER | 開啟卷軸施用選單 |
ARROW_SHOP | 開啟箭矢商店選單 |
GAMBLING_BLACKJACK | 開啟二十一點賭博遊戲 |
GAMBLING_COINFLIP | 開啟擲幣賭博遊戲 |
GAMBLING_SLOTS | 開啟吃角子老虎賭博遊戲 |
GAMBLING_HIGHERLOWER | 開啟猜大小賭博遊戲 |
