LifeStealV brings the popular Lifesteal SMP concept to your server with a focus on stability, performance, and unparalleled customization. Forget editing complicated config files for everything – LifeStealV offers a premium experience with powerful in-game GUI editors for both admins and an immersive revival system for players.
Whether you're running a private server for friends or a large public network, LifeStealV provides the most polished and feature-rich Lifesteal experience available.
✨ Why Choose LifeStealV?
️ Fully GUI-Based: Key features like recipe editing and reviving players are handled through beautiful, intuitive in-game menus.
Extremely Configurable: With 3 separate configuration files (config.yml, messages.yml, recipes.yml), you can control every aspect of the plugin.
Modern & Reliable: Built for modern Minecraft versions (1.21+) with clean, asynchronous code where it matters, like the built-in update checker.
All-in-One Solution: No need for other plugins. LifeStealV handles gameplay, administration, and customization in one complete package.
⭐ Core Features
⚔️ Gameplay Mechanics
Classic Lifesteal: Kill a player to steal one of their hearts and add it to your own health bar.
Configurable Death Penalties: Lose hearts on natural deaths, or disable it completely.
Player Elimination: When a player runs out of hearts, they are eliminated. You can configure this to be a server ban or force them into spectator mode.
Heart Withdrawal: Players can use /withdraw to turn one of their hearts back into a physical item, which they can then trade or save for later.
Items & Recipe Editor
Craftable Hearts: Players can craft Heart items to consume them and regain a heart.
Craftable Revive Items: A powerful, expensive "Heart of Revival" item is the key to bringing players back from elimination.
GUI RECIPE EDITOR! No more YAML editing! Admins can use /lifesteal editrecipe <recipe_name> to open a GUI and change the crafting recipes for both the Heart and Revive items simply by dragging and dropping items. Changes are applied instantly! (Here you should add a screenshot of the recipe editor GUI)
️ Immersive Revival System
Revival GUI: Right-clicking a Heart of Revival or typing /revive opens an interactive menu showing the heads of all currently eliminated players.
One-Click Revive: Simply click on a player's head in the GUI to consume your item and bring them back to life.
Paginated Menu: The GUI automatically creates multiple pages if you have many eliminated players, ensuring the list is always manageable. (Here you should add a screenshot of the revival GUI)
Admin & Quality-of-Life Features
100% Translatable: Every single message sent to players can be changed in the messages.yml file.
Admin Give Command: Use /giveheart to easily spawn custom items for yourself or other players.
Built-in Update Checker: Automatically checks for new versions on SpigotMC and notifies operators in-game, with the Spigot ID integrated for ease of use.
Reload Command: Use /lifesteal reload to reload all configuration files without restarting the server.
# === Update Checker Settings ===
update-checker:
# Set to true to check for new versions on SpigotMC when the server starts.
enabled: true
Code (Text):
# Here you can edit all messages in the plugin.
# You can use color codes, e.g., &c for red, &a for green.
# Placeholders like %placeholder_name% will be automatically replaced.
# General Messages
no-permission: "&cYou do not have permission to use this command."
player-not-found: "&cPlayer '%player%' not found or is offline."
player-only-command: "This command can only be used by players."
# Revive Command & GUI
revive-usage: "&cUsage: /revive"
revive-no-item: "&cYou must be holding a Heart of Revival to use this command."
revive-not-eliminated: "&c%player% is not eliminated and cannot be revived."
revive-success-target: "&bYou have been revived by %player%!"
revive-broadcast: "&b%target% has been brought back to life by the compassionate %reviver%!"
revive-gui-title: "Revive a Player (Page %page%/%total_pages%)"
revive-gui-no-one: "&cThere is currently no one to revive."
revive-gui-skull-lore: "&7Click to revive this player."
revive-gui-next-page: "&aNext Page ->"
revive-gui-prev-page: "&c<- Previous Page"
# Withdraw Command
withdraw-inventory-full: "&cYour inventory is full! Make some space to withdraw a heart."
withdraw-not-enough-hearts: "&cYou do not have enough hearts to withdraw."
withdraw-success: "&aYou have withdrawn one heart."
# GiveHeart Command
giveheart-usage: "&cUsage: /giveheart <player> [heart|revive] [amount]"
giveheart-invalid-item: "&cInvalid item type. Use 'heart' or 'revive'."
giveheart-invalid-amount: "&cAmount must be a number between 1 and 64."
giveheart-inventory-full: "&c%player%'s inventory is full. Could not give items."
giveheart-success-sender: "&aYou have given %amount% %item_type% item(s) to %player%."
giveheart-success-receiver: "&aYou have received %amount% %item_type% item(s) from %sender%."
# Recipe Editor GUI
gui-recipe-editor-title: "Recipe Editor: %recipe%"
gui-recipe-saved: "&aRecipe '%recipe%' has been saved and reloaded!"
gui-unknown-recipe: "&cRecipe with the name '%recipe%' was not found in recipes.yml."
gui-edit-usage: "&cUsage: /lifesteal editrecipe <recipe_name>"
# Plugin Actions
heart-consumed: "&aYou have consumed a heart and gained more health!"
heart-max-health: "&cYou are already at the maximum number of hearts!"
heart-stolen: "&aYou have stolen a heart from %player%!"
heart-lost: "&cYou have lost a heart!"
elimination-broadcast: "&c%player% has run out of hearts and has been eliminated!"
# Update Checker
update-available: "&aA new version of LifeStealV (&b%new_version%&a) is available! You are on &c%current_version%&a."
Code (Text):
# Here you can edit or create new crafting recipes for LifeStealV items.
#
# Structure:
# shape: 3 rows that define the recipe's shape in the crafting grid. A space means an empty slot.
# ingredients: Defines which material corresponds to which character in the 'shape'.
# Use the official Material names from Minecraft (e.g., 'DIAMOND_BLOCK').
# Special Items:
# 'LIFESTEAL_HEART_ITEM': Use this to represent the custom "Heart" item as an ingredient.