LamDeathPenalties
PluginGPL-3.0-only

LamDeathPenalties

Soul-point death system. Die too often, soul drains, penalties scale from item drops to health loss. Paper/Folia 1.21+.

111
Downloads
2
Followers
3 months ago
Updated
📦
3
Versions

📖About LamDeathPenalties

Die too often and your soul drains. Each death costs a soul point, and the lower your soul gets, the harsher the penalties: item drops, lost hearts, lost money, custom commands. Points come back on their own, on wall-clock time or active playtime.

How it works

  1. Players start with 10 soul points (configurable).
  2. Death costs 1 point. The new tier's penalties apply immediately.
  3. Each tier (0–10) defines its own penalties.
  4. Points regenerate in real time or per hour of playtime.
  5. Tiers you leave undefined inherit from the next higher defined tier, so you only configure the levels you care about.

How it works

Per-tier penalties

  • Item drops: drop percentage per tier, with separate hotbar and armor exposure toggles
  • Hearts: remove hearts as punishment, or grant bonus hearts at high soul as a reward
  • Vault money: flat or percent loss. PvP deaths transfer the money to the killer (configurable 0–100%); natural deaths burn it
  • Commands: run anything console can dispatch at a tier — titles, sounds, kicks

PvP has a long-term cost

Each player also has a personal max soul capacity. Killing another player lowers the killer's max, and it only regenerates back over time. Repeat killers walk around with a permanently shallow soul pool.

Commands

Command Permission
/lmdp — your soul points default
/lmdp check <player> lmdp.check.others
/lmdp preview — penalty table for every tier default
/lmdp set|give|take <player> <amount> lmdp.admin
/lmdp setmax|givemax|takemax <player> <amount> lmdp.admin
/lmdp reload lmdp.admin

Aliases: /dp, /deathpenalties, /soulpoints. Players with lmdp.bypass skip all penalties.

PlaceholderAPI

Expansion identifier is soulpoints:

  • %soulpoints_current% / %soulpoints_max%7 / 10
  • %soulpoints_progress_bar%███████░░░
  • %soulpoints_recovery_time%2h 15m 30s

Full placeholder list on GitHub.

Developer API

Service-provider API via Bukkit's ServicesManager. SoulPointsChangeEvent is cancellable before the change; SoulPointsChangedEvent fires after. Examples on GitHub.

Requirements

  • Paper or Folia 1.21+, Java 21
  • YskLib 1.8.0+ (required)
  • Vault (optional, money penalties) · PlaceholderAPI (optional)

Full config reference and YAML examples on GitHub.

Support: Discord · Issues