Lifesteal Plugin
This plugin adds a complete Lifesteal progression system to Minecraft, making player-versus-player combat directly affect maximum health. Players start with 10 hearts, can gain hearts by defeating other players, and can turn their own hearts into physical Heart items for trading or later use.
Lifesteal System
Every player starts with 10 hearts. Each heart represents 2 maximum health points.
When a player genuinely kills another player:
-
The killer gains 1 maximum heart.
-
The victim loses 1 maximum heart.
-
Heart changes are permanently saved.
-
Players can have between 1 and 40 hearts.
Only an actual player kill triggers Lifesteal. Damaging another player is not enough.
Deaths caused by mobs or the environment do not transfer hearts, including:
-
Zombies
-
Skeletons
-
Creepers
-
Other mobs
-
Fall damage
-
Fire
-
Lava
-
Drowning
-
Void damage
-
Other environmental damage
-
Commands or plugin deaths
-
Self-deaths
This keeps heart progression focused on genuine PvP victories.
Physical Heart Items
The plugin adds a special physical item called Heart.
Heart items are clearly identifiable and are specially marked so normal items cannot accidentally be recognized as Lifesteal Hearts.
Players can freely:
-
Drop Hearts
-
Pick Hearts up
-
Give Hearts to other players
-
Store Hearts in chests
-
Trade Hearts
-
Move Hearts through their inventory
Hearts are not soulbound, allowing them to become a useful player-traded resource.
Using Hearts
A player holding a valid Heart can left-click to use it.
When used successfully:
-
The Heart item is consumed.
-
The player's maximum health increases by 2 HP.
-
Their heart count increases by 1.
-
The new heart amount is permanently saved.
For example, a player with 8 hearts can use one Heart item and become a 9-heart player.
Players who already have 40 hearts cannot use another Heart, preventing the maximum from being exceeded.
Heart Withdrawal
Players can convert one of their maximum hearts into a physical Heart item with:
/withdraw heart
No special permission is required.
For example:
10 hearts → /withdraw heart → 9 hearts + 1 Heart item
The withdrawn heart is actually removed from the player's maximum health rather than simply creating an item.
Players cannot withdraw their final heart. Someone with only 1 heart remains at 1 heart and receives no Heart item.
The withdrawal system also protects against full inventories. If the Heart cannot safely be given to the player, the transaction does not permanently remove their heart.
Curse System
When a player is already at 1 heart and is killed by another player, their final heart is protected.
Instead of losing their final heart, they receive a random negative curse effect.
Possible curses include:
-
Slowness
-
Weakness
-
Mining Fatigue
-
Blindness
-
Hunger
-
Glowing
The curse is stored as a persistent plugin state, meaning it does not simply disappear when the player reconnects or when the server restarts.
This gives players at 1 heart a new objective: obtain a Heart to recover.
Removing a Curse
A cursed player can escape their curse by obtaining and using a Heart.
When the Heart is used:
-
The player gains 1 maximum heart.
-
The Heart is consumed.
-
The curse state is removed.
-
The active curse effects are removed.
-
The updated heart count is saved.
For example:
1 heart + cursed → use Heart → 2 hearts + curse removed
This makes physical Hearts valuable not only for gaining health, but also for recovering from the most dangerous stage of the Lifesteal system.
Persistent Data
Player progression is stored using UUIDs rather than usernames.
The plugin saves:
-
Player UUID
-
Current heart count
-
Curse state
This information remains available after:
-
Server restarts
-
Player disconnects
-
Player reconnects
-
Plugin reloads where supported
Players therefore keep their progression instead of having their heart count reset.
Configurable Limits
The main Lifesteal settings can be configured:
starting-hearts: 10
minimum-hearts: 1
maximum-hearts: 40
Curse behavior can also be configured where supported, including curse duration and available effects.
Designed for Meaningful PvP
The plugin changes the consequences of combat without unnecessarily changing normal Minecraft gameplay.
A player who wins PvP encounters becomes stronger. A player who loses fights becomes weaker. Physical Hearts create opportunities to trade and recover lost health, while the final-heart curse gives players a way to remain involved even after reaching the lowest possible heart count.
The result is a simple but strategic gameplay loop:
Fight → Gain or Lose Hearts → Trade Hearts → Recover → Fight Again
Key Features
-
10 starting hearts
-
1–40 maximum heart range
-
Player-kill Lifesteal
-
Physical Heart items
-
Tradeable Hearts
-
Left-click Heart usage
-
/withdraw heart -
Final-heart protection
-
Persistent curses
-
Random negative curse effects
-
Heart-based curse removal
-
UUID-based data storage
-
Persistent progression
-
Inventory-safe withdrawals
-
Mob deaths excluded
-
Environmental deaths excluded
-
Configurable heart limits
-
No special permission required for
/withdraw heart

