创建竞技场
创建竞技场
isEnabled
设置竞技场是否启用。
| 键 | 值 | 默认值 |
|---|---|---|
isEnabled | Boolean | true |
示例
isEnabled: true
arenaName
设置竞技场的名称。
| 键 | 值 | 默认值 |
|---|---|---|
arenaName | String | none |
示例
arenaName: Bedrock Arena

corner1
设置竞技场的第一个角。
| 键 | 值 | 默认值 |
|---|---|---|
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 成对角线。这两个角定义了您竞技场空间的边界。
| 键 | 值 | 默认值 |
|---|---|---|
corner2 | Location | none |
示例
corner2: my_arena_world,-10,50,10,0,0
在此图片中,corner1 由绿色羊毛表示,corner2 由红色羊毛表示。此配置将它们之间的区域指定为竞技场,由黄色羊毛表示。

startLocation
设置竞技场的起始位置。
| 键 | 值 | 默认值 |
|---|---|---|
startLocation | Location | none |
示例
startLocation: my_arena_world,1,50,1,0,0
exitLocation
设置竞技场的出口位置。
| 键 | 值 | 默认值 |
|---|---|---|
exitLocation | Location | none |
示例
exitLocation: my_world,1,50,1,0,0
waveCount
设置竞技场的波次数量。
| 键 | 值 | 默认值 |
|---|---|---|
waveCount | Integer | none |
示例
waveCount: 10
delayBetweenWaves
设置波次之间的延迟(以秒为单位)。
| 键 | 值 | 默认值 |
|---|---|---|
delayBetweenWaves | Integer | 0 |
示例
delayBetweenWaves: 5
rawIntermissionWaves
将列表中指定波次的延迟时间加倍。对于这些波次,延迟将是 delayBetweenWaves * 2。 如果您想在特定波次之间给玩家短暂的喘息时间,这很有用。
| 键 | 值 | 默认值 |
|---|---|---|
rawIntermissionWaves | Integer List | none |
示例
rawIntermissionWaves:
- '5'
- '10'
- '15'
spawnPoints
设置竞技场Boss的生成位置。
| 键 | 值 | 默认值 |
|---|---|---|
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在竞技场中生成。
| 键 | 值 | 默认值 |
|---|---|---|
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波,一个10级的mythic Boss将在中心点生成。
请注意,您也可以使用 level 参数为 EliteMobs Boss 强制设定等级(例如,level=10),但建议您在其配置文件中设置等级以保持一致性。level 参数对于调整竞技场难度很有用。
rawArenaReward
设置在波次结束时给予的奖励。
注意:在源代码中,此字段也可能被引用为 rawArenaRewards(复数形式)。
| 键 | 值 | 默认值 |
|---|---|---|
rawArenaReward | Universal EliteMobs loot table | 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
设置竞技场开始前必须拥有的最少玩家数量。
| 键 | 值 | 默认值 |
|---|---|---|
minimumPlayerCount | Integer | 1 |
示例
minimumPlayerCount: 1
maximumPlayerCount
设置竞技场可以拥有的最大玩家数量。
| 键 | 值 | 默认值 |
|---|---|---|
maximumPlayerCount | Integer | 100 |
示例
maximumPlayerCount: 100
arenaMessages
设置在波次之间运行的消息。
| 键 | 值 | 默认值 |
|---|---|---|
arenaMessages | Special [3] | none |
示例
arenaMessages:
- wave=1:message="&a[Arena Announcer] &fTime for wave one!"
- wave=2:message="&a[Arena Announcer] &fWow, wave two already."

