Lifesteal999 1.0.5
on Nov 7, 2025Bug Fixes:
- Fixed a bug that prevented players from eating normal enchanted golden apples.
New Features:
- The crafting recipe for the custom heart item is now configurable in the
config.ymlfile. - The shape of the crafting recipe for the custom heart item is now configurable in the
config.ymlfile.
Lifesteal999 1.0.4
on Sep 23, 2025Added Features Heart Item Stacking Support: Heart items can now stack up to the default Minecraft limit (64). Removed unique UUID tagging per heart, allowing for easier inventory management and bulk handling without compromising functionality. Player-to-Player Heart Gifting: New command /lifesteal giveheart <player> <amount> allows players to directly gift heart items to others. Includes a 30-second cooldown per player to prevent spam . Giver must specify a valid online player and amount . Recipients receive the hearts in their inventory (or dropped if full), with confirmation messages for both parties. No permission required for players; admins can still use /lifesteal give for unrestricted gifting. Advanced Trade System: Full trading GUI for secure item exchanges, including hearts. Initiate Trade: Use /lifesteal trade <player> to send a trade request to another online player. Accept Request: The target player uses /lifesteal trade accept to open the trade GUI. GUI Design: 54-slot double chest inventory titled "Trade with [PlayerName]". Decline Button: Red Concrete in top-left slot (slot 0) – Right/left-click to cancel the trade for both players. Accept Button: Green Concrete in top-right slot (slot 8) – Right/left-click to lock your offer (button updates to "Accepted ✓" when clicked). Initiator Slots: Top two rows – Only the trade initiator can place/take items here. Partner Slots: Bottom two rows – Only the partner can place/take items here. Players cannot access the other's slots; attempting to do so shows a warning message. Trade Mechanics: Both players can add/remove/swap items in their designated slots at any time. Clicking "Accept" locks the current offer; any changes reset the accept status for that player. Trade completes only when both players have accepted – Items are automatically transferred (initiator receives partner's offer, and vice versa). If inventory is full, excess items drop at the player's feet. Closing the inventory or declining cancels the trade, returning all placed items to their original owners. Prevents duplicate requests or trades if either player is already in an active trade. Offline players or invalid requests are handled gracefully with error messages. Safety Features: Trade requests expire if not accepted promptly; items are never lost on cancellation. Both players receive synchronized updates and notifications throughout the process. Updated Command Help: /lifesteal now includes giveheart and trade in its usage message for easy discovery. Changes Command Structure Enhancements: /lifesteal subcommands now explicitly list all options: reload, give, revive, stats, giveheart, trade. /lifesteal trade supports two modes: <player> for requests and accept for confirmation. Consolidated trade logic into dedicated methods (startTrade, cancelTrade, completeTrade, returnItems) for better maintainability. Inventory Event Handling: Added InventoryClickEvent and InventoryCloseEvent handlers specifically for trade GUIs. All clicks in trade inventories are cancelled by default, with custom logic for buttons and slots. Visual feedback: Accept buttons update dynamically to show acceptance status. Data Management: Introduced internal maps for trade state: pendingRequests (for requests), activeTrades (for ongoing trades), and giveCooldowns (for gifting timers). No changes to player data persistence; hearts, withdrawn, and consumed stats remain unchanged.
Lifesteal999 V1.0.3
on Aug 17, 2025fixed the heart bug
Lifesteal999 V1.0.2
on Aug 17, 2025✨ New Features
✅ Offline Player Revive Support Admins can now run /lifesteal revive <player> on offline players! When they log in, they'll be automatically restored to Survival mode with configured hearts.
✅ Improved Heart Consumption Behavior Players now properly consume only 1 heart item at a time, regardless of stack size. If only one item remains, it’s cleanly removed from the inventory.
✅ Safe Parsing for Commands Commands like /withdraw <amount> and /lifesteal give <player> <amount> now safely handle bad inputs and non-integer values with proper error messages.
✅ Full Lore & Metadata Support Heart items now display clean lore, enchantments, and unique metadata for identification and stack management.
🛠️ Changes & Improvements
🧠 ItemMeta Null Checks added to prevent possible NPEs.
🧪 Players now start with 10 hearts by default, restored cleanly on join.
💾 Player health data is saved on quit and loaded on join, with clamping to respect max-hearts config.
❌ Removed
❌ Combat Logging Penalty Removed The system that deducted 1 heart for logging out (via punish-combat-logout) has been fully removed for cleaner, fairer gameplay. Players will no longer be punished for disconnecting unexpectedly or during PvP.
⚙️ Developer Notes
The combat log system can be replaced later with a proper combat tag system using events like EntityDamageByEntityEvent.
Admins can still revive players manually using /lifesteal revive, and support for hardcore-mode is intact.
💬 Commands Summary
/withdraw <amount> – Convert hearts into heart items (must keep at least 1).
/lifesteal reload – Reloads plugin configuration.
/lifesteal give <player> <amount> – Give heart items to any player.
/lifesteal revive <player> – Revive a player (online or offline) from spectator mode.
📁 Config Options (Sample) max-hearts: 20 hardcore-mode: true hardcore-respawn-hearts: 10 lose-hearts: true direct-transfer: true broadcast-drops: true drop-message: "&aA heart has been dropped after &e%player% &awas killed!" enabled-worlds:
- world
- world_nether
Lifesteal999 V1.0.1
on Aug 7, 2025Added
- Initial release of lifesteal core system
- Heart item mechanics with NBT verification
- Hardcore mode with spectator elimination
- Combat logout punishment
- Configurable heart gain/loss mechanics
- Complete permission system
/withdrawand admin commands
Changed
- Heart items now use golden apples with proper NBT tags
- Improved heart consumption mechanics
- Revamped configuration system
Fixed
- Heart item stacking issues
- Command permission checks
- Edge cases in heart withdrawal
- Combat state tracking for logout punishment
Lifesteal V1.0
on Jul 31, 2025the first release



