Skip to main content

Creating Arenas

webapp_banner.jpg

Creating arenas

isEnabled

Sets if the arena is enabled.

KeyValuesDefault
isEnabledBooleantrue
Example
isEnabled: true

arenaName

Sets the name of the arena.

KeyValuesDefault
arenaNameStringnone
Example
arenaName: Bedrock Arena

create_arena_name.jpg


corner1

Sets the first corner of the arena.

KeyValuesDefault
corner1Locationnone
Example
corner1: my_arena_world,10,50,-10,0,0

The location format is: world_name,x,y,z,yaw,pitch where world_name is the world name, x/y/z are coordinates, yaw is horizontal rotation (0-360), and pitch is vertical rotation (-90 to 90).

In this image corner1 is represented by green wool and corner2 is represented by red wool. This configuration designates the area between them as the arena, represented by yellow wool.

create_arena_corner.jpg


corner2

Sets the second corner of the arena, must be at the opposite corner from corner1. These two corners define the boundaries of your arena space.

KeyValuesDefault
corner2Locationnone
Example
corner2: my_arena_world,-10,50,10,0,0

In this image corner1 is represented by green wool and corner2 is represented by red wool. This configuration designates the area between them as the arena, represented by yellow wool.

create_arena_corner.jpg


startLocation

Sets the start location of the arena.

KeyValuesDefault
startLocationLocationnone
Example
startLocation: my_arena_world,1,50,1,0,0

exitLocation

Sets the exit location of the arena.

KeyValuesDefault
exitLocationLocationnone
Example
exitLocation: my_world,1,50,1,0,0

waveCount

Sets the amounts of waves the arena has.

KeyValuesDefault
waveCountIntegernone
Example
waveCount: 10

delayBetweenWaves

Sets the delay, in seconds, between waves.

KeyValuesDefault
delayBetweenWavesInteger0
Example
delayBetweenWaves: 5

rawIntermissionWaves

Doubles the delay between waves for the specified waves in the list. The delay will be delayBetweenWaves * 2 for these waves. Useful if you want to give players a short breather between specific waves.

KeyValuesDefault
rawIntermissionWavesInteger Listnone
Example
rawIntermissionWaves:
- '5'
- '10'
- '15'

spawnPoints

Sets the spawn locations for the arena bosses.

KeyValuesDefault
spawnPointsString List [1]none
Example
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

Sets the list of bosses that appear during the arena waves. EliteMobs Arenas do support Mythic Mobs spawning in the arenas.

KeyValuesDefault
bossListString List [2]none
Example
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

In this example, wave 1 will spawn one boss at the north spawn point and one boss at the south spawn point. Then, on wave 2, a mythic boss will spawn, at level 10, in the center point.

Note that you can also force a level for the EliteMobs bosses using the level parameter (e.g., level=10), but it is recommended you set their level in their configuration file for consistency. The level parameter is useful for scaling arena difficulty.


rawArenaReward

Sets the rewards given at the end of waves.

Note: In the source code, this field may also be referenced as rawArenaRewards (plural).

KeyValuesDefault
rawArenaRewardUniversal EliteMobs loot tablenone
Example
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

Sets the minimum amount of players an arena must have before starting.

KeyValuesDefault
minimumPlayerCountInteger1
Example
minimumPlayerCount: 1

maximumPlayerCount

Sets the maximum amount of players an arena can have.

KeyValuesDefault
maximumPlayerCountInteger100
Example
maximumPlayerCount: 100

arenaMessages

Sets the messages that run between waves.

KeyValuesDefault
arenaMessagesSpecial [3]none
Example
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

Sets if the arena uses a cylindrical shape (default is cuboid).

KeyValuesDefault
cylindricalArenaBooleanfalse
Example
cylindricalArena: false

permission

Sets the permission required to use the arena.

KeyValuesDefault
permissionStringnone
Example
permission: mypermission.arena

Special [1]

Spawn points: Uses the following format: name=pointName:location=world_name,x,y,z.

Special [2]

Boss list: Uses the following format: wave=x:spawnPoint=Y:boss=bossfilename.yml.

Special [3]

Arena messages: Uses the following format: wave=X:message=your message here.

Arena Config Example
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
Breakdown of the example

Let us go over this example from the top and explain what this arena configuration does.

First the arena is enabled with isEnabled, and we can see that it is called Example Arena using the arenaName setting. The name will be shown when you interact with the arena NPC (we talk about how to make an arena NPC further down) that will allow players to join the arena. corner1 and corner2 define the arena size. These corners should be at the opposite sides of each other in the area that you plan to use for the arena.

startLocation is where the players will spawn in when joining the arena, in the example that would be in the center of the arena in the world my_arena_world. exitLocation is where the players will be teleported after they fail or finish the arena. In this case it would be the world my_minecraft_world and the coordinates in the example.

waveCount simply sets the amount of waves that the arena will last for. In this case that would be 5 waves. If they players manage to survive all 5 waves they have managed to survive the arena. delayBetweenWaves will set the amount of seconds before the next wave starts. In our example players would have 5 seconds to prepare before the next wave starts.

spawnPoints set the locations where we can have our mobs spawn. We can make as many as we want and name them as we want. In the example we have decided to make 5 spawn points and name them north, south, center, east and west.

