创建竞技场
创建竞技场
isEnabled
设置竞技场是否启用。
| 键 | 值 | 默认值 |
|---|---|---|
isEnabled | 布尔值 | true |
示例
isEnabled: true
arenaName
设置竞技场的名称。
| 键 | 值 | 默认值 |
|---|---|---|
arenaName | 字符串 | Default name |
示例
arenaName: Bedrock Arena

corner1
设置竞技场的第一个角。
| 键 | 值 | 默认值 |
|---|---|---|
corner1 | 位置 | 无 |
示例
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 | 位置 | 无 |
示例
corner2: my_arena_world,-10,50,10,0,0
在这张图中,corner1 用 绿色羊毛 表示,corner2 用 红色羊毛 表示。此配置将它们之间的区域指定为竞技场,用 黄色羊毛 表示。

startLocation
设置竞技场的起始位置。
| 键 | 值 | 默认值 |
|---|---|---|
startLocation | 位置 | 无 |
示例
startLocation: my_arena_world,1,50,1,0,0
exitLocation
设置竞技场的退出位置。
| 键 | 值 | 默认值 |
|---|---|---|
exitLocation | 位置 | 无 |
示例
exitLocation: my_world,1,50,1,0,0
waveCount
设置竞技场拥有的波次数量。
| 键 | 值 | 默认值 |
|---|---|---|
waveCount | 整数 | 0 |
示例
waveCount: 10
delayBetweenWaves
设置波次之间的延迟(以秒为单位)。
| 键 | 值 | 默认值 |
|---|---|---|
delayBetweenWaves | 整数 | 0 |
示例
delayBetweenWaves: 5
rawIntermissionWaves
将列表中指定波次的波间延迟加倍。这些波次的延迟将为 delayBetweenWaves * 2。 如果你想在特定波次之间给玩家一点喘息时间,这会很有用。
| 键 | 值 | 默认值 |
|---|---|---|
rawIntermissionWaves | 整数列表 | 无 |
示例
rawIntermissionWaves:
- '5'
- '10'
- '15'
spawnPoints
设置竞技场 Boss 的生成位置。
| 键 | 值 | 默认值 |
|---|---|---|
spawnPoints | 字符串列表 [1] | 无 |
示例
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 | 字符串列表 [2] | 无 |
示例
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 参数(例如 level=10)来强制设定 EliteMobs Boss 的等级,但为了保持一致,建议在它们的配置文件中设置等级。level 参数对于缩放竞技场难度很有用。
rawArenaReward
设置在波次结束时给予的奖励。
注意:在源代码中,此字段也可能被引用为 rawArenaRewards(复数)。
| 键 | 值 | 默认值 |
|---|---|---|
rawArenaReward | 通用 EliteMobs 战利品表 | 无 |
示例
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 | 整数 | 1 |
示例
minimumPlayerCount: 1
maximumPlayerCount
设置竞技场可容纳的最大玩家数量。
| 键 | 值 | 默认值 |
|---|---|---|
maximumPlayerCount | 整数 | 0 |
示例
maximumPlayerCount: 100
arenaMessages
设置在波次之间运行的消息。
| 键 | 值 | 默认值 |
|---|---|---|
arenaMessages | 特殊 [3] | 无 |
示例
arenaMessages:
- wave=1:message="&a[Arena Announcer] &fTime for wave one!"
- wave=2:message="&a[Arena Announcer] &fWow, wave two already."

cylindricalArena
设置竞技场是否使用圆柱形(默认为长方体)。
| 键 | 值 | 默认值 |
|---|---|---|
cylindricalArena | 布尔值 | false |
示例
cylindricalArena: false
permission
设置使用竞技场所需的权限。
| 键 | 值 | 默认值 |
|---|---|---|
permission | 字符串 | 无 |
示例
permission: mypermission.arena
teleportLocation
设置玩家与竞技场 NPC 交互后应被传送到的位置。此设置通常用于将玩家传送到竞技场专门的大厅区域,玩家可以在那里开始竞技场挑战,或等待其他玩家完成竞技场。
| 键 | 值 | 默认值 |
|---|---|---|
teleportLocation | 位置 | 无 |
示例
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)交互时会显示这个名称,该 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 | 布尔值 | true |
示例
isEnabled: true
name
设置 NPC 的显示名称。
| 键 | 值 | 默认值 |
|---|---|---|
name | 字符串 | 无 |
示例
name: "&aGladius"

