# ILifestealManager > Manages the lifesteal mechanic, allowing players to gain or lose health through combat. `gg.lode.observerapi.api.manager` --- ## Signature ```java public interface ILifestealManager ``` --- ## Methods ### isEnabled ```java boolean isEnabled() ``` **Returns:** `boolean` - `true` if lifesteal is enabled --- ### setEnabled ```java void setEnabled(boolean enabled) ``` | Parameter | Type | Description | |-----------|------|-------------| | `enabled` | `boolean` | Whether lifesteal is enabled | --- ### getItemName ```java String getItemName() ``` **Returns:** `String` - the display name of the heart item --- ### setItemName ```java void setItemName(String name) ``` | Parameter | Type | Description | |-----------|------|-------------| | `name` | `String` | The display name for the heart item | --- ### getItemModel ```java String getItemModel() ``` **Returns:** `String` - the item model identifier --- ### setItemModel ```java void setItemModel(String model) ``` | Parameter | Type | Description | |-----------|------|-------------| | `model` | `String` | The item model identifier | --- ### isStackable ```java boolean isStackable() ``` **Returns:** `boolean` - `true` if heart items can stack --- ### setStackable ```java void setStackable(boolean stackable) ``` | Parameter | Type | Description | |-----------|------|-------------| | `stackable` | `boolean` | Whether heart items can stack | --- ### getLifestealType ```java LifestealType getLifestealType() ``` **Returns:** [[LifestealType]] - the current lifesteal trigger type --- ### setLifestealType ```java void setLifestealType(LifestealType type) ``` | Parameter | Type | Description | |-----------|------|-------------| | `type` | `LifestealType` | The lifesteal trigger type | --- ### getMaxHealth ```java double getMaxHealth() ``` **Returns:** `double` - the maximum health a player can reach through lifesteal --- ### setMaxHealth ```java void setMaxHealth(double maxHealth) ``` | Parameter | Type | Description | |-----------|------|-------------| | `maxHealth` | `double` | The maximum health cap | --- ### getMinHealth ```java double getMinHealth() ``` **Returns:** `double` - the minimum health a player can be reduced to through lifesteal --- ### setMinHealth ```java void setMinHealth(double minHealth) ``` | Parameter | Type | Description | |-----------|------|-------------| | `minHealth` | `double` | The minimum health floor | --- ### canWithdraw ```java boolean canWithdraw() ``` **Returns:** `boolean` - `true` if players can withdraw hearts as items --- ### setCanWithdraw ```java void setCanWithdraw(boolean canWithdraw) ``` | Parameter | Type | Description | |-----------|------|-------------| | `canWithdraw` | `boolean` | Whether withdrawal is allowed | --- ### shouldRemoveHeart ```java boolean shouldRemoveHeart() ``` **Returns:** `boolean` - `true` if the heart item should be removed on use --- ### setShouldRemoveHeart ```java void setShouldRemoveHeart(boolean shouldRemove) ``` | Parameter | Type | Description | |-----------|------|-------------| | `shouldRemove` | `boolean` | Whether to remove the heart item | --- ## Related Pages - [[LifestealType]] - [[PlayerConsumeHeartEvent]] - [[PlayerWithdrawHeartEvent]]