Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Links
Tags
Creators
Details
Licensed ARR
Published 2 months ago
❤️ 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_SWAPTRANSFER_FROM_OWNERTRANSFER_TO_OWNER
- Configurable messages and sounds.
/lifesteal reloadcommand.- 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/lifestealadmin 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 heartslifesteal- kill-based heart transfersheads- death head drops and item appearancehead-swap- behavior when placing a player headtab-list- optional tab display of heartsmessages/sounds- UX tuningpermissions- 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


