Tags
Creators
Details
Licensed ARR
Published last year
Updated 3 months ago
All versions
1.8.0
Release
Lifesteal Plugin 1.8.04 months ago 2,876
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
| Area | Change | Details |
|---|---|---|
| Revenge Thread | New revenge system added | Added a full revenge-thread mechanic that binds a victim to the player who killed them for a configurable amount of time. |
| Revenge Thread | Structured revenge state model | Added a dedicated revenge thread object with validated victim ownership, killer ownership, start time, expiry time, and lifecycle helpers. |
| Revenge Thread | Configurable revenge duration | Added configurable revenge duration using revenge-thread.duration-seconds. |
| Revenge Thread | Configurable revenge bonus damage | Added a revenge-only damage multiplier against the killer using revenge-thread.damage-multiplier. |
| Revenge Thread | Directional revenge tracking | Added direction tracking toward the killer through action bar and optional compass behavior. |
| Revenge Thread | Compass guidance | Added optional compass tracking toward the revenge target. |
| Revenge Thread | Action bar direction hints | Added direction hints through %direction%-based action bar messaging. |
| Revenge Thread | Localized direction labels | Added configurable direction strings like north, south, north-east, nearby, and more. |
| Revenge Thread | Close-range reveal | Added a configurable reveal mechanic that briefly highlights the revenge target when nearby. |
| Revenge Thread | Trap resistance | Added configurable revenge trap resistance so victims take reduced trap-like damage from the player tied to the thread. |
| Revenge Thread | Block trap toggle | Added block-damage-enabled support to explicitly control whether generic environmental block damage participates in revenge resistance. |
| Revenge Thread | Visible crimson thread visuals | Added a particle thread between victim and target with configurable color, render distance, wave motion, update interval, and point density. |
| Revenge Thread | Configurable revenge sounds | Added configurable sounds for thread creation, completion, reveal, and break events. |
| Revenge Thread | Creation feedback | Added title, subtitle, message, and sound feedback when a revenge thread is created. |
| Revenge Thread | Completion feedback | Added title, subtitle, message, and sound feedback when revenge is successfully claimed. |
| Revenge Thread | Break feedback | Added dedicated thread-break messaging for expiration, logout, and invalidated revenge paths. |
| Revenge Thread | Logout-aware handling | Added configurable logout-breaking behavior using break-on-logout. |
| Revenge Thread | Centralized manager flow | Consolidated revenge behavior into a dedicated manager handling creation, cleanup, tracking, reveal, visuals, sounds, and resolution. |
| Revenge Thread | Improved listener flow | Reworked revenge event handling into cleaner, less fragile listener logic. |
| Revenge Thread | Placeholder support | Added placeholder support for revenge active state, revenge target, and time remaining. |
| Revenge Thread | Better placeholder formatting | Improved placeholder outputs with safer defaults, cleaner time formatting, and more stable values. |
| Revenge Thread | Stronger validation | Added stricter validation against invalid revenge state like self-targeting and impossible timing. |
| Console / Logging | Colored console output fixed | Reworked plugin status logging to use the proper console sender path instead of Java logger paths that printed raw Β§ codes. |
| Console / Logging | Styled console helpers added | Added clearer helper methods for info, success, warning, and error console output. |
| Console / Logging | Startup and shutdown logs cleaned | Refined plugin lifecycle messaging to be more attractive, cleaner, and less repetitive. |
| Console / Logging | Duplicate log noise reduced | Reduced duplicated startup chatter from overlapping manager/bootstrap summaries. |
| Language / Localization | Runtime language switching improved | Strengthened language syncing and reload behavior so language changes apply more reliably without restart. |
| Language / Localization | Language-aware reload path | Reload flow now refreshes synced language data and active language manager content more cleanly. |
| Language / Localization | Better missing-language fallback | Added safer fallback behavior when a requested language file is missing. |
| Language / Localization | Missing key handling retained | Missing keys continue to be logged once instead of spamming endlessly. |
| Config | Expanded config coverage | Extended config support for revenge visuals, sounds, trap resistance, direction strings, and other new behavior. |
| Config | More polished defaults | Refined default fallback messages to be brighter, cleaner, and more visually appealing. |
| Config | Wider gameplay message support | Added or refined config-backed messages for deaths, revives, withdraws, reloads, indirect kills, inventory issues, and more. |
| Config | Defensive parsing retained | Kept safer fallback behavior for materials and similar config-driven values. |
| Database | Styled database status logs | Database connection and table messages now use the same polished console output approach. |
| Database | Cleaner upsert-style persistence | Refined SQLite/MySQL write behavior toward safer conflict/update handling. |
| Database | Cleaner backend lifecycle | Database setup/close flow remains structured and easier to maintain. |
| Commands / Admin | Admin UX polished | Admin command messages were redesigned to be clearer, flashier, and more consistent. |
| Commands / Admin | Reload command improved | Reload flow messaging and feedback were cleaned up and aligned with the upgraded style. |
| Commands / Admin | Withdraw command improved | /withdrawheart feedback now looks better and communicates failure/success more clearly. |
| Commands / Admin | Permission-aware command visibility preserved | Command hiding and execution blocking remain aligned with permission-aware visibility handling. |
| Gameplay Messages | Full message beautification pass | Refined fallback player-facing text across the plugin to be gaudy, colorful, polished, and more aesthetically appealing without being too noisy. |
| Gameplay Messages | Consistent prefix styling | Standardized the plugin prefix and message presentation style. |
| Gameplay Messages | Cleaner success/warning/error tone | Reworked message tone and category styling for clearer positive, warning, and negative feedback. |
| Sound Design | More gameplay sound feedback | Added or refined sound cues for heart usage, revive flow, reloads, rewards, denials, and key system events. |
| Sound Design | Dedicated revenge sound layer | Added revenge-specific sound moments for thread creation, reveal, completion, and breakage. |
| Recipes / UI | Recipe system support retained | Preserved custom recipe support while improving surrounding consistency and documentation readiness. |
| Recipes / UI | Recipe/help support expanded | Improved support for recipe-related help and translation coverage. |
| Code Quality | General hardening pass | Applied stronger null handling, validation, cleaner helper structure, and better cross-file consistency. |
| Code Quality | Shared utility consistency improved | Better aligned message, config, color, and manager usage across the codebase. |
| Code Quality | Cross-system polish pass | Refined behavior and presentation across commands, managers, listeners, placeholders, config, and console output. |
Optional dependencies
Unavailable version
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:NjzTnkeQ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pZ4D6mrk:NjzTnkeQ"
}

