跳到主要内容

创建竞技场

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

设置竞技场Boss的生成位置。

默认值
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在竞技场中生成。

默认值
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波,一个10级的mythic Boss将在中心点生成。

请注意,您也可以使用 level 参数为 EliteMobs Boss 强制设定等级(例如,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]

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 此设置将让我们切换我们用 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 中设置的命令