跳至主要內容

建立競技場

webapp_banner.jpg

建立競技場

isEnabled

設定競技場是否啟用。

KeyValuesDefault
isEnabledBooleantrue
範例
isEnabled: true

arenaName

設定競技場的名稱。

KeyValuesDefault
arenaNameStringDefault name
範例
arenaName: Bedrock Arena

create_arena_name.jpg


corner1

設定競技場的第一個角落。

KeyValuesDefault
corner1Locationnone
範例
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紅色羊毛表示。此設定將它們之間的區域指定為競技場,以黃色羊毛表示。

create_arena_corner.jpg


corner2

設定競技場的第二個角落,必須位於 corner1 的對角。這兩個角落定義了你競技場空間的邊界。

KeyValuesDefault
corner2Locationnone
範例
corner2: my_arena_world,-10,50,10,0,0

在此圖中,corner1綠色羊毛表示,corner2紅色羊毛表示。此設定將它們之間的區域指定為競技場,以黃色羊毛表示。

create_arena_corner.jpg


startLocation

設定競技場的開始位置。

KeyValuesDefault
startLocationLocationnone
範例
startLocation: my_arena_world,1,50,1,0,0

exitLocation

設定競技場的離開位置。

KeyValuesDefault
exitLocationLocationnone
範例
exitLocation: my_world,1,50,1,0,0

waveCount

設定競技場擁有的波次數量。

KeyValuesDefault
waveCountInteger0
範例
waveCount: 10

delayBetweenWaves

設定波次之間的延遲(以秒計)。

KeyValuesDefault
delayBetweenWavesInteger0
範例
delayBetweenWaves: 5

rawIntermissionWaves

讓列表中所指定波次之間的延遲加倍。這些波次的延遲將為 delayBetweenWaves * 2。 如果你想在特定波次之間給予玩家短暫的喘息時間,這很有用。

KeyValuesDefault
rawIntermissionWavesInteger Listnone
範例
rawIntermissionWaves:
- '5'
- '10'
- '15'

spawnPoints

設定競技場 BOSS 的生成位置。

KeyValuesDefault
spawnPointsString 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 在競技場中生成。

KeyValuesDefault
bossListString 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(複數)。

KeyValuesDefault
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

設定競技場開始前必須擁有的最低玩家數。

KeyValuesDefault
minimumPlayerCountInteger1
範例
minimumPlayerCount: 1

maximumPlayerCount

設定競技場可擁有的最大玩家數。

KeyValuesDefault
maximumPlayerCountInteger0
範例
maximumPlayerCount: 100

arenaMessages

設定在波次之間執行的訊息。

KeyValuesDefault
arenaMessages特殊 [3]none
範例
arenaMessages:
- wave=1:message="&a[Arena Announcer] &fTime for wave one!"
- wave=2:message="&a[Arena Announcer] &fWow, wave two already."

create_arena_messages.jpg


cylindricalArena

設定競技場是否使用圓柱形(預設為長方體)。

KeyValuesDefault
cylindricalArenaBooleanfalse
範例
cylindricalArena: false

permission

設定使用競技場所需的權限。

KeyValuesDefault
permissionStringnone
範例
permission: mypermission.arena

teleportLocation

設定玩家在與競技場 NPC 互動後應被傳送到的位置。此設定通常用來將玩家傳送到競技場的專屬大廳類型區域,讓他們可以在那裡開始競技場挑戰,或等待其他玩家完成競技場。

KeyValuesDefault
teleportLocationLocationnone
範例
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 此設定讓我們切換以 corner1corner2 設定的所定義區域是否應為圓柱形而非長方體。在我們的範例中我們將此設為 false,意思是範例競技場是長方體形狀。

permission 讓我們設定玩家必須擁有才能加入/開始競技場的權限。在我們的範例中,玩家需要 arena.mypermission 權限才能使用競技場。

建立競技場 NPC

isEnabled

設定 NPC 是否啟用。

KeyValuesDefault
isEnabledBooleantrue
範例
isEnabled: true

name

設定 NPC 的顯示名稱。

KeyValuesDefault
nameStringnone
範例
name: "&aGladius"

create_arena_npc_name.jpg


role

