CustomDeaths

Rule-based, funny death messages for Minecraft. Designed for PaperMC 1.21.x and Java 21. Shows the original vanilla death message on hover while broadcasting your customized one.
⚠️ Irreversible (Messaging Only): This plugin replaces broadcast death messages. It does not change drops, XP, or inventories, but your chat history cannot be “un-broadcast.” Use with care.
✅ Supported Platforms & Requirements
- Minecraft server: PaperMC 1.21.x (API 1.21).
- Works on Paper-compatible forks that maintain API parity (e.g., Purpur).
- Java runtime: Java 21 (server + build).
✨ Features
- Custom Death Rules: Define messages by conditions:
- Damage cause, world, biome
- Y height (above/below)
- Killer type, name, or whether killer is a player
- Victim permissions or held item
- Original on Hover: Vanilla death message remains available as a hover tooltip.
- Enable/Disable Quickly: Toggle via
/customdeaths toggleor setenabled: true|false. - Per-Cause & Global Messages: Simple config lists.
- Presets Included: Ship with defaults; disable via
use-presets: false. - Hot Reload:
/customdeaths reloadapplies changes without restart.
📦 Commands
/customdeaths reload— Reloadconfig.yml./customdeaths toggle— Flip the masterenabledflag on/off.
Permissions
customdeaths.admin— default: op
⚙️ Configuration (plugins/CustomDeaths/config.yml)
enabled: true
hover-original: true
override-broadcast: true
use-presets: true
messages:
- "{player} took a permanent nap without setting an alarm."
per-cause:
VOID:
- "{player} fell off the edge of the internet."
# Custom rules (first match wins)
custom-deaths:
- name: "archer_headshot"
when:
killer-type: "SKELETON"
y-above: 100
messages:
- "{player} got a high-altitude headshot from {killer}."
presets:
messages:
- "{player} opened the hardcore tutorial."
per-cause:
FALL:
- "{player} mistook the ground for a trampoline."
Supported when keys
cause(DamageCause),world,biomey-above,y-belowkiller-type(EntityType),killer-name,killer-is-playervictim-has-permission,victim-holding
Placeholders: {player}, {killer}, {cause}
🧭 How it Works
- On
PlayerDeathEvent, the plugin checks custom-deaths rules in order. - First match wins; if none, it falls back to per-cause, then messages, then presets.
- The chosen line is broadcast, with the vanilla message shown on hover (if enabled).
📥 Installation
- Drop the plugin JAR into
plugins/on a Paper 1.21.x server. - Start the server to generate
config.yml. - Edit
plugins/CustomDeaths/config.yml. - Apply changes with
/customdeaths reload(or restart).
🔒 Safety Notes
- Only the broadcasted death message is replaced; no inventories, XP, or drops are touched.
- Ensure admins understand that first match wins in
custom-deaths.
📄 License
MIT — free to use and contribute.
Links
Details
Licensed MIT
Published 3 months ago
Updated 3 months ago