bossList is where we define which boss should spawn at what wave and at which location. In the example wave 1 will have 3 bosses spawning from the spawn locations that we named north, center and south. All three are set to use the same boss file but we could have used different boss files for each one.

rawArenaReward sets the rewards that will be handed out after a player manages to survive/beat a wave. As we can see in the example beating wave 1 will reward the player with 5 elite coins. If they manage to survive the rest of the waves and then beat wave 5, they will be rewarded with 25 elite coins and a 50% chance to get a level 5 MagmaGuy's Toothpick.

minimumPlayerCount sets the minimum required amount of players needed before the arena will start. In our example this setting is set to 1, so only one player is needed for the arena to starts. maximumPlayerCount sets the maximum amount of players that can participate in the arena. In our example this setting is set to 3, meaning that if more than 3 players try to participate in the arena then the arena will not start until there are 3 players or less.

arenaMessages lets you add some flavor text that will be displayed in the chat at the start of the defined waves. In our example we have decided to display a short message at the start of each wave. We have also decided to include the NPC name at the start of each message giving the illusion that the text is spoken dialogue by the announcer (arena master).

cylindricalArena this setting will let us toggle if the defined area that we have set with corner1 and corner2 should be a cylindrical shape instead of a cuboid one. In our example we have set this to false meaning that the example arena is a cuboid shape.

permission lets us set a permission that the players will need to have to be able to join/start the arena. In our example the players will need the arena.mypermission permission to be able to use the arena.

Creating the Arena NPC

isEnabled

Sets if the NPC is enabled.

KeyValuesDefault
isEnabledBooleantrue
Example
isEnabled: true

name

Sets the display name of the NPC.

KeyValuesDefault
nameStringnone
Example
name: "&aGladius"

create_arena_npc_name.jpg


role

Sets role display under the NPC name.

KeyValuesDefault
roleStringnone
Example
role: "&c<Arena Master>"

create_arena_npc_role.jpg


profession

Sets the MineCraft profession of the NPC.

KeyValuesDefault
professionProfessionnone
Example
profession: ARMORER

Will be overridden if a diguise is used.

create_arena_npc_profession.jpg


spawnLocation

Sets the spawn location of the NPC.

KeyValuesDefault
spawnLocationLocationnone
Example
spawnLocation: my_world,1.5,50,1.5,-108,0

greetings

Sets greeting dialog for the NPC.

KeyValuesDefault
greetingsString Listnone
Example
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

create_arena_npc_greetings.jpg


dialog

Sets dialog when the players interact with the NPC.

KeyValuesDefault
dialogString Listnone
Example
dialog:
- Ready for a challenge?
- Face the Arena?

create_arena_npc_dialog.jpg


farewell

Sets if the NPC can talk to players.

KeyValuesDefault
farewellString Listnone
Example
farewell:
- Bye.
- Return with your shield, or on it!

create_arena_npc_farewell.jpg

If a string is too long you can use \n to separate the string into multiples lines.

farewell:
- Bye.
- Return with your\nshield, or on it!

create_arena_npc_lines.jpg


canTalk

Sets if the NPC can talk to players.

KeyValuesDefault
canTalkBooleantrue
Example
canTalk: true

activationRadius

Sets the radius when the NPC should start talking.

KeyValuesDefault
activationRadiusDouble3.0
Example
activationRadius: 3.0

interactionType

Sets the type of interaction the NPC will do.

KeyValuesDefault
interactionTypeSpecial [4]ARENA_MASTER
Example
interactionType: ARENA_MASTER

disguise

Sets the custom NPC disguise.

KeyValuesDefault
disguiseDisguisenone
Example
disguise: ZOMBIE

create_arena_npc_disguise.jpg


arena

Sets which arena the players will be teleported to.

KeyValuesDefault
arenaFilenamenone
Example
arena: my_arena.yml

teleportLocation

Sets where the players should be teleported after interacting with the NPC. This setting is usually used to teleport players to a dedicated lobby type area of the arena where they can start the arena challenge or wait for other players to finish going through the arena.

KeyValuesDefault
teleportLocationLocationnone
Example
teleportLocation: my_arena_world,10,50,10,0,0

Arena Config Example
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

This example shows a basic Arena NPC that will spawn in my_minecraft_world with a zombie disguise. Players can interact with this NPC to challenge the Example Arena.

Special [4]

The following is the list of valid NPC interaction types:

TypeDescription
GUILD_GREETEROpen the adventurer's guild menu
CHATRight-clicking cycles through the dialog
CUSTOM_SHOPOpens the custom shop menu
PROCEDURALLY_GENERATED_SHOPOpens the procedurally generated shop
BAROpens the bar menu
ARENAOpens the arena menu
QUEST_GIVEROpens the procedurally generated quests menu
CUSTOM_QUEST_GIVEROpens the quest menu for a specific quest set in questFilenames
NONENo interactions
SELLOpens the sell menu
TELEPORT_BACKTeleports players back to the last non-elitemobs world location they were
SCRAPPEROpens the scrap menu
SMELTEROpens the smelt menu
REPAIRMANOpens the repair menu
ENHANCEROpens the item enhancements menu
REFINEROpens the refiner menu
UNBINDEROpens the unbind menu
ARENA_MASTEROpens the arena menu for the arena set in arenaFilename
COMMANDRuns the command set in command