Experience Bottle
2.0-SNAPSHOTSave your Experience Points into bottles to save, sell or trade.


- Simple Setup: Simply drop Experience Bottle into your Plugins folder, and you're finished! Experience Bottle is also compatible with all versions of Spigot.
- Efficient: Experience Bottle has been optimized to prevent unnecessary stress to your server. It won't affect your server's performance in any way.
- Customizable: Experience Bottle allows as much customization as we possibly can allow.

- /xpbottle help - Displays the help page.
- /xpbottle <amount> - Withdraws <amount> into a exp bottle.
- /xpbottle all - Withdraws all the users exp points into a exp bottle.
- /xpbottle give <player> <amount> [signer] - Gives a user a exp bottle with the <amount> amount.
- /xpbottle giveall <amount> [signer] - Sends the whole server a exp bottle with the <amount> amount
- /xpbottle giverd <player> <min> <max> [signer] - Gives a user a exp bottle with a random signed exp bottle amount.
- /xpbottle giveallrd <min> <max> [signer] - Sends the whole server a random signed exp bottle amount.
- /xpbottle clear [player] - Removes the users EXP exhaustion.
- /xpbottle reload - Reloads experience bottle config.yml and lang.yml files.
- Aliases: /exp

- xpbottle.admin - This will allow a player to have permission to all commands available.
- xpbottle.help - This will allow a player to execute the command /xpbottle help.
- xpbottle.use - This will allow a player to execute the command /xpbottle <amount>.
- xpbottle.use.all - This will allow a player to execute the command /xpbottle all.
- xpbottle.cooldown.remove - This will allow a player to execute the command /xpbottle clear.
- xpbottle.give - This will allow a player to execute the command /xpbottle give.
- xpbottle.give.all - This will allow a player to execute the command /xpbottle giveall.
- xpbottle.give.random - This will allow a player to execute the command /xpbottle giverd.
- xpbottle.give.all.random - This will allow a player to execute the command /xpbottle giveallrd.
- xpbottle.cooldown.bypass - This will allow a player to bypass the cooldown settings.

