▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Lifesteal Plugin
Lifesteal Plugin

Lifesteal Plugin

A fully customizable, production-grade Minecraft plugin that implements a complete lifesteal system with hearts, bans, revives, MySQL support, advanced crafting recipes, and full admin control — designed for scalable SMP servers.

Оцените первым
15.8K
16
Все версииLifesteal Plugin 1.5.0

Lifesteal Plugin 1.5.0

Release12.06.2026

Список изменений

ChangeDescription
Removed noisy normal-case loggingStopped treating “no player row found” as an INFO event, because this is normal for first join / first lookup.
Debug-only missing-record logsKept optional visibility by moving the message behind debug: true instead of always spamming console.
Cleaner DB readsMySQL#getHearts() and SQLite#getHearts() now return starting-hearts quietly when no record exists.
Reduced console clutterMakes real errors easier to notice because harmless first-time lookups no longer flood logs.
Safer connection checksAdded isConnectionOpen() style checks before queries so bad connection states are logged clearly and separately.
ChangeDescription
Custom-beacon-only detectionThe revive listener no longer treats any plain beacon as a revive beacon; it checks the custom beacon metadata.
Right-click + place supportThe beacon now works seamlessly whether the player right-clicks it or tries to place it. Placement is cancelled and revive mode starts instead.
Config-synced beacon metadata/lifestealadmin revivebeacon now builds the beacon from revive-beacon-crafting.display-name and revive-beacon-crafting.lore, matching listener checks exactly.
Session timeout handlingRevive sessions now expire cleanly after the timeout instead of lingering awkwardly.
Duplicate-session preventionA player cannot start multiple revive sessions at once.
Safer target lookupRevive chat logic now resolves the target more carefully and handles invalid names more safely.
Guaranteed beacon consumption on successAfter a successful revive, the beacon is consumed correctly from the reviver’s main hand.
Listener cleanupChat listener unregisters itself and cancels timeout tasks after completion, preventing stale revive sessions.
ChangeDescription
Pre-check before consumeThe listener now checks current hearts before consuming the heart item.
No wasted item at max heartsIf the player is already at the max-heart cap, the item is not consumed.
No partial-overflow lossIf a tiered heart item would exceed max hearts, usage is blocked instead of silently consuming the item for no effective gain.
Clear user feedbackPlayers now get a proper message when they cannot use a heart item due to the cap.
Cap respects bypass permissionlifesteal.bypasslimit still allows exceeding the configured max as intended.
ChangeDescription
Revive beacon creation centralizedAdded a dedicated buildReviveBeacon() path so admin-given beacons always match plugin expectations.
Inventory-full protectiongiveheart and revivebeacon now check leftovers from Inventory#addItem() instead of silently failing.
Safer player targetingUses exact player lookup in the improved version for more reliable targeting.
More consistent prefixed messagesStandardized more admin feedback through MessageUtils.sendWithPrefix().
Config-driven beacon metadataRemoved hardcoded revive-beacon metadata drift by syncing item creation with config values.
ChangeDescription
Main-hand beacon validationBefore reviving, the plugin verifies the player still has the proper revive beacon in hand.
Safe session cleanupCancels timeout tasks and unregisters the listener after the chat flow ends.
Safer chat handlingIgnores unrelated chat, trims input, and handles blank target names safely.
Controlled revive flowThe revive only proceeds when the target exists, is banned, and the reviver still holds the valid beacon.
Consumption after successBeacon removal occurs as part of the success path, so valid revives actually spend the item.
ChangeDescription
Unified revive session startMoved the common revive-start behavior into one reusable method.
Placement interceptionBlockPlaceEvent support lets the beacon work even when the player tries placing it.
Metadata normalizationName/lore checks normalize formatting and stripped colors for more reliable matching.
Lore-aware validationThe listener can validate both display name and lore, reducing accidental matches.
Permission-first handlingFails early with a clear message if the player lacks lifesteal.revive.
ChangeDescription
Max-cap sanitationKeeps hearts from going negative and clamps to config max unless bypass permission exists.
Reliable health syncApplies max health immediately after heart changes so gameplay matches stored values.
At-least-one-heart safeguardConverts heart counts to health with a minimum of 2.0 health.
Cleaner heart adjustment pathCentralizes add/remove behavior through adjustHearts().
Recommended sync-save pathI recommended replacing async per-change saves with synchronous saves for heart updates to avoid race conditions under rapid events.
Modern max-health recommendationI recommended switching from player.setMaxHealth(...) to the attribute API for newer server compatibility.
ChangeDescription
Verified kill transfer logicConfirmed PvP deaths give the killer +1 heart and remove -1 from the victim.
Non-PvP penalty preservedConfirmed non-player deaths only remove a heart if death-penalty-enabled is true.
Ban check after heart lossVictims are checked for zero hearts immediately after removal.
Cleaner structure recommendationI suggested splitting PvP and non-PvP death handling into dedicated helper methods for clarity.
Optional feedback messagesAdded a cleaner version that informs killer and victim about the heart transfer.
ChangeDescription
Safer ban checksVerifies player validity and avoids duplicate bans.
Consistent kick-on-ban behaviorPermanent ban flow bans and kicks with a constructed config-based message.
Cleaner unban pathPrevents null/invalid unban attempts and logs successful unbans clearly.
Better naming/flow clarityRecommended a cleaner banSync() path and more direct checkBan() flow.
Compatibility with heart-loss flowWorks correctly with the victim heart removal path so players reaching 0 hearts are punished immediately.

Файлы

lifestealsmp-1.5.0.jar(91.98 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.5.0

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.21–26.1.1

Загрузок

784

Дата публикации

12.06.2026

Загрузил

ID версии

Главная