HomeJavaModsHardcoreDeathBan
HardcoreDeathBan
ModsJava

HardcoreDeathBan

by zachgotit · on Modrinth

Hardcore Death Ban (HCDB) is a tiny Paper plugin that bans players on death, with configurable lives, messages and PAPI support. Built for Hardcore…

⬇ Download on Modrinth
HardcoreDeathBan — screenshot 1

HardcoreDeathBan

A tiny Paper plugin that bans players on death, with configurable lives, messages and PAPI support. Built for Hardcore servers.

Lives system

The plugin optionally supports a multi-life mode. With lives.enabled: true in config.yml, each player starts with lives.default lives (default 3). Each death decrements their count by 1. They're only permanently banned when they hit 0.

Lives are stored in plugins/HardcoreDeathBan/lives.yml, keyed by UUID. They persist across server restarts. Lives only regenerate manually: admins grant them via the /hcdb lives commands.

When a player dies but has lives left, the plugin sends configurable notifications (personal message, title/subtitle, server broadcast). Each is independently toggleable and configurable in the lives.notifications config section, with MiniMessage formatting support for colors and styles.

Install

  1. Drop the jar into your server's plugins/ directory.
  2. Start the server once to generate plugins/HardcoreDeathBan/config.yml.
  3. Edit ban-message to your liking.
  4. Run /hcdb reload in-game or from the console.

Commands

The lives subcommands require the hardcoredeathban.lives.manage permission (op by default) and the lives system to be enabled (lives.enabled: true in config).

Configuration

Edit plugins/HardcoreDeathBan/config.yml. It's heavily documented, so every option should be intuitive:

ban-message: "{death-message} on {date} at {time} after %statistic_time_played% of survival. RIP, {player}."

More info in the config.yml

Built-in placeholders

These work in ban-message and in any lives notification (lives.notifications.message.text, title, subtitle, broadcast.text):

Placeholder Description
{player} The player's username.
{world} World the player died in (e.g. world, world_nether).
{cause} Short damage type (e.g. fall, lava, mob_attack).
{death-message} Full vanilla death message (e.g. "Notch was blown up by Creeper").
{timestamp} Full timestamp formatted via timestamp-format.
{date} Date formatted via date-format.
{time} Time formatted via time-format.
{lives_remaining} Lives the player has left (lives system only).
{lives_max} Configured starting lives (lives system only).
{lives_lost} lives_max - lives_remaining (lives system only).

PlaceholderAPI support

If PlaceholderAPI is installed, all %papi_placeholders% are resolved in ban-message and lives notifications. Useful expansions include Statistic (for %statistic_time_played%) and Player: install with /papi ecloud download <Name>.

This plugin also registers its own PAPI expansion exposing the lives count for use in scoreboards, tab lists, and other plugins that consume PAPI placeholders:

Placeholder Description
%hcdb_lives_remaining% The player's current lives. Returns the configured default if the player isn't tracked yet.
%hcdb_lives_max% Configured starting lives (lives.default).
%hcdb_lives_lost% max - remaining.

These return empty strings when lives.enabled: false. The expansion is only registered if PlaceholderAPI is loaded.

Exempting players

By default, ops are exempt (default: op in plugin.yml). To exempt non-op players, use any permission plugin (LuckPerms, etc.). For example, with LuckPerms:

/lp user <username> permission set hardcoredeathban.exempt true

Unbanning

Use the same unban command you're used to. The vanilla command for unbanning is: /pardon <username> (from console or any op).

Notes

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more