跳到主要内容

创建竞技场

webapp_banner.jpg

创建竞技场

isEnabled

设置竞技场是否启用。

默认值
isEnabled布尔值true
示例
isEnabled: true

arenaName

设置竞技场的名称。

默认值
arenaName字符串Default name
示例
arenaName: Bedrock Arena

create_arena_name.jpg


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红色羊毛 表示。此配置将它们之间的区域指定为竞技场,用 黄色羊毛 表示。

create_arena_corner.jpg


corner2

设置竞技场的第二个角,必须位于与 corner1 相对的角。这两个角定义了你的竞技场空间的边界。

默认值
corner2位置
示例
corner2: my_arena_world,-10,50,10,0,0

在这张图中,corner1绿色羊毛 表示,corner2红色羊毛 表示。此配置将它们之间的区域指定为竞技场,用 黄色羊毛 表示。

create_arena_corner.jpg


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."

create_arena_messages.jpg


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 这个设置让我们可以切换由 corner1corner2 设定的区域是采用圆柱形而非长方体。在我们的示例中,我们将其设置为 false,意味着示例竞技场是长方体形状。

permission 让我们可以设置玩家加入 / 开始竞技场所需拥有的权限。在我们的示例中,玩家需要拥有 arena.mypermission 权限才能使用该竞技场。

创建竞技场 NPC

isEnabled

设置 NPC 是否启用。

默认值
isEnabled布尔值true
示例
isEnabled: true

name

设置 NPC 的显示名称。

默认值
name字符串
示例
name: "&aGladius"

create_arena_npc_name.jpg


role

设置 NPC 名称下方显示的角色身份。

默认值
role字符串
示例
role: "&c<Arena Master>"

create_arena_npc_role.jpg


profession

设置 NPC 的 MineCraft 职业。

默认值
profession职业NITWIT
示例
profession: ARMORER

如果使用了 diguise,此项将被覆盖。

create_arena_npc_profession.jpg


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!

create_arena_npc_greetings.jpg


dialog

设置玩家与 NPC 交互时的对白。

默认值
dialog字符串列表
示例
dialog:
- Ready for a challenge?
- Face the Arena?

create_arena_npc_dialog.jpg


farewell

设置 NPC 的告别对白,在玩家走开时显示。

默认值
farewell字符串列表
示例
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 是否能与玩家交谈。

默认值
canTalk布尔值true
示例
canTalk: true

activationRadius

设置 NPC 应开始交谈的半径。

默认值
activationRadiusDouble3.0
示例
activationRadius: 3.0

timeout

设置 NPC 的超时时间(以秒为单位)。设置后,NPC 将在指定时间后消失。

默认值
timeout双精度0
示例
timeout: 60

interactionType

设置 NPC 将执行的交互类型。

默认值
interactionType特殊 [4]NONE
示例
interactionType: ARENA_MASTER

disguise

设置自定义 NPC 伪装。

默认值
disguise伪装
示例
disguise: ZOMBIE

create_arena_npc_disguise.jpg


customDisguiseData

设置 LibsDisguises 伪装的自定义伪装数据。这允许进行超出基本 disguise 设置的详细伪装自定义。

默认值
customDisguiseData字符串
示例
customDisguiseData: player MHF_Pig

customModel

设置 NPC 要使用的自定义模型。需要安装并配置有效的自定义模型插件。

默认值
customModel字符串
示例
customModel: my_model

arena

设置玩家将被传送到哪个竞技场。

默认值
arenaFilename
示例
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打开猜大小赌博游戏