Lifesteal ++

This Plugin adds a highly customizable Lifesteal Plugin with the main feature being able to swap harts with the person you kill.

80

Quick challenge

How far can you run before the mobs catch you?

Lifesteal ++

❤️ LifestealSwapper

A Paper plugin that adds configurable lifesteal mechanics:

- Killer gains hearts and victim loses hearts on PvP kills. - Players drop their own head on death. - Placing a player's head triggers configurable heart swapping behavior. - Optional tab-list formatting to show each player's max hearts.

Features

- Fully configurable heart bounds (`min`, `max`, `starting`). - Configurable kill transfer values (`killer-gain`, `victim-loss`). - Head swap modes: - `FULL_SWAP` - `TRANSFER_FROM_OWNER` - `TRANSFER_TO_OWNER` - Configurable messages and sounds. - `/lifesteal reload` command. - Admin heart management commands.

Commands

- `/lifesteal reload` - reload plugin config. - `/lifesteal hearts get <player>` - view a player's max hearts. - `/lifesteal hearts set <player> <amount>` - set max hearts (clamped by config min/max). - `/lifesteal hearts add <player> <amount>` - add hearts. - `/lifesteal hearts remove <player> <amount>` - remove hearts. - `/lifesteal hearts reset <player>` - reset to configured starting hearts.

Permissions

- `lifesteal.admin` - allows all `/lifesteal` admin commands.

Configuration

Edit `src/main/resources/config.yml` (or the generated `plugins/LifestealSwapper/config.yml` on your server).

Key sections:

- `hearts` - global heart limits and starting hearts - `lifesteal` - kill-based heart transfers - `heads` - death head drops and item appearance - `head-swap` - behavior when placing a player head - `tab-list` - optional tab display of hearts - `messages` / `sounds` - UX tuning - `permissions` - permission nodes

Config File:

Spoiler

```

LifestealSwapper configuration

1 heart = 2 health points in Minecraft internals.

hearts: starting: 10 min: 1 max: 20

lifesteal: enabled: true killer-gain: 1 victim-loss: 1 require-player-killer: true allow-self-kill: false

heads: drop-on-death: true display-name: "&c%player%'s Head" lore: - "&7Place this head to trigger a heart swap."

head-swap: enabled: true mode: FULL_SWAP # FULL_SWAP | TRANSFER_FROM_OWNER | TRANSFER_TO_OWNER transfer-amount: 1 remove-placed-head-block: true require-owner-online: true allow-self-use: false

join: apply-starting-hearts-to-new-players: true

tab-list: enabled: true update-ticks: 40 format: "&7%name% &c%hearts%❤"

messages: prefix: "&8[&cLifesteal&8] " reload-success: "&aConfiguration reloaded." no-permission: "&cYou do not have permission." player-only: "&cOnly players can use this." owner-offline: "&cThat head owner must be online to swap hearts." self-head-blocked: "&cYou cannot use your own head." kill-victim: "&cYou lost %victim_loss% heart(s)." kill-killer: "&aYou stole %killer_gain% heart(s) from %victim%." swap-placer: "&aYou used %owner%'s head and swapped hearts." swap-owner: "&e%placer% placed your head and swapped hearts with you."

sounds: enabled: true kill-victim: ENTITY_WITHER_HURT kill-killer: ENTITY_PLAYER_LEVELUP swap-placer: ENTITY_ENDERMAN_TELEPORT swap-owner: ENTITY_ENDERMAN_TELEPORT

permissions: admin: lifesteal.admin

```

ADS