Advanced death system with custom messages, gravestones, and death history
- Java 100%
| src/main | ||
| .gitignore | ||
| LICENSE | ||
| pom.xml | ||
| README.md | ||
PotatoDeathSystem
Advanced death system with custom messages, gravestones, and death history.
Features
- Custom Death Messages — 20+ death causes with multiple random messages each
- Death Coordinates — Players receive their death location after respawning
- Gravestone System — Items are stored in a gravestone at the death location, recoverable by right-click
- Keep Inventory — Permission-based keep inventory (
deathsystem.keepinv) - Death History — View recent deaths with cause, location, and time
- Death Leaderboard — See who dies the most on the server
- Timed Gravestones — Gravestones despawn after configurable duration, optionally dropping items
- Fully Customizable — Every message editable in
messages.ymlwith color codes - Persistent Storage — Death history saved to
deaths.ymlwith auto-save - bStats Metrics — Optional anonymous usage statistics
Installation
- Download the latest
.jarfrom Releases - Place it in your server's
plugins/folder - Start the server
- Edit
plugins/PotatoDeathSystem/config.ymlandmessages.yml
Build from source
git clone https://github.com/zSithious/PotatoDeathSystem.git
cd PotatoDeathSystem
mvn clean package
The compiled JAR is at target/PotatoDeathSystem-1.0.0.jar.
Configuration
config.yml
death:
custom-messages: true # Enable random death messages
show-coordinates: true # Show death coords after respawn
coordinate-delay: 3 # Delay in seconds
keepinventory:
enabled: true # Permission-based keep inventory
gravestone:
enabled: true # Enable gravestone system
duration: 300 # Seconds before despawn
drop-items-on-expire: true # Drop items when gravestone expires
hologram: true # Floating name above gravestone
log:
max-history: 20 # Deaths to keep per player
save-interval: 300 # Auto-save interval (seconds)
settings:
debug-mode: false
metrics: true
messages.yml
All messages and death messages are fully customizable. Add your own messages per death cause.
Commands
| Command | Description | Permission |
|---|---|---|
/death |
Show your death history | deathsystem.history |
/death history [player] |
View death history | deathsystem.history / .others |
/death top |
Death leaderboard | deathsystem.top |
/death reload |
Reload configuration | deathsystem.reload |
/death help |
Help menu | — |
Aliases: /pds, /deaths
Permissions
| Permission | Description | Default |
|---|---|---|
deathsystem.admin |
All commands | OP |
deathsystem.keepinv |
Keep inventory on death | false |
deathsystem.history |
View own death history | true |
deathsystem.history.others |
View others' history | OP |
deathsystem.top |
View leaderboard | true |
deathsystem.gravestone |
Recover own gravestone | true |
deathsystem.gravestone.others |
Recover others' gravestones | OP |
deathsystem.reload |
Reload config | OP |
How It Works
- Death Event — When a player dies, the plugin logs the death, sends a custom message to chat, and spawns a gravestone with the player's items
- Gravestone — An invisible armor stand with a floating name tag marks the death location. Right-click to recover items. Admins can recover anyone's gravestone
- Respawn — After respawning, the player receives a message with their death coordinates
- Keep Inventory — Players with
deathsystem.keepinvpermission keep all items and XP on death - Expiry — Gravestones despawn after the configured duration. Items are dropped on the ground or lost based on config
Death Messages
The plugin includes unique messages for 20+ death causes:
- Entity attacks, projectiles, sweep attacks
- Fall, lava, fire, drowning, void
- Explosions, suffocation, starvation
- Poison, wither, magic, lightning
- Thorns, cramming, kinetic energy, freezing, sonic boom
- Cactus contact and more
Each cause has multiple messages — one is selected randomly each time.
Requirements
- Minecraft: 1.21.4
- Server: Paper / Spigot / Bukkit
- Java: 21+
Metrics (bStats)
This plugin collects anonymous usage statistics. No personal data is collected. To disable, set settings.metrics: false in config.yml.
Bug Reports / Feature Requests
Please open an issue on GitHub Issues.
Developer
zSithious — GitHub
License
This project is licensed under the MIT License.