config.yml
##########################################################################################
# ______ _ ____ __ __ __ #
# / ____/ ______ ___ _____(_)__ ____ ________ / __ )____ / /_/ /_/ /__ #
# / __/ | |/_/ __ \/ _ \/ ___/ / _ \/ __ \/ ___/ _ \ / __ / __ \/ __/ __/ / _ \ #
# / /____> </ /_/ / __/ / / / __/ / / / /__/ __/ / /_/ / /_/ / /_/ /_/ / __/ #
# /_____/_/|_/ .___/\___/_/ /_/\___/_/ /_/\___/\___/ /_____/\____/\__/\__/_/\___/ #
# /_/ by Ryuji(Ryu) #
##########################################################################################
settings:
# This is the min amount a player may withdraw at a time.
min-withdrawal-amount: 25
# This is the max amount a player may withdraw at a time.
max-withdrawal-amount: 100000
# This would be the Signer of the banknote in the give or giveall command
# if you don't provide a signer in the command
default-signer: 'Console'
# This would allow you to claim a stack of xpbottles all at once and it would
# calculate all of them together for a grand total.
claim-all: true
# This would allow you to combine xpbottles together to make it all into one
# like shown here: https://gyazo.com/0368d6e52e22fc96e2706f951bd85033
xpbottle-combination: false
# This is the sound effect when a player combines a xpbottle.
# Note: Please use a valid sound effect for the version of minecraft.
# Servers Running 1.9 & Above: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
# Servers Running 1.7 or 1.8: http://docs.codelanx.com/Bukkit/1.8/org/bukkit/Sound.html
combination-sound:
sound: 'ANVIL_USE'
enable: false
# This is the sound effect when a player withdraws a banknote.
# Note: Please use a valid sound effect for the version of Minecraft.
# Servers Running 1.9 & Above: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
# Servers Running 1.7 or 1.8: http://docs.codelanx.com/Bukkit/1.8/org/bukkit/Sound.html
withdrawal-sound:
sound: 'ORB_PICKUP'
enable: false
# This is the sound effect for when a player redeems a banknote.
# Note: Please use a valid sound effect for the version of Minecraft.
# Servers Running 1.9 & Above: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
# Servers Running 1.7 or 1.8: http://docs.codelanx.com/Bukkit/1.8/org/bukkit/Sound.html
redeem-sound:
sound: 'GLASS'
enable: false
#-----------------------------------------------------------#
# - enable: Allows you to enable or disable cool-downs. #
# - default-time: is the default cool-down time given to #
# users that don't have any of the permissions. #
# - disable-teleportation: Allows you to enable or disable #
# users from teleporting while in cool-down. #
# - coolcown-task: Contains all your cool-downs with the #
# permission and cool-down time for that permission. #
# - time-format: Allows you to change the formatting of the #
# time placeholders in the lang.yml. #
# fixed-time = {fixed_time} #
# formatted-time = {formatted_time} #
#-----------------------------------------------------------#
cooldown-settings:
enable: true
default-time: 1020
disable-teleportation: true
cooldown-task:
default-rank:
permission: 'xpbottle.use.cooldown.default'
duration: 1020
donator-rank:
permission: 'xpbottle.use.cooldown.donator'
duration: 780
time-format:
fixed-time:
day: ' day(s)'
hour: ' hour(s)'
minute: ' minute(s)'
second: ' second(s)'
formatted-time:
day: 'd'
hour: 'h'
minute: 'm'
second: 's'
#-----------------------------------------------------------#
# - enable: Allows you to enable or disable death penalty. #
# - no-exp-drop-perm: Is the permission given to a user #
# that wouldn't lose/drop their experience. #
# - use-custom-item: Uses the item [xpbottle-on-death-item] #
# for when a user gets killed. #
# - enable-drop-percentage: Allows you to enable or #
# disable whether or not a users full experience will drop.#
# - drop-percentage: Is the set percentage of experience of #
# the users experience will drop. #
# - random-drop-percentage: Allows you to enable or disable #
# weather or not to use the drop-percentage or generate a #
# random percentage. #
# - min-max-random-percentage: Allows you to choose the min #
# & max for the random percentage that will be generated. #
#-----------------------------------------------------------#
xpbottle-on-death-settings:
enable: true
no-exp-drop-perm: 'xpbottle.keepexp'
use-custom-item: true
enable-drop-percentage: true
drop-percentage: 100
random-drop-percentage: true
min-max-random-percentage: false
minimum-percentage: 20
maximum-percentage: 90
#------------------------------------------------#
# - id: This is the id of the banknote item. #
# - name: This is the name of the banknote item. #
# - lore: This is the lore of the banknote item. #
# - glowing: This is a true or false statement #
# if true the item will be enchanted. #
# - amount-lore: This is where the {amount} is #
# located. #
#------------------------------------------------#
xpbottle-item:
id: 384
data: 0
name: '&a&lExperience Bottle &7(Throw)'
lore:
- '&dValue &f{amount} XP'
- '&dEnchanter &f{signer}'
glowing: false
amount-lore: 1
xpbottle-on-death-item:
id: 384
data: 0
name: '&a&lExp Bottle &7(Throw)'
lore:
- '&dValue &f{amount} XP'
- '&dEnchanter &f{player}'
- ' '
- '&7&o{killer} &7has killed&o {player}'
- '&7to obtain this exp bottle!'
glowing: false
amount-lore: 1lang.yml
XPBOTTLE-DEFAULT:
usage-message:
- '&e/xpbottle <amount>'
- '&7Converts <amount> xp into bottle form.'
- '&7Use &e/xp &7to view your current exp points.'
xpbottle-create:
- '&c&l- {amount} xp'
xpbottle-redeem:
- '&a&l+ {amount} xp'
xpbottlexpbottle-all:
- '&c&l- {amount} xp'
- '&aYou have successfully extracted all your exp!'
xpbottle-less-than-min:
- '&cYou must withdraw at least {min}XP points per bottle.'
xpbottle-more-than-max:
- '&cYou cannot withdraw more than {max}XP points per bottle.'
xpbottle-not-enough:
- '&cYou only have {exp} xp points to convert.'
- '&7View your exp values with /xp'
xpbottle-inventory-full:
- '&cYou do not have any inventory space.'
xpbottle-cooldown-messages:
after-extracting-experience:
- '&eYou are now afflicted with &nEXP Exhaustion&e for {fixed_time}.'
- '&eYou &ncannot&e use /xpbottle or teleport while EXP Exhausted.'
trying-to-run-command-again:
- '&c&l(!) &cYou cannot create another XP Bottle for {formatted_time}'
- '&7Upgrade your rank at &nbuy.webstore.com&7 to decrease this delay.'
trying-to-teleport:
- '&c&l(!) &cYou cannot teleport for {formatted_time} due to EXP exhaustion.'
- '&7Upgrade your rank at &nbuy.webstore.com&7 to decrease this delay.'
removed-self-from-cooldown:
- '&aYou have successfully removed yourself from the EXP exhaustion!'
removed-from-cooldown:
- '&aYou have successfully removed {target} from the EXP exhaustion!'
player-not-in-cooldown:
- '&c{target} is currently not EXP exhausted.'
xpbottle-reload:
- '&aXpBottle Reload Complete!'
xpbottle-no-perms:
- '&cYou don''t have permission for that command!'
xpbottle-invalid:
- '&cInvalid <amount> specified.'
XPBOTTLE-GIVEALL:
usage-message:
- '&cUsage: &7/xpbottle giveall <amount> [signer]'
sender-message:
- '&a&l(!) &aYou have successfully gave the whole server a exp bottle worth &f{amount} xp&a!'
receiver-message:
- '&aA &2$&f{amount} &aexp bottle has been added to your inventory from &e{sender}&a!'
receiver-inventory-full:
- '&e{sender} &ctried sending you a exp bottle worth &f{amount} &cbut seems like you had no space so it dropped down near your feet!'
XPBOTTLE-GIVE:
usage-message:
- '&cUsage: &7/xpbottle give <player> <amount> [signer]'
sender-message:
- '&a&l(!) &aYou have successfully gave &e&n{target}&a a exp bottle worth &f{amount} xp&a!'
receiver-message:
- '&aA &f{amount} &aexp bottle has been added to your inventory from &e{sender}&a!'
receiver-inventory-full:
- '&e{sender} &ctried sending you a exp bottle worth &f{amount} &cbut seems like you had no space so it dropped down near your feet!'
receiver-offline:
- '&c&l(!) &c{target} is currently not online.'
XPBOTTLE-GIVE-RANDOM:
usage-message:
- '&cUsage: &7/xpbottle giverd <player> <min> <max> [signer]'
min-greater-than-max:
- '&cYour minimum amount cannot be greater than the maximum!'
sender-message:
- '&a&l(!) &aYou have successfully gave &e&n{target}&a a random exp bottle amount&a!'
receiver-message:
- '&aA &f{amount} &aexp bottle has been added to your inventory from &e{sender}&a!'
receiver-inventory-full:
- '&e{sender} &ctried sending you a exp bottle worth &f{amount} &cbut seems like you had no space so it dropped down near your feet!'
receiver-offline:
- '&c&l(!) &c{target} is currently not online.'
XPBOTTLE-GIVEALL-RANDOM:
usage-message:
- '&cUsage: &7/xpbottle giveallrd <min> <max> [signer]'
min-greater-than-max:
- '&cYour minimum amount cannot be greater than the maximum!'
sender-message:
- '&a&l(!) &aYou have successfully gave the whole server a random exp bottle amount&a!'
receiver-message:
- '&aA &f{amount} &aexp bottle has been added to your inventory from &e{sender}&a!'
receiver-inventory-full:
- '&e{sender} &ctried sending you a exp bottle worth &f{amount} &cbut seems like you had no space so it dropped down near your feet!'
Your server running Experience Bottle?
Message me your IP Address and I'll add it!
- fallenmc.cubed.pro
- play.humblepie-mc.com
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
26.2MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.9MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
4.7MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta


