Death penalties
Death penalties are configured under death-penalties in config.yml. PvE and PvP are enabled by default: PvE removes 5% and PvP removes 10% of the player's current Combat-level XP progress. These losses do not lower a skill level. Environmental, void, and unknown-cause deaths have no penalty by default. Set the master enabled switch to false to disable all death penalties.
Death categories
pve: the final damage came from an entity that was not a player.pvp: the final damage came from a player, including a player-shot projectile.void: Paper identified the final damage as void damage.environmental: known non-entity damage, such as falling, fire, drowning, or suffocation.unknown: Paper did not provide a final damage cause.
The plugin classifies the final damage source. It does not infer PvP from an older attacker if a player later dies to a fall or another source. This avoids penalizing the wrong category when death attribution is uncertain.
Configuring a category
Each category can be enabled independently, notify the player and report rank loss, exclude worlds, and configure skill XP and General XP separately. Skill XP rules also list which skill IDs are affected, or use [all] to target every enabled skill.
Supported modes:
none: no loss.flat: removevalueXP.percent-total: remove this percentage of the player's current XP total. This can lower a skill level or Global Rank.percent-current-level: remove this percentage of XP progress within the current level. This does not lower the skill level.levels: lower the skill by the configured number of whole levels, removing XP down to the new level's threshold. Fractional values round up.
For example, to remove 10% of all Combat XP after a PvP death, change that category to:
death-penalties:
pvp:
skill-xp:
enabled: true
skills: [combat]
mode: percent-total
value: 10
maximum-xp-loss: 100
maximum-xp-loss: 0 means no additional cap. Losses cannot exceed the XP the player has. When a skill has per-world XP totals, the penalty reduces those totals proportionally to each world's share of the player's global skill XP; unscoped/imported XP is deducted from the global balance only. The levels mode is only available for skill XP. general-xp.enabled is false by default; enable it only if deaths should also reduce General XP and its Global Rank contribution.
History and notifications
Every applied loss is saved as a negative XP history event, grouped with the Global Rank tier and LuckPerms primary group at the time of the change. /mcpadmin xp history shows signed XP changes, and /mcpadmin xp report shows net XP by rank, group, and action. A rank decrease notifies the player when notify-rank-loss is enabled. Discord XP-loss embeds can be disabled separately at integrations.discord-webhooks.xp-loss.enabled.
Review /mcpadmin audit after editing the rules. XP-loss history preserves the change and supports staff review; it does not automatically restore XP if the server later changes its penalty settings.