
Inventory Swap system between players
InventorySwap is a lightweight plugin that randomly rotates inventories between online players on a configurable timer. No databases, no bloat. Just chaos on a schedule.
Works great on SMP servers, events, or any gamemode where you want to keep players on their toes.
A countdown ticks in the action bar for every player on the server. When it hits zero, inventories rotate — armor, items, offhand included. Players get a title announcement and a sound cue. The timer resets and starts again.
All commands require the inventoryswap.admin permission.
| Command | Description |
|---|---|
/invswap interval <seconds> |
Set how often the swap triggers |
/invswap minplayers <n> |
Minimum online players needed to swap |
/invswap pause |
Freeze the timer without resetting it |
/invswap resume |
Resume from where it left off |
/invswap bypass |
Toggle swap immunity for yourself |
/invswap lang <en|es> |
Switch between English and Spanish |
/invswap reload |
Reload config and restart the timer |
/invswap help |
Show command list in-game |
| Node | Default | Description |
|---|---|---|
inventoryswap.admin |
OP | Full access to all commands |
inventoryswap.use |
Everyone | Eligible to participate in swaps |
inventoryswap.bypass |
Nobody | Immune to swaps entirely |
Players without
inventoryswap.useare silently excluded from the rotation.inventoryswap.bypassis separate — useful for staff who want to stay opt-out by default.
# config.yml
swap-interval: 300 # seconds between each swap (default: 5 minutes)
min-players: 2 # won't swap if fewer players are online
language: en # en | es
If there aren't enough eligible players when the timer fires, the swap is skipped silently and the timer resets normally.
Both en.yml and es.yml are generated in the plugin folder on first run. Every message, action bar text, title and subtitle is editable. Changes apply on /invswap reload.
plugins/InventorySwap/
├── config.yml
└── lang/
├── en.yml
└── es.yml