Additional Gamemodes
Contains the docs for official gamemodes that use BattleArena.
Spleef
The main documentation page for the ArenaSpleef plugin.
Installation
Requirements
- A Paper server (or other derivative) running 1.19.4 or above
- BattleArena 4.0.0 or higher
Downloading
- Download the ArenaCTF plugin
- Stop your server and place the plugins in your plugins folder
- Start the server and ArenaSpleef will load
Creating an Arena
Map Creation
- The first step follows the same steps as outlined in the BattleArena Map Creation documentation. For ArenaSpleef, you will use the /spleef command to initiate the map creation.
- Once you have created a map, you now need to set the spleef layers. Run /spleef layer add <map> to start the process.
- A wizard will open, asking you to set the layer bounds. Follow the instructions in chat to set the layer bounds.
- After you have set the layer bounds, you will be asked to set the block type the layer comprises of. Type the block name in chat.
- After setting the layer bounds and block type, layers will now be placed upon joining the game. Repeat this for each remaining team.
- If you wish to set a death region, rather than having a player die automatically due to lava or void, you can run /spleef deathregion <map> to set a death region. This will ask you to set the bounds of the death region upon execution.
Configuration
The default configuration for Spleef can be found in plugins/ArenaSpleef/arenas/spleef.yml. This can be modified in any way. See the Arena Configuration page for more details.
Additionally, configs for other spleef modes can be found here.
Actions
- give-shovel: Gives the player a spleef shovel which is configured in the ArenaSpleef config.yml.
- Syntax: give-shovel{shovel=<shovel>}
- paste-layers: Pastes the spleef layers into the map.
Commands
Command | Description |
---|---|
/spleef deathregion | Sets the death region for a spleef arena. |
/spleef layer add | Adds a layer to a spleef arena. |
/spleef layer remove | Removes a layer from a spleef arena. |
/spleef layer clear | Clears all layers from a spleef arena. |
/spleef layer index | Changes the index of a layer. |
/spleef layer list | Lists all layers in a spleef arena. |
Permissions
Permission | Command |
battlearena.command.spleef.deathregion | /spleef deathregion |
battlearena.command.spleef.layer.add | /spleef layer add |
battlearena.command.spleef.layer.remove | /spleef layer remove |
battlearena.command.spleef.layer.clear | /spleef layer clear |
battlearena.command.spleef.layer.index | /spleef layer index |
battlearena.command.spleef.layer.list | /spleef layer list |
Capture the Flag
The main documentation page for the ArenaCTF plugin.
Installation
Requirements
- A Paper server (or other derivative) running 1.19.4 or above
- BattleArena 4.0.0 or higher
Downloading
- Download the ArenaCTF plugin
- Stop your server and place the plugins in your plugins folder
- Start the server and ArenaCTF will load
Creating an Arena
Map Creation
- The first step follows the same steps as outlined in the BattleArena Map Creation documentation. For ArenaCTF, you will use the /ctf command to initiate the map creation.
- Once you have created a map, you now need to set the flag points. Run /ctf flag set <map> <team> to start the process.
- A wizard will open, asking you to set the flag's position in the world. Follow the instructions in chat to set this point.
- After you have set the flag position, you will be asked to set the capture point. This is the region in which a player must be to capture the flag.
- After setting the flag position and setting the capture point, flags now be spawned upon joining the game. Repeat this for each remaining team.
Configuration
The default configuration for CTF can be found in plugins/ArenaCTF/arenas/ctf.yml. This can be modified in any way. See the Arena Configuration page for more details.
Events
- on-flag-capture: Called any time a flag is captured.
- on-flag-return: Called any time a flag is returned back to its home base.
Actions
- place-flags: Instructs the competition to place the flags into the map.
- remove-flags: Instructs the competition to remove the flags from the map.
Permissions
Permission |
Command |
battlearena.command.ctf.flag.set | /ctf flag set |
Paintball
The main documentation page for the ArenaPaintball plugin.
Installation
Requirements
- A Paper server (or other derivative) running 1.19.4 or above
- BattleArena 4.0.0 or higher
Downloading
- Download the ArenaPaintball plugin
- Stop your server and place the plugins in your plugins folder
- Start the server and ArenaPaintball will load
Creating an Arena
Map Creation
Map creation follows the same steps as outlined in the BattleArena Map Creation documentation. For ArenaPaintball, you will use the /paintball command to initiate the map creation. No additional steps are needed from this point forward.
Configuration
The default configuration for Paintball can be found in plugins/ArenaPaintball/arenas/paintball.yml. This can be modified in any way. See the Arena Configuration page for more details.
Additionally, configs for other paintball modes can be found here.
Actions
- give-paintball: Gives the player a paintball which is configured in the ArenaPaintball config.yml.
- Syntax: give-paintball{paintball=<paintball>;amount=[amount]}
Gamemode Templates
Templates for gamemodes in BattleArena that can be drag-and-dropped into the arenas folder.
One in the Chamber
This is a gamemode that adds one in the chamber to BattleArena. This utilizes the One in the Chamber module which comes pre-installed with BattleArena.
Description
- Players spawn with a bow, arrow and a stone sword
- Bows insta-kill a player
- Any time a player scores a kill, they will be given an arrow
- First player to 20 kills wins the game
Arena Configuration
name: OITC
mode: Arena
aliases: [oic, oneinthechamber]
type: Match
team-options:
named-teams: false
team-size: 1
team-amount: 2+
team-selection: none
modules:
- duels
- one-in-the-chamber
- scoreboards
lives:
enabled: false
victory-conditions:
highest-stat:
stat-name: kills
win-after: 20
time-limit:
time-limit: 5m
events:
on-join:
- store{types=all}
- change-gamemode{gamemode=adventure}
- flight{enabled=false}
- teleport{location=waitroom}
on-spectate:
- store{types=all}
- change-gamemode{gamemode=spectator}
- flight{enabled=true}
- teleport{location=spectator}
on-leave:
- restore{types=all}
- remove-scoreboard
on-death:
- respawn
- delay{ticks=1}
- teleport{location=team_spawn;random=true}
options:
- block-break{enabled=false}
- block-place{enabled=false}
- block-interact{enabled=false}
- damage-entities{option=never}
- keep-inventory{enabled=true}
- keep-experience{enabled=true}
initial-phase: waiting
phases:
waiting:
allow-join: true
next-phase: countdown
options:
- damage-players{option=never}
events:
on-start:
- apply-scoreboard{scoreboard=waiting}
on-join:
- apply-scoreboard{scoreboard=waiting}
countdown:
allow-join: true
allow-spectate: true
revert-phase: true
next-phase: ingame
countdown-time: 60s
options:
- damage-players{option=never}
events:
on-start:
- apply-scoreboard{scoreboard=countdown}
ingame:
allow-join: false
allow-spectate: true
next-phase: victory
options:
- damage-players{option=other_team}
events:
on-start:
- teleport{location=team_spawn}
- play-sound{sound=block.note_block.pling;pitch=2;volume=1}
- apply-scoreboard{scoreboard=ingame-top-kills}
- give-item{item=stone_sword}
- give-item{item=bow}
- give-item{item=arrow}
victory:
allow-join: false
allow-spectate: false
next-phase: waiting
duration: 5s
events:
on-complete:
- leave
- remove-scoreboard
on-victory:
- send-message{message=<green>Congrats, you won!</green>}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=<red>Sorry, you lost!</red>}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=<yellow>It's a draw!</yellow>}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
SkyWars
This is a gamemode that adds SkyWars to BattleArena. This requires the PhatLoots plugin for the chest configuration.
Description
- Players spawn on an island with chests
- Chests contain loot which players loot for items
- Last player standing wins the game
Configuring Chests
Chests are configured using the PhatLoots plugin which contains native support for BattleArena and adds the reset-loot-tables action used in the configuration below.
Using PhatLoots, you can create loot tables and link them to blocks (using the /loot link <loot table> command). The following configurations are provided as island and center loot tables, and can be placed inside the plugins/PhatLoots/LootTables directory. Then, using PhatLoots, you can link these to chest blocks by running /loot link island and /loot link center for island and center chests respectively.
Arena Configuration
name: SkyWars
mode: Arena
type: Match
team-options:
named-teams: false
team-size: 1
team-amount: 2+
team-selection: none
modules:
- duels
- scoreboards
lives:
enabled: false
victory-conditions:
teams-alive:
amount: 1
time-limit:
time-limit: 5m
events:
on-join:
- store{types=all}
- change-gamemode{gamemode=adventure}
- flight{enabled=false}
- teleport{location=waitroom}
on-spectate:
- store{types=all}
- change-gamemode{gamemode=spectator}
- flight{enabled=true}
- teleport{location=spectator}
on-leave:
- clear-effects
- restore{types=all}
- remove-scoreboard
on-death:
- clear-inventory
- respawn
- delay{ticks=1}
- teleport{location=waitroom}
options:
- block-break{enabled=false}
- block-place{enabled=false}
- block-interact{enabled=false}
- damage-entities{option=never}
- keep-inventory{enabled=true}
- keep-experience{enabled=true}
- shuffle-loot{enabled=true}
initial-phase: waiting
phases:
waiting:
allow-join: true
next-phase: countdown
options:
- damage-players{option=never}
events:
on-start:
- apply-scoreboard{scoreboard=waiting}
on-join:
- apply-scoreboard{scoreboard=waiting}
countdown:
allow-join: true
allow-spectate: true
revert-phase: true
next-phase: ingame
countdown-time: 60s
options:
- damage-players{option=never}
events:
on-start:
- apply-scoreboard{scoreboard=countdown}
ingame:
allow-join: false
allow-spectate: true
next-phase: victory
options:
- damage-players{option=other_team}
- block-break{enabled=true}
- block-place{enabled=true}
- block-interact{enabled=true}
events:
on-start:
- change-gamemode{gamemode=survival}
- reset-loot-tables
- teleport{location=team_spawn}
- play-sound{sound=block.note_block.pling;pitch=2;volume=1}
- apply-scoreboard{scoreboard=ingame-list}
victory:
allow-join: false
allow-spectate: false
next-phase: waiting
duration: 5s
events:
on-complete:
- leave
- remove-scoreboard
on-victory:
- send-message{message=<green>Congrats, you won!</green>}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=<red>Sorry, you lost!</red>}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=<yellow>It's a draw!</yellow>}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
Survival Games
This is a gamemode that adds Survival Games to BattleArena. This requires the PhatLoots plugin for the chest configuration.
Description
- Players spawn in a map with chests
- Chests contain loot which players loot for items
- Last player standing wins the game
Configuring Chests
Chests are configured using the PhatLoots plugin which contains native support for BattleArena and adds the reset-loot-tables action used in the configuration below.
Using PhatLoots, you can create loot tables and link them to blocks (using the /loot link <loot table> command). The following configurations are provided as standard and pedestal loot tables, and can be placed inside the plugins/PhatLoots/LootTables directory. Then, using PhatLoots, you can link these to chest blocks by running /loot link standard and /loot link pedestal for standard and pedetal chests respectively.
Arena Configuration
name: SurvivalGames
aliases: [sg]
mode: Arena
type: Match
team-options:
named-teams: false
team-size: 1
team-amount: 2+
team-selection: none
modules:
- arena-restoration
- duels
- scoreboards
lives:
enabled: false
victory-conditions:
teams-alive:
amount: 1
time-limit:
time-limit: 5m
events:
on-join:
- store{types=all}
- change-gamemode{gamemode=adventure}
- flight{enabled=false}
- teleport{location=waitroom}
on-spectate:
- store{types=all}
- change-gamemode{gamemode=spectator}
- flight{enabled=true}
- teleport{location=spectator}
on-leave:
- clear-effects
- restore{types=all}
- remove-scoreboard
on-death:
- clear-inventory
- respawn
- delay{ticks=1}
- teleport{location=waitroom}
options:
- block-break{enabled=false}
- block-place{enabled=false}
- block-interact{enabled=false}
- damage-entities{option=never}
- keep-inventory{enabled=true}
- keep-experience{enabled=true}
- shuffle-loot{enabled=true}
initial-phase: waiting
phases:
waiting:
allow-join: true
next-phase: countdown
options:
- damage-players{option=never}
events:
on-start:
- apply-scoreboard{scoreboard=waiting}
on-join:
- apply-scoreboard{scoreboard=waiting}
countdown:
allow-join: true
allow-spectate: true
revert-phase: true
next-phase: ingame
countdown-time: 60s
options:
- damage-players{option=never}
events:
on-start:
- apply-scoreboard{scoreboard=countdown}
ingame:
allow-join: false
allow-spectate: true
next-phase: victory
options:
- damage-players{option=other_team}
- block-place{enabled=true}
- block-interact{enabled=true}
events:
on-start:
- change-gamemode{gamemode=survival}
- reset-loot-tables
- teleport{location=team_spawn}
- play-sound{sound=block.note_block.pling;pitch=2;volume=1}
- apply-scoreboard{scoreboard=ingame-list}
victory:
allow-join: false
allow-spectate: false
next-phase: waiting
duration: 5s
events:
on-complete:
- leave
- remove-scoreboard
- restore-arena
on-victory:
- send-message{message=<green>Congrats, you won!</green>}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=<red>Sorry, you lost!</red>}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=<yellow>It's a draw!</yellow>}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
Bow Spleef
This is a gamemode that adds Bow Spleef to BattleArena. This requires ArenaSpelef to be installed.
Description
- A spin on the classic spleef mode, where instead of having to break blocks with a shovel, TNT is broken with a flame bow
- Last player alive wins
Arena Configuration
name: BowSpleef
mode: Spleef
type: Match
team-options:
named-teams: false
team-size: 1
team-amount: 2+
team-selection: none
modules:
- scoreboards
lives:
enabled: false
victory-conditions:
teams-alive:
amount: 1
time-limit:
time-limit: 5m
layer-decay-delay: 2m
layer-decay-time: 1m
game: bow_spleef
events:
on-join:
- store{types=all}
- change-gamemode{gamemode=adventure}
- flight{enabled=false}
- teleport{location=waitroom}
on-spectate:
- store{types=all}
- change-gamemode{gamemode=spectator}
- flight{enabled=true}
- teleport{location=spectator}
on-leave:
- clear-effects
- restore{types=all}
- remove-scoreboard
on-death:
- clear-inventory
- respawn
- delay{ticks=1}
- change-gamemode{gamemode=adventure}
- teleport{location=waitroom}
options:
- block-break{enabled=false}
- block-place{enabled=false}
- block-drops{enabled=false}
- block-interact{enabled=false}
- item-drops{enabled=false}
- keep-inventory{enabled=true}
- keep-experience{enabled=true}
- damage-entities{option=never}
- damage-players{option=never}
initial-phase: waiting
phases:
waiting:
allow-join: true
next-phase: countdown
events:
on-start:
- apply-scoreboard{scoreboard=waiting}
on-join:
- apply-scoreboard{scoreboard=waiting}
countdown:
allow-join: false
allow-spectate: true
revert-phase: true
next-phase: ingame
countdown-time: 5s
events:
on-start:
- paste-layers
- apply-scoreboard{scoreboard=countdown}
on-complete:
- teleport{location=team_spawn}
- play-sound{sound=block.note_block.pling;pitch=2;volume=1}
ingame:
allow-join: false
allow-spectate: true
next-phase: victory
options:
- block-interact{enabled=true}
events:
on-start:
- give-shovel{shovel=bow}
- give-item{item=arrow}
- change-gamemode{gamemode=survival}
- apply-scoreboard{scoreboard=ingame-list-alive}
victory:
allow-join: false
allow-spectate: false
next-phase: waiting
duration: 5s
events:
on-complete:
- leave
- remove-scoreboard
on-victory:
- send-message{message=<green>Congrats, you won!</green>}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=<red>Sorry, you lost!</red>}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=<yellow>It's a draw!</yellow>}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
Splegg
This is a gamemode that adds Splegg to BattleArena. This requires ArenaSpelef to be installed.
Description
- A spin on the classic spleef mode, where instead of having to break blocks with a shovel, you get an egg cannon which you shoot to break blocks
- Last player alive wins
Arena Configuration
name: Splegg
mode: Spleef
type: Match
team-options:
named-teams: false
team-size: 1+
team-amount: 2
team-selection: none
modules:
- scoreboards
lives:
enabled: false
victory-conditions:
teams-alive:
amount: 1
time-limit:
time-limit: 5m
layer-decay-delay: 2m
layer-decay-time: 1m
game: splegg
events:
on-join:
- store{types=all}
- change-gamemode{gamemode=adventure}
- flight{enabled=false}
- teleport{location=waitroom}
on-spectate:
- store{types=all}
- change-gamemode{gamemode=spectator}
- flight{enabled=true}
- teleport{location=spectator}
on-leave:
- clear-effects
- restore{types=all}
- remove-scoreboard
on-death:
- clear-inventory
- respawn
- delay{ticks=1}
- change-gamemode{gamemode=adventure}
- teleport{location=waitroom}
options:
- block-break{enabled=false}
- block-place{enabled=false}
- block-drops{enabled=false}
- block-interact{enabled=false}
- item-drops{enabled=false}
- keep-inventory{enabled=true}
- keep-experience{enabled=true}
- damage-entities{option=never}
- damage-players{option=never}
initial-phase: waiting
phases:
waiting:
allow-join: true
next-phase: countdown
events:
on-start:
- apply-scoreboard{scoreboard=waiting}
on-join:
- apply-scoreboard{scoreboard=waiting}
countdown:
allow-join: false
allow-spectate: true
revert-phase: true
next-phase: ingame
countdown-time: 5s
events:
on-start:
- paste-layers
- apply-scoreboard{scoreboard=countdown}
on-complete:
- teleport{location=team_spawn}
- play-sound{sound=block.note_block.pling;pitch=2;volume=1}
ingame:
allow-join: false
allow-spectate: true
next-phase: victory
options:
- block-interact{enabled=true}
events:
on-start:
- change-gamemode{gamemode=survival}
- give-shovel{shovel=egg-cannon}
- apply-scoreboard{scoreboard=ingame-list-alive}
victory:
allow-join: false
allow-spectate: false
next-phase: waiting
duration: 5s
events:
on-complete:
- leave
- remove-scoreboard
on-victory:
- send-message{message=<green>Congrats, you won!</green>}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=<red>Sorry, you lost!</red>}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=<yellow>It's a draw!</yellow>}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
TNT Run (Decay Spleef)
This is a gamemode that adds TNT Run to BattleArena. This requires ArenaSpelef to be installed.
Description
- A spin on the classic spleef mode, where blocks break beneath you as you walk on them.
- Last player alive wins
Arena Configuration
name: TNTRun
mode: Spleef
type: Match
team-options:
named-teams: false
team-size: 1
team-amount: 2+
team-selection: none
modules:
- scoreboards
lives:
enabled: false
victory-conditions:
teams-alive:
amount: 1
time-limit:
time-limit: 5m
layer-decay-delay: 2m
layer-decay-time: 1m
game: decay
events:
on-join:
- store{types=all}
- change-gamemode{gamemode=adventure}
- flight{enabled=false}
- teleport{location=waitroom}
on-spectate:
- store{types=all}
- change-gamemode{gamemode=spectator}
- flight{enabled=true}
- teleport{location=spectator}
on-leave:
- clear-effects
- restore{types=all}
- remove-scoreboard
on-death:
- clear-inventory
- respawn
- delay{ticks=1}
- change-gamemode{gamemode=adventure}
- teleport{location=waitroom}
options:
- block-break{enabled=false}
- block-place{enabled=false}
- block-drops{enabled=false}
- block-interact{enabled=false}
- item-drops{enabled=false}
- keep-inventory{enabled=true}
- keep-experience{enabled=true}
- damage-entities{option=never}
- damage-players{option=never}
initial-phase: waiting
phases:
waiting:
allow-join: true
next-phase: countdown
events:
on-start:
- apply-scoreboard{scoreboard=waiting}
on-join:
- apply-scoreboard{scoreboard=waiting}
countdown:
allow-join: false
allow-spectate: true
revert-phase: true
next-phase: ingame
countdown-time: 5s
events:
on-start:
- paste-layers
- apply-scoreboard{scoreboard=countdown}
on-complete:
- teleport{location=team_spawn}
- play-sound{sound=block.note_block.pling;pitch=2;volume=1}
ingame:
allow-join: false
allow-spectate: true
next-phase: victory
options:
- block-interact{enabled=true}
events:
on-start:
- change-gamemode{gamemode=survival}
- apply-scoreboard{scoreboard=ingame-list-alive}
victory:
allow-join: false
allow-spectate: false
next-phase: waiting
duration: 5s
events:
on-complete:
- leave
- remove-scoreboard
on-victory:
- send-message{message=<green>Congrats, you won!</green>}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=<red>Sorry, you lost!</red>}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=<yellow>It's a draw!</yellow>}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}