Tags
Creators
Details
Licensed ARR
Published last year
Updated 3 months ago
All versions
1.4.0
Release
Lifesteal Plugin 1.4.0last year 11.5K
Compatibility
Minecraft: Java Edition
1.21–1.21.8
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
1. BanManager Improvements
| Change | Description |
|---|---|
| Fail-safe banning | Checks player validity (online state, name) before banning. |
| Customizable ban reasons | Prepares ban messages with clear reasons and placeholders. |
| Safer unbanning | Prevents unban attempts for null/invalid players. |
| Consolidated log messages | Unified logging with better error context. |
| Future-proofing | Added potential for temporary bans (Date parameter left open). |
2. HeartManager Improvements
| Change | Description |
|---|---|
| Centralized validation | Sanitizes heart values (no negatives, max cap) via sanitize(). |
| Safe scheduling | Delays health update with Bukkit.runTask() only when necessary. |
| Single DB access per call | Avoids redundant DB calls by reusing PlayerData. |
| Flexible heart updates | addHearts() and removeHearts() now ensure health sync post-save. |
| Improved max health logic | Always guarantees at least 1 heart (2.0 health). |
| Better null handling | All methods safely return/exit when player or UUID is null. |
3. RecipeManager Improvements
| Change | Description |
|---|---|
| Recipe validation | Verifies shape (3x3 max), logs invalid formats. |
| Dynamic tiers | Supports tier setting for Heart recipe. |
| Configurable outputs | Item name and lore now pulled from config. |
| Safe removal | Wraps Bukkit.removeRecipe() with checks. |
| Centralized registration | registerAllRecipes() introduced. |
| Detailed error logs | Detects missing/invalid materials per symbol. |
| Extensible design | Ready for additional custom recipes. |
Added new placeholders!
| Placeholder | Description |
|---|---|
%lifesteal_playername% |
Returns the player’s name, or offline name if player is not online |
%lifesteal_uuid% |
Returns the UUID of the player |
%lifesteal_health% |
Shows the current health (HP) of the player (as an integer) |
%lifesteal_maxhealth% |
Shows the maximum health (HP) of the player (as an integer) |
%lifesteal_hearts_left% |
Displays how many hearts the player can still gain before reaching max |
%lifesteal_online_count% |
Shows the number of currently online players |
%lifesteal_database_connected% |
Displays "true" or "false" depending on whether the database is connected |
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:pZ4D6mrk:d7CWm6dB"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pZ4D6mrk:d7CWm6dB"
}

