XpBottle
PluginLicenseRef-All-Rights-Reserved

XpBottle

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

401
Downloads
1
Followers
1 months ago
Updated
📦
7
Versions

📖About XpBottle

Features

XpBottle
Paper
Java
Discord

✨ 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

📋 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

Perms

🔒 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

🔖 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

Configs

⚙️ 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

🔗 Integrations

  • ItemsAdder — Enable use-itemsadder: true to use a custom item instead of the vanilla bottle
  • MySQL — Switch database.type to mysql and fill in your credentials for multi-server setups