partialkeepinv
PluginMIT

partialkeepinv

Keeps shulker boxes, container items (ender chests, bundles) and all non-stackable gear (tools, weapons, armour, elytra, etc.) on death while everything else drops normally. Adds configurable 1–5 level XP loss and light armour durability damage on each dea

80
Downloads
1
Followers
3 months ago
Updated
📦
3
Versions

📖About partialkeepinv

partialkeepinv

Partial Keep Inventory introduces a softer alternative to /gamerule keepInventory for Paper 1.21.x servers (tested on 1.21.11).
Instead of keeping everything or dropping everything, it selectively protects valuable items while still punishing deaths.

Core features

  • Selective item keeping

    • Keeps all shulker boxes (any colour).
    • Keeps all non-stackable items – tools, weapons, armour, elytra, etc. (anything with max stack size 1).
    • Keeps extra container-like items such as ender chests and bundles (and anything else you add to the whitelist in config.yml).
    • All other items (blocks, food, stackables) drop normally on death.
  • Inventory position preserved

    • Kept items are restored to their original inventory slots (hotbar and main inventory).
    • Off-hand item is restored to the off-hand slot when possible.
    • If a slot is already occupied (because of other plugins or edge cases), the item is added to the inventory and dropped at the player’s feet if there’s no space.
  • Armour handling

    • Armour is kept and re-equipped automatically on respawn.
    • Each death applies extra durability damage to each worn armour piece (default ~3% of max durability, configurable).
    • Items won’t be instantly destroyed by the death penalty (at least 1 durability is preserved).
  • XP penalty

    • On every death the player loses a configurable number of XP levels (default 1–5, never below level 0).
    • No XP orbs are dropped; the plugin directly sets the new level on respawn.

Configuration

  • keep.shulkers, keep.non_stackable_items, keep.containers – toggle what types of items are protected.
  • containers.material_whitelist – list extra container-like materials to always keep (default: ENDER_CHEST, BUNDLE).
  • xp_loss.enabled, xp_loss.min_levels, xp_loss.max_levels – control how many levels are lost on death.
  • armor_damage.enabled, armor_damage.percent – control whether and how much armour durability is lost per death.

Requirements

  • Server: Paper 1.21.11+ (should work on other 1.21.x builds).
  • Java: 21+
  • Make sure in each relevant world:
    /gamerule keepInventory false