Sueta

XP Bottler

3.0.0

Bottle your XP to save or sell in the shop!

·Plugin
Tested MC versions
26.3



Ever wanted a way to stash away some XP before going on an adventure, or into a PvP battle?

Craft an XP Flask and carry your experience with you. Pour XP in, drink it back out, and never lose a level to a bad fight again.

Need to trade or stockpile? Turn your levels into XP bottles with one command, then store them or sell them in any in-game shop, or economy.

Supports Minecraft 26.3+

  • One command: /xpb bottles all of your current XP.
  • Every bottle remembers its XP: changing the config never affects bottles that already exist.
  • Shop-ready: bottles are regular items, so you can sell them in any shop plugin.
  • Optional glass bottle cost: require players to bring empty glass bottles.
  • Craftable XP Flask: store a configurable amount of XP in a single item. Shift + right-click to deposit, drink to withdraw.
  • Nothing gets lost: bottles that don't fit in your inventory drop at your feet.
  • Custom item model support: retexture the bottles with any resource pack.
  • Fully customizable: every message supports hex and legacy colors, and the bottling sound is configurable.

  • /xpb : converts your current XP levels into XP bottles.
  • /xpb give <player> [amount] [xp] : gives a player amount bottles holding xp experience each.
  • /xpb reload : reloads the config and messages.

  • xpbottler.use : use /xpb (everyone)
  • xpbottler.give : use /xpb give (op)



XP Flask

A reusable flask that holds up to a configurable max capacity of experience.

  • Shift + Right-click : deposit XP into the flask, one bottle's worth (xp-per-bottle) at a time.
  • Right-click (drink) : withdraw the same amount back out.

XPBottler doesn't ship with its own resource pack, but it has full support for custom item models.

Here's a free texture for the bottle if you'd like one!

Download the 16×16 texture

And one for the XP Flask:

Download the 16×16 flask texture

config.yml
# XPBottler Configuration
# which language to use for item names and lore.
# available options: en
# if you want more languages, provide me with the corresponding yaml file in your language.
lang: en
# How many XP points go into each bottle when a player runs /xpb.
# Every bottle remembers its own XP amount, so changing this value only
# affects bottles created from now on. Existing bottles keep their value.
xp-per-bottle: 50
# When enabled, /xpb consumes one empty glass bottle from the player's
# inventory for every XP bottle it creates. Players with no glass bottles
# can't bottle their XP, and players with fewer glass bottles than their
# XP allows only fill as many as they have glass for.
glass-bottle-cost: false
# Sound played to the player when they bottle their XP.
# Accepts Bukkit names like BLOCK_BREWING_STAND_BREW or vanilla keys like block.brewing_stand.brew
sound:
  enabled: true
  name: BLOCK_BREWING_STAND_BREW
  volume: 1.0
  pitch: 1.0
# plugin messaging
# You can use hex color codes like &#ff009d or minecraft color codes like &d
# Placeholders: {xp} is an XP amount, {bottles} is a bottle count, {player} is a player name,
# {s} is an "s" when {bottles} isn't 1 (for "bottle{s}")
messages:
  no-permission: "&cYou don't have permission to do that!"
  player-only: "&cThis command can only be run by a player."
  usage: "&cUsage: /xpb [give <player> [amount] [xp] | reload]"
  not-enough-xp: "&cYou need at least {xp} XP to fill a bottle!"
  no-glass: "&cYou need empty glass bottles to do that!"
  bottled: "&aBottled {xp} XP into {bottles} bottle{s}!"
  dropped: "&e{bottles} bottle{s} didn't fit and were dropped at your feet."
  gave: "&aGave {bottles} bottle{s} ({xp} XP each) to {player}."
  received: "&aYou received {bottles} XP bottle{s}!"
  player-not-found: "&cPlayer {player} is not online."
  reloaded: "&aXPBottler reloaded!"

Found a bug, have a suggestion, or want XPBottler in your language?
Join the Discord! Please don't use reviews for bug reports.

Similar projects

Plugin →