跳至主要内容

創建競技場

webapp_banner.jpg

創建競技場

isEnabled

設定是否啟用競技場。

預設
isEnabledBooleantrue
範例
isEnabled: true

arenaName

設定競技場的名稱。

預設
arenaNameStringnone
範例
arenaName: Bedrock Arena

create_arena_name.jpg


corner1

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

預設
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 對角相對。這兩個角落定義了您的競技場空間的邊界。

預設
corner2Locationnone
範例
corner2: my_arena_world,-10,50,10,0,0

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

create_arena_corner.jpg


startLocation

設定競技場的起始位置。

預設
startLocationLocationnone
範例
startLocation: my_arena_world,1,50,1,0,0

exitLocation

設定競技場的退出位置。

預設
exitLocationLocationnone
範例
exitLocation: my_world,1,50,1,0,0

waveCount

設定競技場擁有的波數。

預設
waveCountIntegernone
範例
waveCount: 10

delayBetweenWaves

設定波次之間的延遲(以秒為單位)。

預設
delayBetweenWavesInteger0
範例
delayBetweenWaves: 5

rawIntermissionWaves

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

預設
rawIntermissionWavesInteger Listnone
範例
rawIntermissionWaves:
- '5'
- '10'
- '15'

spawnPoints

設定競技場首領的生成位置。

預設
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

設定在競技場波次期間出現的首領列表。EliteMobs Arenas 確實支援在競技場中生成 Mythic Mobs。

預設
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 波將在北方生成點生成一個首領,在南方生成點生成一個首領。然後,在第 2 波中,一個等級 10 的 mythic 首領將在中心點生成。

請注意,您也可以使用 level 參數為 EliteMobs 首領強制設定等級(例如,level=10),但建議您在其設定檔中設定其等級以保持一致性。level 參數對於縮放競技場難度很有用。


rawArenaReward

設定在波次結束時給予的獎勵。 注意:在原始碼中,此欄位也可能被引用為 rawArenaRewards(複數)。

預設
rawArenaRewardUniversal EliteMobs loot tablenone
範例
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

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

預設
minimumPlayerCountInteger1
範例
minimumPlayerCount: 1

maximumPlayerCount

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

預設
maximumPlayerCountInteger100
範例
maximumPlayerCount: 100

arenaMessages

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

預設
arenaMessagesSpecial [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

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

預設
cylindricalArenaBooleanfalse
範例
cylindricalArena: false

permission

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

預設
permissionStringnone
範例
permission: mypermission.arena

Special [1]

生成點:使用以下格式:name=pointName:location=world_name,x,y,z

Special [2]

首領列表:使用以下格式:wave=x:spawnPoint=Y:boss=bossfilename.yml

Special [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 是我們定義哪個首領應該在哪一波和哪個位置生成的地方。在範例中,第 1 波將有 3 個首領從我們命名為 north、center 和 south 的生成位置生成。這三個都設定為使用相同的首領檔案,但我們可以為每一個使用不同的首領檔案。

rawArenaReward 設定在玩家成功存活/擊敗一波後將發放的獎勵。正如我們在範例中看到的,擊敗第 1 波將獎勵玩家 5 枚精英硬幣。如果他們設法存活剩餘的波次,然後擊敗第 5 波,他們將獲得 25 枚精英硬幣和 50% 的機會獲得等級 5 的 MagmaGuy's Toothpick。

minimumPlayerCount 設定競技場開始前所需的最少玩家數量。在我們的範例中,此設定設為 1,因此只需要一名玩家即可開始競技場。maximumPlayerCount 設定可以參與競技場的最大玩家數量。在我們的範例中,此設定設為 3,這意味著如果超過 3 名玩家嘗試參與競技場,則競技場將不會開始,直到有 3 名或更少的玩家。

arenaMessages 讓您添加一些將在定義的波次開始時在聊天中顯示的風味文字。在我們的範例中,我們決定在每波開始時顯示一條簡短訊息。我們還決定在每條訊息的開頭包含 NPC 名稱,使文字看起來像是播音員(競技場主持人)所說的對話。

cylindricalArena 此設定將讓我們切換我們用 corner1corner2 設定的定義區域是否應該是圓柱形而不是立方體形。在我們的範例中,我們將此設為 false,這意味著範例競技場是立方體形狀。

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

創建競技場 NPC

isEnabled

設定是否啟用 NPC。

預設
isEnabledBooleantrue
範例
isEnabled: true

name

設定 NPC 的顯示名稱。

預設
nameStringnone
範例
name: "&aGladius"

create_arena_npc_name.jpg


role

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

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

create_arena_npc_role.jpg


profession

設定 NPC 的 MineCraft 職業。

預設
professionProfessionnone
範例
profession: ARMORER

如果使用了 diguise,將會被覆蓋。

create_arena_npc_profession.jpg


spawnLocation

設定 NPC 的生成位置。

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

greetings

設定 NPC 的問候對話。

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

create_arena_npc_greetings.jpg


dialog

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

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

create_arena_npc_dialog.jpg


farewell

設定 NPC 的告別對話。

預設
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 是否可以與玩家交談。

預設
canTalkBooleantrue
範例
canTalk: true

activationRadius

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

預設
activationRadiusDouble3.0
範例
activationRadius: 3.0

interactionType

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

預設
interactionTypeSpecial [4]ARENA_MASTER
範例
interactionType: ARENA_MASTER

disguise

設定自訂的 NPC 偽裝。

預設
disguiseDisguisenone
範例
disguise: ZOMBIE

create_arena_npc_disguise.jpg


arena

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

預設
arenaFilenamenone
範例
arena: my_arena.yml

teleportLocation

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

預設
teleportLocationLocationnone
範例
teleportLocation: my_arena_world,10,50,10,0,0

競技場設定範例
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。

Special [4]

以下是有效的 NPC 互動類型列表:

類型描述
GUILD_GREETER開啟冒險者公會選單
CHAT右鍵點擊循環瀏覽 dialog
CUSTOM_SHOP開啟自訂商店選單
PROCEDURALLY_GENERATED_SHOP開啟程序生成的商店
BAR開啟酒吧選單
ARENA開啟競技場選單
QUEST_GIVER開啟程序生成的任務選單
CUSTOM_QUEST_GIVER為在 questFilenames 中設定的特定任務開啟任務選單
NONE無互動
SELL開啟出售選單
TELEPORT_BACK將玩家傳送回他們最後一次非 elitemobs 世界位置
SCRAPPER開啟報廢選單
SMELTER開啟熔煉選單
REPAIRMAN開啟修理選單
ENHANCER開啟物品強化選單
REFINER開啟精煉選單
UNBINDER開啟解綁選單
ARENA_MASTER為在 arenaFilename 中設定的競技場開啟競技場選單
COMMAND執行在 command 中設定的指令