role
设置 NPC 名称下方显示的角色身份。
| 键 | 值 | 默认值 |
|---|---|---|
role | 字符串 | 无 |
示例
role: "&c<Arena Master>"

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

spawnLocation
设置 NPC 的生成位置。
| 键 | 值 | 默认值 |
|---|---|---|
spawnLocation | 位置 | 无 |
示例
spawnLocation: my_world,1.5,50,1.5,-108,0
spawnLocations
设置 NPC 的额外生成位置。这允许单个 NPC 配置在多个位置生成。
| 键 | 值 | 默认值 |
|---|---|---|
spawnLocations | 字符串列表 | 无 |
示例
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0
greetings
设置 NPC 的问候语对白。
| 键 | 值 | 默认值 |
|---|---|---|
greetings | 字符串列表 | 无 |
示例
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

dialog
设置玩家与 NPC 交互时的对白。
| 键 | 值 | 默认值 |
|---|---|---|
dialog | 字符串列表 | 无 |
示例
dialog:
- Ready for a challenge?
- Face the Arena?

farewell
设置 NPC 的告别对白,在玩家走开时显示。
| 键 | 值 | 默认值 |
|---|---|---|
farewell | 字符串列表 | 无 |
示例
farewell:
- Bye.
- Return with your shield, or on it!

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

canTalk
设置 NPC 是否能与玩家交谈。
| 键 | 值 | 默认值 |
|---|---|---|
canTalk | 布尔值 | true |
示例
canTalk: true
activationRadius
设置 NPC 应开始交谈的半径。
| 键 | 值 | 默认值 |
|---|---|---|
activationRadius | Double | 3.0 |
示例
activationRadius: 3.0
timeout
设置 NPC 的超时时间(以秒为单位)。设置后,NPC 将在指定时间后消失。
| 键 | 值 | 默认值 |
|---|---|---|
timeout | 双精度 | 0 |
示例
timeout: 60
interactionType
设置 NPC 将执行的交互类型。
| 键 | 值 | 默认值 |
|---|---|---|
interactionType | 特殊 [4] | NONE |
示例
interactionType: ARENA_MASTER
disguise
设置自定义 NPC 伪装。
| 键 | 值 | 默认值 |
|---|---|---|
disguise | 伪装 | 无 |
示例
disguise: ZOMBIE

customDisguiseData
设置 LibsDisguises 伪装的自定义伪装数据。这允许进行超出基本 disguise 设置的详细伪装自定义。
| 键 | 值 | 默认值 |
|---|---|---|
customDisguiseData | 字符串 | 无 |
示例
customDisguiseData: player MHF_Pig
customModel
设置 NPC 要使用的自定义模型。需要安装并配置有效的自定义模型插件。
| 键 | 值 | 默认值 |
|---|---|---|
customModel | 字符串 | 无 |
示例
customModel: my_model
arena
设置玩家将被传送到哪个竞技场。
| 键 | 值 | 默认值 |
|---|---|---|
arena | Filename | 无 |
示例
arena: my_arena.yml
command
设置 NPC 在被交互时将运行的命令。需要将 interactionType 设置为 COMMAND。
| 键 | 值 | 默认值 |
|---|---|---|
command | 字符串 | 无 |
示例
command: say Hello $player
questFileName
设置 NPC 的任务文件名。需要将 interactionType 设置为 CUSTOM_QUEST_GIVER。
| 键 | 值 | 默认值 |
|---|---|---|
questFileName | 字符串列表 | 无 |
示例
questFileName:
- my_quest_1.yml
- my_quest_2.yml
noPreviousLocationMessage
当 interactionType 设置为 TELEPORT_BACK 时,此项设置当 NPC 找不到可将玩家传送回去的先前位置时所发送的消息。
| 键 | 值 | 默认值 |
|---|---|---|
noPreviousLocationMessage | 字符串 | 无 |
示例
noPreviousLocationMessage: '&cCouldn''t find a previous location!'
instanced
设置 NPC 是否应被实例化。这用于实例地下城内的 NPC。
| 键 | 值 | 默认值 |
|---|---|---|
instanced | 布尔值 | false |
示例
instanced: false
scale
设置 NPC 的缩放(大小)。
| 键 | 值 | 默认值 |
|---|---|---|
scale | 双精度 | 1.0 |
示例
scale: 1.0
syncMovement
设置 NPC 的移动是否应与服务器同步。
| 键 | 值 | 默认值 |
|---|---|---|
syncMovement | 布尔值 | 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 交互类型列表:
| 类型 | 描述 |
|---|---|
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 | 打开猜大小赌博游戏 |
