
Death Swap Plus
A customizable Death Swap plugin for Spigot and Paper featuring an optional random long-distance spawn at the start, adding a strategic twist to the classic Death Swap experience.
Death Swap Plus
A DeathSwap minigame plugin for Minecraft 1.21.
In DeathSwap, everyone plays in survival and the plugin will periodically swap players’ positions. Your goal is to make other players die (traps, lava, fall damage, mobs, etc.).
If you die, you become a spectator.
Last player alive wins.
Quick Start
- Put the plugin jar into your server’s
plugins/folder. - Start the server once (this creates
plugins/DeathSwap/config.yml). - (Optional) Configure the plugin with
/dssettings. - Start a game:
- Ready-up start (recommended): everyone runs
/dsready, then someone runs/dsready start - Admin start:
/dsstart
- Ready-up start (recommended): everyone runs
How The Game Works
- When a game starts, all online players are put into SURVIVAL and added to the match.
- Players get optional starting items:
GiveFood=true→ 20 cooked porkchopsGiveWaterBucket=true→ 1 water bucket
- The plugin shows health in the TAB list (scoreboard objective
showhealth). - Swaps happen after a random delay between
MinTimerandMaxTimer(ticks). - A big title warning always appears 10 seconds before a swap (200 ticks):
“SWAP INCOMING!” - During the match, eliminated players are set to SPECTATOR.
- The game ends automatically when only one player remains.
Commands
/dsready [get|start]
Player-only. Used to ready-up before starting.
Only works when no game is active.
| Command | Description |
|---|---|
/dsready | Toggles your ready status and broadcasts [ready/online]. |
/dsready get | Shows whether you are currently marked as ready. |
/dsready start | Starts the game only if everyone online is ready. |
/dsstart
Requires permission: ds.start
| Command | Description |
|---|---|
/dsstart | Force-starts a new game (only if no game is active). |
/dsstart true | Starts the game in dev mode (testing mode). |
Dev mode notes:
- Allows starting with only 1 player online.
- Sends extra debug info to OPs (teleport order / pair listings).
- Stats are not written while dev mode is enabled.
/dsstop
Requires permission: ds.stop
| Command | Description |
|---|---|
/dsstop | Force-stops the current game (only if a game is active). |
/dssettings <set|get|help> ...
Requires permission: ds.settings
| Command | Description |
|---|---|
/dssettings get | Prints all settings and their current values in one line. |
/dssettings help | Shows help pages. |
/dssettings set <Setting> <Value> | Changes a specific setting. |
Time values are in ticks
20 ticks = 1 second1200 ticks = 1 minute
Examples
/dssettings set MinTimer 2400(2 minutes)/dssettings set MaxTimer 6000(5 minutes)/dssettings set Warning 200(10 seconds)/dssettings set Safe 60(3 seconds of invincibility)/dssettings set TeleportMode pairs
/dstp <player>
Player-only. Spectator utility.
| Command | Description |
|---|---|
/dstp <player> | Teleports you to a target alive player. |
Notes
- Works only if a game is active.
- You must be spectating (not in the alive player list).
- Tab completion suggests alive players.
/dskill
Player-only.
| Command | Description |
|---|---|
/dskill | Instantly kills you during a game (sets health to 0). |
Useful if you want to forfeit and spectate.
/dsstats [player]
Player-only.
| Command | Description |
|---|---|
/dsstats | Shows your own stats. |
/dsstats <player> | Shows stats for another player (offline data supported). |
Tracked stats
- Games
- Wins
- Swaps
- Deaths
- Disconnected
- Time played
/dsinfo
| Command | Description |
|---|---|
/dsinfo | Shows plugin info (creator, inspiration, version). |
Settings Reference
Settings can be changed via /dssettings set ... or directly in
plugins/DeathSwap/config.yml.
Swap Timing
| Setting | Description |
|---|---|
MinTimer | Minimum time before the next swap (ticks). |
MaxTimer | Maximum time before the next swap (ticks). |
Warning | Action-bar countdown when time until swap ≤ this value. |
Safe | Resistance duration after swaps and at game start. |
TeleportMode
Controls how player locations are swapped.
| Mode | Description |
|---|---|
random | Each player is teleported to a random other player every swap. Falls back to circle if no valid mapping is found after 500 tries. |
circle | Players swap in a circular order randomized at game start. |
random_circle | Same as circle, but reshuffles after each swap. |
fixed_circle | Circle order is fixed and never shuffled. |
pairs | Players swap in pairs; odd counts create one 3-player rotation. Pairings are generated at game start. |
World / Start Options
| Setting | Description |
|---|---|
World | World used for spawning and teleporting. Falls back if invalid. |
RandomSpawn | Randomizes player spawn positions at game start. |
GiveFood | Gives starting food if enabled. |
GiveWaterBucket | Gives a water bucket if enabled. |
Swap Cleanup
| Setting | Description |
|---|---|
KillPearls | Removes all ender pearls at the moment of a swap. |
SendChunks | Present as a setting, but chunks are already preloaded regardless. |
Language
| Setting | Description |
|---|---|
Language | Controls broadcast messages and settings text (en, hu, de, es). |
Notes & Tips
- Joining while a game is running puts you into SPECTATOR.
- Dead players can spectate alive players using
/dstp <player>. - Player stats are stored in
plugins/DeathSwap/PlayerDatabase/<uuid>.yml.