cylindricalArena
设置竞技场是否使用圆柱形状(默认为长方体)。
| 键 | 值 | 默认值 |
|---|---|---|
cylindricalArena | Boolean | false |
示例
cylindricalArena: false
permission
设置使用竞技场所需的权限。
| 键 | 值 | 默认值 |
|---|---|---|
permission | String | none |
示例
permission: mypermission.arena
Special [1]
生成点:使用以下格式:name=pointName:location=world_name,x,y,z。
Special [2]
Boss列表:使用以下格式: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 是我们定义哪个Boss应该在什么波次和哪个位置生成的地方。在示例中,第1波将有3个Boss从我们命名为north、center和south的生成位置生成。这三个都设置为使用相同的Boss文件,但我们可以为每个使用不同的Boss文件。
rawArenaReward 设置在玩家设法存活/击败一波后将分发的奖励。正如我们在示例中看到的,击败第1波将奖励玩家5个精英硬币。如果他们设法存活其余的波次然后击败第5波,他们将获得25个精英硬币和50%的几率获得一个5级的MagmaGuy's Toothpick。
minimumPlayerCount 设置竞技场开始前所需的最小玩家数量。在我们的示例中,此设置设为1,因此只需要一名玩家即可开始竞技场。maximumPlayerCount 设置可以参与竞技场的最大玩家数量。在我们的示例中,此设置设为3,这意味着如果超过3名玩家尝试参与竞技场,则在玩家数量为3或更少之前竞技场不会开始。
arenaMessages 让您添加一些将在定义的波次开始时在聊天中显示的风味文本。在我们的示例中,我们决定在每波开始时显示一条简短的消息。我们还决定在每条消息的开头包含NPC名称,让文本看起来像是播音员(竞技场主管)说的对话。
cylindricalArena 此设置将让我们切换我们用 corner1 和 corner2 设置的定义区域是否应该是圆柱形状而不是长方体形状。在我们的示例中,我们将此设置为 false,这意味着示例竞技场是长方体形状。
permission 让我们设置玩家需要拥有才能加入/开始竞技场的权限。在我们的示例中,玩家将需要 arena.mypermission 权限才能使用竞技场。
创建竞技场NPC
isEnabled
设置NPC是否启用。
| 键 | 值 | 默认值 |
|---|---|---|
isEnabled | Boolean | true |
示例
isEnabled: true
name
设置NPC的显示名称。
| 键 | 值 | 默认值 |
|---|---|---|
name | String | none |
示例
name: "&aGladius"

role
设置NPC名称下显示的角色。
| 键 | 值 | 默认值 |
|---|---|---|
role | String | none |
示例
role: "&c<Arena Master>"

profession
设置NPC的MineCraft职业。
| 键 | 值 | 默认值 |
|---|---|---|
profession | Profession | none |
示例
profession: ARMORER
如果使用了 diguise,将被覆盖。

spawnLocation
设置NPC的生成位置。
| 键 | 值 | 默认值 |
|---|---|---|
spawnLocation | Location | none |
示例
spawnLocation: my_world,1.5,50,1.5,-108,0
greetings
设置NPC的问候对话。
| 键 | 值 | 默认值 |
|---|---|---|
greetings | String List | none |
示例
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

dialog
设置玩家与NPC互动时的对话。
| 键 | 值 | 默认值 |
|---|---|---|
dialog | String List | none |
示例
dialog:
- Ready for a challenge?
- Face the Arena?

farewell
设置NPC的告别对话。
| 键 | 值 | 默认值 |
|---|---|---|
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是否可以与玩家对话。
| 键 | 值 | 默认值 |
|---|---|---|
canTalk | Boolean | true |
示例
canTalk: true
activationRadius
设置NPC应该开始说话的半径。
| 键 | 值 | 默认值 |
|---|---|---|
activationRadius | Double | 3.0 |
示例
activationRadius: 3.0
interactionType
设置NPC将执行的互动类型。
| 键 | 值 | 默认值 |
|---|---|---|
interactionType | Special [4] | ARENA_MASTER |
示例
interactionType: ARENA_MASTER
disguise
设置自定义NPC伪装。
| 键 | 值 | 默认值 |
|---|---|---|
disguise | Disguise | none |
示例
disguise: ZOMBIE

arena
设置玩家将被传送到哪个竞技场。
| 键 | 值 | 默认值 |
|---|---|---|
arena | Filename | none |
示例
arena: my_arena.yml
teleportLocation
设置玩家与NPC互动后应该被传送到哪里。此设置通常用于将玩家传送到竞技场的专用大厅类型区域,在那里他们可以开始竞技场挑战或等待其他玩家完成竞技场。
| 键 | 值 | 默认值 |
|---|---|---|
teleportLocation | Location | none |
示例
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 中设置的命令 |
