
KeepInventoryShop
Buy Lives, Preserve Loot: KeepInventoryShop
Автор: oMrSnow2232обновлён 26 июн. 2026 г.
ЭкономикаМеханики игрыУтилиты
Описание

KeepInventoryShop
The ultimate solution for balancing the vanilla Minecraft survival experience with player convenience. Some players prefer the authentic survival aspect where /gamerule keepInventory is false, but this can be punishing for less experienced players who struggle with losing their hard-earned items. KeepInventoryShop bridges that gap!
Key Features:
- Balance and Authenticity: Preserve the vanilla experience with keepInventory set to false while eliminating the frustration of lost drops.
- Player Convenience: Empower players of all skill levels with the ability to purchase or earn KeepInventory lives, ensuring their valuable items are always protected.
- Elevate Your Gameplay: Add an exhilarating layer of strategic resource management where players protect their inventory and stay in control of their survival.
- KeepTotem Upgrades: Upgrade normal lives to KeepTotem lives. When you would die, you're saved with full health, potion effects, and a flashy totem animation!
- Multi-Currency Support: Players can pay with server economy, emeralds, or XP levels. Server owners configure exchange rates in the config, and players select their preferred currency in the GUI.
- Play-Time Timer System: Reward active players with free lives after a configurable amount of play time. Timer pauses on disconnect and resumes when they rejoin.
- Interactive GUI Shop: Beautiful inventory-based menus for buying lives, upgrading to KeepTotem, and admin management. No commands needed!
- Fully Customizable Messages:
Every player-facing message can be customized via
messages.ymlwith full color code support and placeholders. - Smart Totem Detection: KeepTotem respects real Totems of Undying. If you're holding one, it activates first before consuming KeepTotem lives.
- Gamerule Aware:
If the
keepInventorygamerule is enabled, the plugin won't waste your lives. Vanilla handles it automatically. - Customization at its Finest: Fine-tune initial lives, costs, timer duration, currency values, messages, and more for a tailored gameplay experience.

Dependencies:
- Required: Vault, Economy Plugin (EssentialsX, CMI, or any Vault-compatible economy)
- Optional: WorldGuard, PlaceholderAPI, ProtocolLib
Configuration:
config.yml
initial-lives: Lives players receive when joining for the first time.use-timer: Enable/disable the play-time timer.timer-lives: Lives awarded when the timer fires.timer-duration: Seconds of play time before awarding lives.cost-per-life: Cost of a single KeepInventory life (in money).cost-per-upgrade: Cost of a single KeepTotem upgrade (in money).use-region: Enable WorldGuard region support.
Alternative Currency Options:
allow-emerald-payment: Allow players to pay with emeralds (true/false).allow-xp-payment: Allow players to pay with XP levels (true/false).emerald-value: How much money 1 emerald is worth (e.g., 100 means 1 emerald = $100).xp-level-value: How much money 1 XP level is worth (e.g., 50 means 1 level = $50).
messages.yml
Customize all player-facing messages with color codes (&a, &c, &d, etc.) and placeholders:
{amount}- number of lives{lives}- "life" or "lives"{player}- player name{cost}- formatted cost{balance}- player's balance{remaining}- remaining lives{time}- formatted time
Commands:
- /keepinventory or /ki: Opens the GUI shop.
- /keepinventory lives [player]: View your lives or another player's.
- /keepinventory buy <amount>: Buy lives via command.
- /keepinventory upgrade <amount>: Upgrade lives to KeepTotem.
- /keepinventory set <player> <amount>: Set a player's lives.
- /keepinventory add <player> <amount>: Add lives to a player.
- /keepinventory remove <player> <amount>: Remove lives from a player.
- /keepinventory help: Show help.
- /keepinventory reload: Reload configuration and messages.
Permissions:
- keepinventoryshop.set: Set lives for others. Default: OP
- keepinventoryshop.add: Add lives to others. Default: OP
- keepinventoryshop.remove: Remove lives from others. Default: OP
- keepinventoryshop.view.others: View other players' lives. Default: OP
- keepinventoryshop.reload: Reload configuration. Default: OP
- keepinventoryshop.limit.<number>: Cap normal lives for a permission group.
- keepinventoryshop.limitupgraded.<number>: Cap upgraded lives for a permission group.
Placeholders:
%keepinventoryshop_lives%%keepinventoryshop_upgradedlives%
WorldGuard Support:
Create a region named keep_inventory_zone to grant free KeepInventory protection within that area:
/region define keep_inventory_zone
Discover the perfect harmony between survival and convenience. Download KeepInventoryShop and empower your community to safeguard their inventory!

