# 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](https://modrinth.com/plugin/battlearena) 4.0.0 or higher
### Downloading
1. Download the [ArenaCTF](https://modrinth.com/plugin/arenaspleef) plugin
2. Stop your server and place the plugins in your plugins folder
3. Start the server and ArenaSpleef will load
# Creating an Arena
### Map Creation
1. The first step follows the same steps as outlined in the BattleArena [Map Creation](https://docs.battleplugins.org/books/user-guide/page/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**](https://docs.bplug.in/books/user-guide/page/arena-configuration) page for more details.
Additionally, configs for other spleef modes can be found [here](https://github.com/BattlePlugins/ArenaSpleef/tree/master/templates).
##### [Actions](https://docs.bplug.in/books/user-guide/page/action-reference)
- **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](https://modrinth.com/plugin/battlearena) 4.0.0 or higher
### Downloading
1. Download the [ArenaCTF](https://modrinth.com/plugin/arenactf) plugin
2. Stop your server and place the plugins in your plugins folder
3. Start the server and ArenaCTF will load
# Creating an Arena
### Map Creation
1. The first step follows the same steps as outlined in the BattleArena [Map Creation](https://docs.bplug.in/books/user-guide/page/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](https://docs.bplug.in/books/user-guide/page/arena-configuration) page for more details.
##### [Events](https://docs.bplug.in/books/user-guide/page/event-reference)
- **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](https://docs.bplug.in/books/user-guide/page/action-reference)
- **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](https://modrinth.com/plugin/battlearena) 4.0.0 or higher
### Downloading
1. Download the [ArenaPaintball](https://modrinth.com/plugin/arenapaintball) plugin
2. Stop your server and place the plugins in your plugins folder
3. 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](https://docs.battleplugins.org/books/user-guide/page/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**](https://docs.battleplugins.org/books/user-guide/page/arena-configuration) page for more details.
Additionally, configs for other paintball modes can be found [here](https://github.com/BattlePlugins/ArenaPaintball/tree/master/templates).
##### [Actions](https://docs.bplug.in/books/user-guide/page/action-reference)
- **give-paintball:** Gives the player a paintball which is configured in the ArenaPaintball config.yml.
- Syntax: give-paintball{paintball=<paintball>;amount=\[amount\]}
# Parkour
The main documentation page for the ArenaParkour plugin.
# Installation
### Requirements
- A Paper server (or other derivative) running 1.19.4 or above
- [BattleArena](https://modrinth.com/plugin/battlearena) 4.0.1 or higher
### Downloading
1. Download the [ArenaParkour](https://modrinth.com/plugin/arenaparkour) plugin
2. Stop your server and place the plugins in your plugins folder
3. Start the server and ArenaParkour will load
# Creating an Arena
## Map Creation
1. The first step follows the same steps as outlined in the BattleArena [Map Creation](https://docs.battleplugins.org/books/user-guide/page/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**](https://docs.bplug.in/books/user-guide/page/arena-configuration) page for more details.
Additionally, configs for other parkour modes can be found [here](https://github.com/BattlePlugins/ArenaParkour/tree/master/templates).
# 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.
|
# 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.
# One in the Chamber
This is a gamemode that adds one in the chamber to BattleArena. This utilizes the [One in the Chamber](https://docs.bplug.in/books/modules-and-other-tools/page/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
```yaml
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=Congrats, you won!}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=Sorry, you lost!}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=It's a draw!}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
```
# SkyWars
This is a gamemode that adds SkyWars to BattleArena. This requires the [PhatLoots](https://modrinth.com/plugin/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](https://modrinth.com/plugin/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](https://gist.github.com/Redned235/845f736c2b64a2bf930bf76929f44ef8) 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
```yaml
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=Congrats, you won!}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=Sorry, you lost!}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=It's a draw!}
- 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](https://modrinth.com/plugin/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](https://modrinth.com/plugin/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](https://gist.github.com/Redned235/331e576c4c7928efe95982bc6d1c9561) 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
```yaml
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=Congrats, you won!}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=Sorry, you lost!}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=It's a draw!}
- 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](https://modrinth.com/plugin/arenaspleef) 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
```yaml
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=Congrats, you won!}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=Sorry, you lost!}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=It's a draw!}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
```
# Splegg
This is a gamemode that adds Splegg to BattleArena. This requires [ArenaSpelef](https://modrinth.com/plugin/arenaspleef) 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
```yaml
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=Congrats, you won!}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=Sorry, you lost!}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=It's a draw!}
- 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](https://modrinth.com/plugin/arenaspleef) 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
```yaml
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=Congrats, you won!}
- play-sound{sound=entity.player.levelup;pitch=1;volume=1}
on-lose:
- send-message{message=Sorry, you lost!}
- play-sound{sound=block.anvil.place;pitch=0;volume=1}
on-draw:
- send-message{message=It's a draw!}
- play-sound{sound=block.beacon.deactivate;pitch=0;volume=1}
```