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 toggle
or setenabled: true|false
. - Per-Cause & Global Messages: Simple config lists.
- Presets Included: Ship with defaults; disable via
use-presets: false
. - Hot Reload:
/customdeaths reload
applies changes without restart.
📦 Commands
/customdeaths reload
— Reloadconfig.yml
./customdeaths toggle
— Flip the masterenabled
flag 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
,biome
y-above
,y-below
killer-type
(EntityType),killer-name
,killer-is-player
victim-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 12 days ago
Updated 12 days ago