-
Notifications
You must be signed in to change notification settings - Fork 0
Death Messages
RPGMood replaces vanilla death messages with narrative, context-aware ones, composed from independent building blocks so the same exact line rarely repeats. Every message is also saved to the killed player's adventure journal.
On PlayerDeathEvent, RPGMood detects:
-
Cause —
entity(killed by a mob),fire,fall,void,explosion,drowning, or the raw damage cause name as a fallback - Biome — the player's current biome
-
Killer — the entity type that killed the player, or
none - Armed — whether the player is carrying a sword, axe, bow, trident, pickaxe, or shield
- Location name — a flavor name for the current biome (see below)
All matching templates from causes.<cause>, biomes.<biome>, killers.<killer> (skipped if no killer), armed.<true|false>, and fallback are pooled together, and one is picked at random. If the same exact line was just used for that player, RPGMood re-rolls once to reduce back-to-back repeats.
{player}, {location}, {killer}, {biome}, and {armed} placeholders are filled in — {killer} is replaced with a random entry from killer_synonyms.<killer> (e.g. "zombie" → "shambling snack", "graveyard gremlin", ...) instead of the plain entity name, which is itself an independent roll on top of the core line.
PvP kills are a special case. If the killer is another player, {killer} is filled with that player's actual name instead of a synonym (synonyms only make sense for mobs), and killers.player templates are used for the core line — e.g. "Steve was struck down by Alex." Add your own lines under killers.player in config.yml if you want more PvP-specific variety.
Independently, there's a 45% chance a closing flourish from modifiers gets appended after the core line (e.g. "The night keeps its own score."). This roll is completely independent of which core line was chosen, which is what turns the system from "pick 1 of N" into "pick 1 of N, then optionally combine with 1 of M" — multiplying the effective number of distinct outputs instead of just adding to a single pool.
{location} isn't just the biome's plain name. RPGMood picks a base name from location_names.<biome>, then independently:
- Picks a template from
location_name_templates(e.g."{base}","the {descriptor} {base}") - Picks a descriptor from
location_name_descriptors.<biome>(falls back tolocation_name_descriptors.default)
...and combines them, e.g. "the ash-choked Elden Meadows" instead of always just "Elden Meadows".
RPGMood ships biome-specific descriptor pools for the most common biomes (plains, dark_forest, desert, taiga, snowy_taiga, jungle, swamp, ocean, nether_wastes — e.g. deserts get "sun-scorched"/"mirage-haunted" instead of generic ones), with default covering everything else.
death_messages:
fallback:
- "&7{player} met an untimely end."
causes:
entity:
- "&6{player} was claimed by the wilderness near {location}."
killers:
zombie:
- "&c{player} was overwhelmed by a very rude {killer}."
killer_synonyms:
zombie:
- "zombie"
- "shambling snack"
modifiers:
- "The night keeps its own score."
location_name_templates:
- "{base}"
- "the {descriptor} {base}"
location_name_descriptors:
default:
- "ash-choked"
location_names:
plains:
- "Elden Meadows"All of causes, biomes, killers, armed, fallback, modifiers, location_name_templates, location_name_descriptors, and location_names accept as many entries as you want — every entry you add multiplies the available variety. See Configuration for the full key reference.