設定顯示在 NPC 名稱下方的角色定位。

KeyValuesDefault
roleStringnone
範例
role: "&c<Arena Master>"

create_arena_npc_role.jpg


profession

設定 NPC 的 MineCraft 職業。

KeyValuesDefault
professionProfessionNITWIT
範例
profession: ARMORER

如果使用了 diguise,此設定將被覆寫。

create_arena_npc_profession.jpg


spawnLocation

設定 NPC 的生成位置。

KeyValuesDefault
spawnLocationLocationnone
範例
spawnLocation: my_world,1.5,50,1.5,-108,0

spawnLocations

為 NPC 設定額外的生成位置。這讓單一 NPC 設定能在多個位置生成。

KeyValuesDefault
spawnLocationsString Listnone
範例
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0

greetings

設定 NPC 的問候對話。

KeyValuesDefault
greetingsString Listnone
範例
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

create_arena_npc_greetings.jpg


dialog

設定玩家與 NPC 互動時的對話。

KeyValuesDefault
dialogString Listnone
範例
dialog:
- Ready for a challenge?
- Face the Arena?

create_arena_npc_dialog.jpg


farewell

設定 NPC 的告別對話,在玩家走開時顯示。

KeyValuesDefault
farewellString Listnone
範例
farewell:
- Bye.
- Return with your shield, or on it!

create_arena_npc_farewell.jpg

如果某個字串太長,你可以使用 \n 將字串分隔成多行。

farewell:
- Bye.
- Return with your\nshield, or on it!

create_arena_npc_lines.jpg


canTalk

設定 NPC 是否能與玩家對話。

KeyValuesDefault
canTalkBooleantrue
範例
canTalk: true

activationRadius

設定 NPC 應開始說話的半徑。

KeyValuesDefault
activationRadiusDouble3.0
範例
activationRadius: 3.0

timeout

設定 NPC 的逾時時間(以秒計)。設定後,NPC 會在指定時間後消失。

KeyValuesDefault
timeoutDouble0
範例
timeout: 60

interactionType

設定 NPC 將執行的互動類型。

KeyValuesDefault
interactionType特殊 [4]NONE
範例
interactionType: ARENA_MASTER

disguise

設定自訂的 NPC 偽裝。

KeyValuesDefault
disguiseDisguisenone
範例
disguise: ZOMBIE

create_arena_npc_disguise.jpg


customDisguiseData

設定 LibsDisguises 偽裝的自訂偽裝資料。這讓你能進行超越基本 disguise 設定的詳細偽裝自訂。

KeyValuesDefault
customDisguiseDataStringnone
範例
customDisguiseData: player MHF_Pig

customModel

設定 NPC 要使用的自訂模型。需要安裝並設定有效的自訂模型外掛。

KeyValuesDefault
customModelStringnone
範例
customModel: my_model

arena

設定玩家將被傳送到哪個競技場。

KeyValuesDefault
arenaFilenamenone
範例
arena: my_arena.yml

command

設定 NPC 在被互動時將執行的指令。需要將 interactionType 設為 COMMAND

KeyValuesDefault
commandStringnone
範例
command: say Hello $player

questFileName

設定 NPC 的任務檔名。需要將 interactionType 設為 CUSTOM_QUEST_GIVER

KeyValuesDefault
questFileNameString Listnone
範例
questFileName:
- my_quest_1.yml
- my_quest_2.yml

noPreviousLocationMessage

interactionType 設為 TELEPORT_BACK 時,這會設定當 NPC 找不到可傳送玩家過去的先前位置時所發送的訊息。

KeyValuesDefault
noPreviousLocationMessageStringnone
範例
noPreviousLocationMessage: '&cCouldn''t find a previous location!'

instanced

設定 NPC 是否應被實例化。這用於實例副本內的 NPC。

KeyValuesDefault
instancedBooleanfalse
範例
instanced: false

scale

設定 NPC 的尺度(大小)。

KeyValuesDefault
scaleDouble1.0
範例
scale: 1.0

syncMovement

設定 NPC 是否應將其移動同步到伺服器。

KeyValuesDefault
syncMovementBooleantrue
範例
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 互動類型列表:

TypeDescription
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開啟猜大小賭博遊戲