Галерея
Последние версии
Все версии →release
KeepInventoryShop 3.1.0
3.1.026 июн. 2026 г.54Minecraft: 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Что нового
## KeepInventoryShop v3.1.0 — Minecraft 26.x Support
KeepInventoryShop is now updated for Minecraft's new versioning era! Mojang switched
to the `year.drop` scheme (26.1, 26.2, …), and this release brings full compatibility
with the latest server versions. No gameplay changes — everything works exactly as before.
### ⚠️ Server Requirements (Important!)
* **Java 25** is now required (Minecraft 26.x mandates it)
* Minecraft **26.1 or newer**
* **Vault** + a Vault-compatible economy plugin (EssentialsX, CMI, etc.) — use 26.x builds
### Compatibility
* Rebuilt against the Minecraft 26.1 API
* Loads on **26.1, 26.1.2, and 26.2+**
* No longer compatible with 1.21.x — keep **v3.0.3** for those servers
### Technical Changes
* Updated Spigot API from `1.21.4` to `26.1.2`
* Updated `api-version` to `26.1`
* Raised Java target from 21 to 25
* Streamlined the build (removed the unused shade step) for a cleaner jar
* Configs, messages, and player data are unchanged — no migration needed
### Full Compatibility: Minecraft 26.1 - 26.2
beta
KeepInventoryShop v3.0.3
3.0.310 февр. 2026 г.105Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
# KeepInventoryShop v3.0.3
**Bug Fixes & Compatibility Improvements**
- **Fixed KeepTotem not saving players** — KeepTotem now works reliably even when other plugins or datapacks handle damage on the server.
- **Fixed instant re-death after using a KeepInventory life** — Players no longer die again immediately after respawning when other plugins or datapacks are present.
- **Improved plugin compatibility** — KeepInventoryShop now takes priority over other plugins that interfere with death and damage handling, while still respecting the vanilla `keepInventory` gamerule.
- **Added respawn protection** — After a KeepInventory death, players receive a brief window of invulnerability on respawn to prevent conflicts with other server content.
beta
KeepInventoryShop v3.0.2
3.0.26 февр. 2026 г.22Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
# KeepInventoryShop v3.0.2 Changelog
## New Features
### Multi-Currency Support
Players can now pay for lives and upgrades using three different currencies:
- **Server Economy** (default): Uses your Vault-compatible economy plugin
- **Emeralds**: Pay with emeralds from your inventory
- **XP Levels**: Pay with experience levels
**How it works:**
- In the Buy Lives and Upgrade GUIs, the top row now shows currency selector buttons
- Click a currency to switch to it (selected currency is highlighted)
- The cart and confirm button automatically update to show costs in your selected currency
- Costs are calculated relative to the money price using configurable exchange rates
**New Config Options:**
```yaml
# Allow players to pay with emeralds instead of money
allow-emerald-payment: true
# Allow players to pay with XP levels instead of money
allow-xp-payment: true
# How much money 1 emerald is worth
# Example: If emerald-value is 100 and cost-per-life is 500, one life costs 5 emeralds
emerald-value: 100
# How much money 1 XP level is worth
# Example: If xp-level-value is 50 and cost-per-life is 500, one life costs 10 XP levels
xp-level-value: 50
```
Server owners can disable either alternative currency by setting `allow-emerald-payment: false` or `allow-xp-payment: false`.
## Bug Fixes
### Admin GUI Reload Button
- Fixed the reload button in the Admin Panel not working
- The reload button now properly reloads both `config.yml` and `messages.yml`
- Shows confirmation message after reload
## Technical Changes
- Updated Buy and Upgrade GUIs to 54-slot layout (6 rows) to accommodate currency selector
- Added currency selection persistence per player session
- Added helper methods for currency conversion, balance checking, and withdrawals
- Dynamic slot calculation for Admin GUI to support variable inventory sizes
---
**Full Compatibility**: Minecraft 1.21.0 - 1.21.11
beta
KeepInventoryShop v3.0.1
3.0.16 февр. 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
# KeepInventoryShop v3.0.1 Changelog
## Bug Fixes
### End Void Death Fix
- **Fixed**: KeepTotem now properly respects real Totems of Undying in The End
- If you have a real totem in your main hand or offhand, it will activate first (vanilla behavior)
- KeepTotem lives are only consumed when no real totem is present
- **Fixed**: Double life consumption when dying to void damage in The End
- Previously, falling into the void could consume both a KeepTotem life AND a normal life
- Now only one life is consumed per death as intended
- **Fixed**: Gamerule detection - if `keepInventory` gamerule is set to `true`, the plugin will not consume any lives (vanilla already handles it)
## New Features
### Custom Messages (messages.yml)
- All player-facing messages are now fully customizable via `messages.yml`
- Supports color codes using `&` (e.g., `&a` for green, `&c` for red, `&d` for light purple)
- Placeholder support for dynamic values:
- `{amount}` - number of lives
- `{lives}` - "life" or "lives" (grammatically correct)
- `{player}` - player name
- `{cost}` - formatted cost
- `{balance}` - player's balance
- `{limit}` - life limit
- `{time}` - formatted time
- `{remaining}` - remaining lives
- Use `/ki reload` to reload messages without restarting the server
### Config Comments Preserved
- Comments in `config.yml` are now preserved when the server starts
- Previously, all comments were stripped on first load
### bStats Integration
- Added bStats metrics for anonymous usage statistics
- View stats at: https://bstats.org/plugin/bukkit/KeepInventoryShop/29348
## Technical Changes
- Added `EntityResurrectEvent` listener to detect vanilla totem activation
- Added real totem detection before consuming KeepTotem lives
- Added double-consumption prevention using UUID tracking
- Switched from `copyDefaults()` to `saveResource()` for config loading
- Added `reloadPluginConfig()` method for hot-reloading both configs
---
# **Full Compatibility**: Minecraft 1.21.0 - 1.21.11
beta
KeepInventoryShop v3.0.0
3.0.04 февр. 2026 г.21Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
# **KeepInventoryShop Changelog**
---
## v3.0.0
### Timer System - Complete Rework
- **Removed**: Old broken `lives-on-join` / `include-lives-on-join` / `join-timer` system
- **Added**: New accurate play-time-based timer system
- Timer counts actual seconds of online play (ticks every 20 ticks = 1 second)
- Timer pauses when player disconnects
- Timer resumes from saved progress when player rejoins
- Progress saved to `playerdata.yml` under `timerAccumulated`
- Server shutdown properly saves all timer progress
- **New Config Options**:
- `use-timer`: Enable/disable the timer system
- `timer-lives`: How many lives to award when timer fires
- `timer-duration`: Seconds of play time required
### ProtocolLib Integration
- **Added**: Optional ProtocolLib detection at startup
- **Added**: Enhanced particle effects when ProtocolLib is present
- **Added**: Graceful fallback to standard Bukkit `Particle.DUST` when ProtocolLib is absent
- **Fixed**: Zero compile-time dependency on ProtocolLib (uses pure reflection)
- **Added**: ProtocolLib to `softdepend` in plugin.yml
### Totem Animation
- **Added**: `CustomSwirlingTask` class for animated floating totem effect
- **Features**: Invisible ArmorStand with Totem of Undying helmet
- **Features**: Follows player's look direction with gentle sine-wave wiggle
- **Features**: Floats upward and disappears after 5 seconds
- **Features**: Purple/white particle burst on activation
- **Features**: Plays `ITEM_TOTEM_USE` sound
- **Fixed**: Totem now faces directly at the player (corrected yaw calculation)
- **Fixed**: Head pose set to level instead of incorrect upward tilt
### Economy Security
- **Fixed**: Negative balance exploit in `/ki buy` command
- **Fixed**: Negative balance exploit in `/ki upgrade` command
- **Added**: Explicit `getBalance()` check before `withdrawPlayer()` calls
- **Added**: Clear error messages showing exact shortage amount
### Extended Potion Effects (KeepTotem)
- Regeneration IV: 200 → 400 ticks (10s → 20s)
- Absorption IV: 150 → 300 ticks (7.5s → 15s)
- Resistance I: 150 → 300 ticks (7.5s → 15s)
- Fire Resistance I: 200 → 400 ticks (10s → 20s)
### Version Compatibility
- **Target**: Minecraft 1.21 - 1.21.11
- `api-version: '1.21'` in plugin.yml provides forward compatibility
### GUI System - Complete Implementation
- **Added**: `KIMainGui` - Main menu with Buy, Upgrade, View Lives, Help, Admin Panel options
- **Added**: `KIBuyGui` - Cart-based purchase system for buying lives
- **Added**: `KIUpgradeGui` - Cart-based upgrade system for converting lives to KeepTotem
- **Added**: `KIAdminGui` - Player list for administrators
- **Added**: `KIAdminPlayerGui` - Per-player management (add/remove/reset lives)
- **Added**: `KIGuiListener` - Handles all GUI interactions
### Cart/Confirm Purchase System
- **Added**: Pending cart amount tracked per player
- **Added**: +1/+5/+10 buttons to add to cart
- **Added**: -1/-5/-10 buttons to remove from cart (not from owned lives)
- **Added**: Center display showing cart contents and total cost
- **Added**: Confirm button with affordability check
- **Added**: Clear shortage messages when cannot afford
- **Added**: Cart state cleared on inventory close
### GUI Features
- Sound feedback for navigation, success, and failure actions
- Balance display in status items
- Permission-based admin panel access
- Real-time GUI refresh after transactions
### Main GUI Enhancement
- **Added**: Balance display to status item
- **Added**: Economy formatted balance below lives count

