Tags
Creators
Details
V1.0.2
Compatibility
Changes
✨ 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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:BY9PonUl:tHkSXLNw"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:BY9PonUl:tHkSXLNw"
}

