XpBottle
ModrinthSpigotMCXpBottle [1.16+] – Plugin that allows players to store and transfer XP using secure custom XP bottles, perfect for survival, PvP, RPG, and economy servers

✨ Features
- 🧪 XP Bottle Creation — Convert your XP into storable bottles via
/xpbottle <amount> - 🖱️ Easy Redemption — Right-click a bottle to instantly absorb its XP
- ⏳ Cooldown System — Configurable cooldown to prevent spam
- 🔐 Protected Bottles — Bottles are returned to the player on death instead of dropping
- 🎨 Customizable Bottles — Full control over material, name, lore, glow and hex colors
- 🔊 Sound Effects — Configurable sounds on withdraw and redeem
- 🗄️ Database Support — H2 (embedded) or MySQL via HikariCP
- 🔧 ItemsAdder Integration — Optional support for custom items
- 👑 Admin Commands — Give bottles to players and reload config
- 🌍 Configurable Messages — Full lang.yml with hex color & MiniMessage support

📋 Commands
| Command | Description | Permission |
|---|---|---|
| /xpbottle <amount> | Withdraw XP into a bottle | xpbottle.use |
| /xpbottle give <player> <amount> | Give XP bottle(s) to a player | xpbottle.give |
| /xpbottle reload | Reload the plugin configuration | xpbottle.reload |
| /xpbottle help | Display the help message | — |
| /xp | View your current level and total XP | xp.view |

🔒 Permissions
| Permission | Description | Default |
|---|---|---|
| xpbottle.use | Use /xpbottle to withdraw XP | true |
| xpbottle.give | Give bottles to other players | op |
| xpbottle.reload | Reload the configuration | op |
| xp.view | Use /xp to view level and XP | true |

🔖 Placeholders
| Placeholder | Description |
|---|---|
| %exp% | Amount of XP stored in the bottle |
| %signer% | Name of the player who created the bottle |
| %amount% | Number of bottles |
| %time% | Remaining cooldown time in seconds |
| %player% | Target player name |
| %level% | Player's current level |
| %xp% | Player's total XP |

⚙️ Configuration
database:
type: h2 # h2 or mysql
xpbottle:
min-exp: 50
max-exp: 1000000000
conversion-rate: 0.1 # 10% tax on withdrawal
cooldown: 10 # seconds
drop: false # drop bottle on ground instead of inventory
protected-bottles: true
bottle:
use-itemsadder: false
material: EXPERIENCE_BOTTLE
name: "#F2EC27&lʙᴏᴛᴛʟᴇ ᴅ'ᴇxᴘᴇʀɪᴇɴᴄᴇ"
lore:
- ""
- "&7xᴘ : &f%exp%"
- "&7ᴘʀᴏᴘʀɪᴇᴛᴀɪʀᴇ : &f%signer%"
- ""
- "#F2EC27ᴄʟɪᴄᴋ ᴅʀᴏɪᴛ &7| &7utiliser la bouteille"
glow: false
sound:
redeem:
sound: "ENTITY_PLAYER_LEVELUP"
enabled: true
withdraw:
sound: "ENTITY_COW_DEATH"
enabled: false

🔗 Integrations
- ItemsAdder — Enable
use-itemsadder: trueto use a custom item instead of the vanilla bottle - MySQL — Switch
database.typetomysqland fill in your credentials for multi-server setups
Versions
No version history available. Use the Download button to get the latest from the source.

Comments 0
No comments yet. Be the first to share your thoughts.