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 — set it
There is no usable default

Older versions of this page listed Default name as the default. That string exists in the source but is only a sentinel used to decide whether the key gets written into a generated file — it is never the value you get back. An arena file that omits arenaName ends up with no name at all, so always set it explicitly.

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). The short form world_name,x,y,z is also accepted and defaults both yaw and pitch to 0.

If the arena's world is not loaded yet when EliteMobs starts (which is common with Multiverse), the arena is parked and registered automatically as soon as that world comes online, so a reload is not required.

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

The valid parameters are wave, spawnPoint, boss, mythicmob and level.

level is only passed on to MythicMobs entries. EliteMobs bosses ignore it - set their level in their own configuration file instead.


rawArenaReward

Sets the rewards given at the end of waves. Rewards are handed out to every player still in the arena at the start of the following wave, unless their gear level is too far from the level of the strongest boss in the wave that just ended (that cutoff is the lootLevelDifferenceLockout setting in ItemSettings.yml).

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. Players trying to join a full arena are told the arena is full and are not let in.

You must set this. The default is 0, which rejects every join attempt and makes the arena impossible to enter.

KeyValuesDefault
maximumPlayerCountInteger0
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

teleportLocation

Sets where the players should be teleported after interacting with the arena 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

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.

Two optional keys can be added to any entry:

KeyDescriptionValuesDefault
levelForces the spawned boss to a specific level, overriding whatever its own file says.Integernone (uses the boss file's own level)
mythicmobTreats boss= as a MythicMobs mob name instead of an EliteMobs boss filename. Requires MythicMobs to be installed.true / falsefalse

Example: wave=3:spawnPoint=center:boss=my_boss.yml:level=40

Entries are split on : and then on =, and unrecognized keys are skipped with a console warning.

Special [3]

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

Entries are split on :, so the message text itself cannot contain a colon. Only waves numbered 1 or higher are accepted.

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 once 3 players have joined, any further player trying to join is turned away with the "arena is full" message.

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
professionProfessionNITWIT
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

spawnLocations

Sets additional spawn locations for the NPC. This allows a single NPC configuration to spawn in multiple locations.

KeyValuesDefault
spawnLocationsString Listnone
Example
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,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 the farewell dialog for the NPC, shown when a player walks away.

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

timeout

Sets the timeout for the NPC, in seconds. When set, the NPC will despawn after the specified time.

KeyValuesDefault
timeoutDouble0
Example
timeout: 60

interactionType

Sets the type of interaction the NPC will do.

KeyValuesDefault
interactionTypeSpecial [4]NONE
Example
interactionType: ARENA_MASTER

disguise

Sets the custom NPC disguise.

KeyValuesDefault
disguiseDisguisenone
Example
disguise: ZOMBIE

create_arena_npc_disguise.jpg


customDisguiseData

Sets the custom disguise data for a LibsDisguises disguise. This allows detailed disguise customization beyond the basic disguise setting.

KeyValuesDefault
customDisguiseDataStringnone
Example
customDisguiseData: player MHF_Pig

customModel

Sets the custom model to use for the NPC. Requires a valid custom model plugin to be installed and configured.

KeyValuesDefault
customModelStringnone
Example
customModel: my_model

arena

Sets which arena the players will be teleported to.

KeyValuesDefault
arenaFilenamenone
Example
arena: my_arena.yml

command

Sets the command the NPC will run when interacted with. Requires interactionType to be set to COMMAND.

KeyValuesDefault
commandStringnone
Example
command: say Hello $player

questFileName

Sets the quest filenames for the NPC. Requires interactionType to be set to CUSTOM_QUEST_GIVER.

KeyValuesDefault
questFileNameString Listnone
Example
questFileName:
- my_quest_1.yml
- my_quest_2.yml

noPreviousLocationMessage

When the interactionType is set to TELEPORT_BACK, this sets the message that is sent if the NPC cannot find a previous location to teleport the player to.

KeyValuesDefault
noPreviousLocationMessageStringnone
Example
noPreviousLocationMessage: '&cCouldn''t find a previous location!'

instanced

Sets whether the NPC should be instanced. This is used for NPCs inside instanced dungeons.

KeyValuesDefault
instancedBooleanfalse
Example
instanced: false

scale

Sets the scale (size) of the NPC.

KeyValuesDefault
scaleDouble1.0
Example
scale: 1.0

syncMovement

Sets whether the NPC should have its movement synced to the server.

KeyValuesDefault
syncMovementBooleantrue
Example
syncMovement: true

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
ARENADoes nothing. Use ARENA_MASTER instead.
QUEST_GIVEROpens the procedurally generated quests menu
CUSTOM_QUEST_GIVEROpens the quest menu for a specific quest set in questFileName
NONENo interactions
SELLOpens the sell menu
TELEPORT_BACKTeleports players back to the last non-elitemobs world location they were
SCRAPPEROpens the scrap menu
SMELTERDEPRECATED - Feature removed, do not use
REPAIRMANOpens the repair menu
ENHANCERDEPRECATED - Feature removed, do not use
REFINERDEPRECATED - Feature removed, do not use
UNBINDEROpens the unbind menu
ARENA_MASTEROpens the arena menu for the arena set in arena
COMMANDRuns the command set in command
ENCHANTEROpens the enchant menu
SCROLL_APPLIEROpens the scroll application menu
ARROW_SHOPOpens the arrow shop menu
GAMBLING_BLACKJACKOpens the blackjack gambling game
GAMBLING_COINFLIPOpens the coin flip gambling game
GAMBLING_SLOTSOpens the slots gambling game
GAMBLING_HIGHERLOWEROpens the higher/lower gambling game