Additional Gamemodes

Contains the docs for official gamemodes that use BattleArena.

Spleef

The main documentation page for the ArenaSpleef plugin.

Spleef

Installation

Requirements

Downloading

  1. Download the ArenaCTF plugin
  2. Stop your server and place the plugins in your plugins folder
  3. Start the server and ArenaSpleef will load
Spleef

Creating an Arena

Map Creation

  1. 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.
  2. 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.
  3. 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
Spleef

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

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.

Capture the Flag

Installation

Requirements

Downloading

  1. Download the ArenaCTF plugin
  2. Stop your server and place the plugins in your plugins folder
  3. Start the server and ArenaCTF will load
Capture the Flag

Creating an Arena

Map Creation

  1. 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.
  2. 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.
  3. 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
Actions
Capture the Flag

Permissions

Permission
Command
battlearena.command.ctf.flag.set /ctf flag set

Paintball

The main documentation page for the ArenaPaintball plugin.

Paintball

Installation

Requirements

Downloading

  1. Download the ArenaPaintball plugin
  2. Stop your server and place the plugins in your plugins folder
  3. Start the server and ArenaPaintball will load
Paintball

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

Parkour

The main documentation page for the ArenaParkour plugin.

Parkour

Installation

Requirements

Downloading

  1. Download the ArenaParkour plugin
  2. Stop your server and place the plugins in your plugins folder
  3. Start the server and ArenaParkour will load
Parkour

Creating an Arena

Map Creation

  1. The first step follows the same steps as outlined in the BattleArena Map Creation documentation. For ArenaSpleef, you will use the /parkour command to initiate the map creation.
  2. Once you have created a map, you now need to set the parkour checkpoints. Run /parkour checkpoint add to start the process.
    • A wizard will open, asking you to set the checkpoint position. Follow the instructions in chat to set the checkpoint position.
    • The first checkpoint position will become the start of the parkour, with every subsequent checkpoint becoming the "end" position.
    • After setting the checkpoints, you may need to run /battlearena reload to reload the checkpoints, and the parkour will start.

Configuration

The default configuration for Parkour can be found in plugins/ArenaParkour/arenas/parkour.yml. This can be modified in any way. See the Arena Configuration page for more details.

Additionally, configs for other parkour modes can be found here.

Parkour

Commands

Command Description
/parkour checkpoint add <map>
Adds a checkpoint to a parkour arena.
/parkour checkpoint remove <map> <index>
Removes a checkpoint from a parkour arena.
/parkour checkpoint clear <map>
Clears all the checkpoints from a parkour arena.
/parkour checkpoint index <map> <from> <to>
Changes the index of a checkpoint.
/parkour checkpoint list <map>
Lists all the checkpoints in a parkour arena.
/parkour checkpoint
Teleports you to the last checkpoint you were on in a parkour.
Parkour

Permissions

Permission Command
battlearena.command.parkour.checkpoint.add /parkour checkpoint add
battlearena.command.parkour.checkpoint.remove /parkour checkpoint remove
battlearena.command.parkour.checkpoint.clear /parkour checkpoint clear
battlearena.command.parkour.checkpoint.index /parkour checkpoint index
battlearena.command.parkour.checkpoint.list /parkour checkpoint list
battlearena.command.parkour.checkpoint
/parkour checkpoint

Gamemode Templates

Templates for gamemodes in BattleArena that can be drag-and-dropped into the arenas folder.

Gamemode Templates

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

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}

 

Gamemode Templates

SkyWars

This is a gamemode that adds SkyWars to BattleArena. This requires the PhatLoots plugin for the chest configuration.

Description

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}

Gamemode Templates

Survival Games

This is a gamemode that adds Survival Games to BattleArena. This requires the PhatLoots plugin for the chest configuration.

Description

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}

Gamemode Templates

Bow Spleef

This is a gamemode that adds Bow Spleef to BattleArena. This requires ArenaSpelef to be installed.

Description

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}

 

Gamemode Templates

Splegg

This is a gamemode that adds Splegg to BattleArena. This requires ArenaSpelef to be installed.

Description

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}

 

Gamemode Templates

TNT Run (Decay Spleef)

This is a gamemode that adds TNT Run to BattleArena. This requires ArenaSpelef to be installed.

Description

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}