No Free Deaths: Better keepInventory

Lose XP and hunger with keepInventory. Stops players abusing death as a free reset, but without the punishment of losing all their stuff 😌

11,09k

No Free Deaths: Better keepInventory

Adds consequences to dying with `keepInventory`. Players don't abuse death as a free teleport and hunger reset mechanic when they have no reason to.

Features

- Can be disabled per-player by admins - Players will respawn at half hunger - Players lose some or all XP on death - Players lose Curse of Vanishing items on death (requires 1.20.5+) - Not enabled by default: Players will respawn with less health - Does nothing if `keepInventory` is disabled - Pick whether players recover all their XP

Opt-out

Players can be opted out of the consequences if they would prefer a more relaxed gaming experience. Per-player opt-out means everyone can play how they want to. An admin must be the one to run the command.

``` /execute as USERNAME run function no_free_deaths:cmd/opt_out ```

Configure

Every penalty for death can be toggled individually:

``` /function no_free_deaths:cmd/toggle_drop_xp /function no_free_deaths:cmd/toggle_curse_of_vanishing /function no_free_deaths:cmd/toggle_respawn_hunger_penalty

NOT ENABLED BY DEFAULT /function no_free_deaths:cmd/toggle_respawn_health_penalty ```

The percentage of levels lost on death is set automatically when the data pack is loaded and will not be changed unless it is manually updated. It's a bit verbose, but can be changed to a custom amount e.g. `90` to lose 90% of levels.

``` /scoreboard players set .drop_percentage no_free_deaths.drop_xp.settings 90 ```

Instead of dropping a portion of your XP, you can run the following command to toggle dropping as many experience points as it would take to get you from 0 levels to your current level. Enabling "drop XP in full" means players will always drop all their XP, but it can be entirely recovered.

``` /function no_free_deaths:cmd/toggle_drop_xp_in_full ```

This data pack enables `keepInventory` the first time it is loaded. If `keepInventory` is disabled after that, it will not be re-enabled on load.

ADS