promotional bannermobile promotional banner

Lifesteal 2

Lifesteal2 is a fully configurable lifesteal plugin that adds custom heart mechanics, revives, and crafting recipes to your server. Players can gain, lose, withdraw, and trade hearts, even revive fallen players using the unique Revive Tool and GUI.

Lifesteal2: The Ultimate Lifesteal Plugin

Lifesteal2 is a modern, performance-focused, and fully configurable lifesteal system for Minecraft servers.
It includes advanced heart mechanics, configurable items, custom GUI systems, PlaceholderAPI support, and complete customization through config and message files.
Every system can be tuned to match any SMP, factions, or survival setup.

Features 
Fully Configurable

All mechanics, recipes, limits, and options are stored in the configuration file.
You can toggle natural heart loss, limit maximum hearts, adjust revive behavior, and fine-tune item crafting or GUI settings easily.

Custom Items 

Heart Item – crafted using your configurable recipe, adds one heart when right-clicked.
Revive Tool – opens an interactive revive GUI listing players who lost all hearts, allowing them to be brought back with a configurable amount of hearts.

Revive GUI

The revive menu lists all players banned for losing their last heart.
Each appears with their player head, hover tooltip, and click-to-revive function.
Supports multiple pages with configurable slot counts.
The system can also be disabled or simplified through config.

Configurable Recipes

Both Heart and Revive Tool recipes are fully editable in the configuration file.
Recipes are written left-to-right, top-to-bottom, corresponding to a 3x3 crafting table.

Data Storage

Every player’s heart count and ban status are saved securely and persist through restarts.
Data is stored in playerdata.yml within the plugin folder.

Message Customization

All plugin messages are stored in messages.yml.
This includes every chat message, help section, and even leaderboard formatting—giving complete control over how the plugin looks and feels.

PlaceholderAPI Support

The plugin includes built-in placeholders for use in scoreboards, sidebars, or GUIs:

%lifesteal2_hearts% — shows the player’s current heart count

%lifesteal2_is_banned% — shows if a player is lifebanned

%lifesteal2_rank% — shows their leaderboard position

Configurable Heart Limits and Punishments

Enable or disable maximum heart limits.

Set the maximum allowed heart count.

Define punishments when a player reaches zero hearts, including permanent or timed bans and custom commands.

Indirect Kill Detection

When a player kills another using indirect methods (such as end crystals or TNT), the kill is still correctly attributed to the attacker whenever possible.

Leaderboard and Status Commands

Check top players with /heartleaderboard or verify plugin functionality with /statuslifesteal.
Leaderboard layout can be customized in messages.yml.

Update Checker

When the server starts, the console checks for new Lifesteal2 versions and notifies you if an update is available.

Tab Completion 

All commands include tab completion for players and arguments.

Commands
Command    Description    Permission
/hearts [player]    Show your or another player’s hearts    lifesteal.hearts, lifesteal.hearts.others
/giveheart <player> <amount>    Give hearts to a player    lifesteal.giveheart
/takehearts <player> <amount>    Take hearts and receive them as items    lifesteal.takehearts
/sethearts <player> <amount>    Set a player’s exact heart count    lifesteal.sethearts
/withdrawhearts <amount>    Withdraw your hearts as Heart items    lifesteal.withdrawhearts
/withdrawhearts <player> <amount>    Withdraw hearts from another player (admin only)    lifesteal.withdrawhearts.others
/heartrecipe    Add Heart recipe to recipe book    lifesteal.heartrecipe
/revivetoolrecipe    Add Revive Tool recipe to recipe book    lifesteal.revivetoolrecipe
/statuslifesteal    Check plugin status and errors    lifesteal.status
/heartleaderboard    Show the heart leaderboard    lifesteal.leaderboard
/helplifesteal    List all available commands    lifesteal.helplifesteal
Example Config
natural-death-drops-heart: false

max-hearts:
  enabled: true
  limit: 20

revive:
  hearts-after-revive: 3
  gui-enabled: true
  gui-size: 54

punishment:
  type: "ban"
  duration: "7d" # or "permanent"

crafting:
  heart-recipe:
    - DIAMOND
    - NETHERITE_INGOT
    - DIAMOND
    - EMERALD_BLOCK
    - NETHER_STAR
    - EMERALD_BLOCK
    - DIAMOND
    - NETHERITE_INGOT
    - DIAMOND

  revive-recipe:
    - NETHERITE_INGOT
    - DIAMOND
    - NETHERITE_INGOT
    - ENCHANTED_GOLDEN_APPLE
    - NETHER_STAR
    - ENCHANTED_GOLDEN_APPLE
    - NETHERITE_INGOT
    - DIAMOND
    - NETHERITE_INGOT

 

Technical Details

Built for Minecraft 1.21 and higher

Requires Java 17 or higher

Compatible with Spigot, Paper, and Purpur

Player data stored in /plugins/Lifesteal2/playerdata.yml

Config regenerates automatically if deleted

Supports PlaceholderAPI out of the box

Permissions
lifesteal.hearts
lifesteal.hearts.others
lifesteal.giveheart
lifesteal.takehearts
lifesteal.sethearts
lifesteal.withdrawhearts
lifesteal.withdrawhearts.others
lifesteal.heartrecipe
lifesteal.revivetoolrecipe
lifesteal.status
lifesteal.leaderboard
lifesteal.helplifesteal

Credits 

Developed by waffleboiii

The Lifesteal 2 Team

profile avatar
  • 1
    Followers
  • 2
    Projects
  • 2.3K
    Downloads

More from waffleboiii

  • SimpleShop-Free project image

    SimpleShop-Free

    • 34
    • Bukkit Plugins

    The ultimate GUI shop solution for Minecraft servers

    • 34
    • February 22, 2026
    • Bukkit Plugins
    • +2
  • SimpleShop-Free project image

    SimpleShop-Free

    • 34
    • Bukkit Plugins

    The ultimate GUI shop solution for Minecraft servers

    • 34
    • February 22, 2026
    • Bukkit Plugins
    • +2