Fix for where plugin would not have loaded in when small portion of it can't be used due to unsupported minecraft version, now it should properly engage with limited usage. This limited usage is just merchant exp bottle trading handling not being enabled
Fix for plugin not wanting to load on the latests 1.20.6 server builds due to incorrect version detection even tho it supports 1.20.5+ servers. Now we will be using more robust method for this.
Fix for an issue with /bottle get max command causing lag in case you have quite a bit of exp to be converted, now its hard limited to one full inventory
Fix for error on paper 1.20.4 servers when trying to disable villager exp trading
Added option to define how many bottles you want to get with /bottle store command. For example /bottle store 1000 64 will give you 63 bottle 15 exp each and one with 55, which means that you are getting desired amount of bottles with exp spread out across those as evenly as possible.
Added new command /bottle consume [amount/all] to use up exp bottles from your main hand. So now you can consume entire stack in one go without a need to drop it. This is not accessible by default and players will need bottledexp.command.consume permission node
Improved support for unsupported versions. Which means that now if plugin is running on a version which is not fully supported we will allow it to run, just with limited capabilities. This at the moment only effects villager traders actual trades if this feature is used.
Fix for error message in 1.18.2 servers relating to villager exp bottle trade disable
Fix for error message in 1.18.1 servers, similarly relating to exp bottle trade with villagers
Adjusted default xpEarn value from 10 to 8, so that by default there will be 20% loss in exp conversions. This wont have any effect if you already have config file setup, its more for the new server to minimize chances in having exploits where another plugin would add small amount of exp or give a chance to double gained exp in general. You can always adjust this value on your own to fit your own needs.
Small change for locale relating to stored exp in bottles. Lore line got hard reset as now its more properly handles variables and is more convenient if you want more control over it. Additionally added option to use [level] as variable to include levels stored in that bottle. Keep in mind that level is calculated from level 0, so this doesn't mean that in case you already have 10 levels that bottle will give you shown amount of levels. Additionally, you can use \n in lore to add new text lines
Now when using /bottle store command and you don't have enough free space we will drop exp bottle on the ground
Now when using /bottle get command we no longer perform refund action if you don't have enough free space but we will simply drop items on the ground
Fixed villager exp bottle trading prevention for 1.17 servers
Added some fail-safe when defining xpCost which should never be lower than xpEarn as in case it is, you will have a way to create more exp with each use. Now it's hard limited to xpEarn if it's higher than it then the informational message will be shown in the console indicating about this issue in your config file
Now /bottle get command supports player name like /bottle get 10 Zrips you will need to have bottledexp.command.get.others to be able to use it
Added more accurate messages when using /bottle get max to indicate more clearly which criteria are missing
Small change where now in case we don't have enough money to get all desired bottles we ordered we will give max amount we can by a set price for each one. So "no money" should in general only appear when you don't have enough money to get a single bottle.
Fix for /bottle store max not working as it should
Now we will be using more secure (thanks to cmilib) way to store information about stored exp inside item. Old bottled exp bottles will still work, but we will start fading them out.
Fix for misleading message appearing when using incorrect command format like /bottle store without any variables and you got message informing about /bottle get
As of 3.0.0.0 version we are transitioning into
CMILib usage. So you will need 1.0.2.2 or newer
CMILib version to properly run this plugin. This is to make one centralized place for most used things and avoid reusing same code across multiple plugins. Due to this plugin size went down from 318KB to 150KB.
Fixing issue where exp bottled with stored exp in them would not result in defined amount if they have been thrown out with dispenser. Now it should properly drop out stored exp.
Added new command as /bottle store [exp/levelL/max] which will put defined amount of exp into bottle. You can ether define particular exp amount (357), define level amount (12L) or use max to put everything you have into one bottle. Amount put into bottle will directly depend on your xpEarn and xpCost settings, so in case you have xpCost set to 10 and xpEarn set to 9, then trying to store 1000 exp you will loose 1000 but you will only store 900 due to exchange price.
Updated config file to accept material names instead of id's. Keep in mind that some fields got hard reset to force out new format and to change section name to be more accurate what its asking. In example HandItemId was changed into HandItemMaterial
Changed look of blocks.yml file which now will be allot more compact
Some fixes related to block interactions
Some remakes on how we are handling config files to be more up to date.
Couple small fixes ad adjustments to address reported issues. This includes recipe creation deprecated method fixes, CraftExpContainer fix and couple other small things.
Added option to define custom block for exp exchange with one simple command /bottle eblock, you need to be looking at it. Same command removes it. This will allow to define one or more blocks to be used for exchanging current exp into exp bottles. Same as similar feature which one allowed to use particular block id for exchange. This will limit to particular block in world.
Did full plugin recode, just some base code staid same or changed/fixed little bit to be more professional
Changed entirely how commands are processed
Changed how locale file are processed, so now you can have separate files for different locale
Put recipes into separate file
Config file rewamp. In general your old configuration should stay same. Now there will be nice comments before each line to give some basic info what it does
Changed command from /bottle [amount] to /bottle get [amount], this is because now by typing /bottle will give command list with explanations how to use them
added option to craft custom exp bottles with custom exp in them. Currently you will need to put glass bottle into crafting station and you will get option to craft bottle containing all of your current exp. After crafting you can consume it by right clicking it while it in quick bar. (this was requested as new feature)
Added experimental option to disable trading exp bottles with villagers. tested on 1.8.8, worked fine, need some testing on older version. Use with with your own risk.
Ok, added additional permission node for interacting with block without interfering what permissions player has for command side. So now you can just negate bottle.use permission and give bottle.interact (by default its already is given) and player can only interact with block, but no access to commands. Still planing about 100% rewrite of this plugin tho, but not today
Added possibility to make your own exp bottle crafting recipes (you can use even for different thinks, its supports amount, meta data, shaped or shapeless recipes)
Added option to exchange exp by interacting (default left click) with block (default enchanting table) by holding item in hand (default empty bottle) and getting specific amount of bottles back (default 1). Possibility to use shift and get multiplied amount (default 10x) for faster conversion
Added some comments in config file just to explain what's where
Added new command /bottle give [nick] [amount], you can disable this entirely or give permissions for some peps. You can setup how much exp will be lost during transfer in percentage. By default its turned off.
Added new permission bottle.give
Added locale for give command
If you gonna found any issues, bugs or you have ides, plz inform me
Once again... Dam you Mojang!!! Remade base xp calculation, so now its always shows accurate numbers (more or less still like +-1 xp to side)
With previous fix, fixed anvil BUG, so its crucial update to this version!
Added beta version of messages output you are getting after enchantments (shows all enchantments you just got) by default its false, so just turn it on and test
Ok, firs some code cleaning, nothing special, just to look more clean
Moved some calculations to another class, again more clean looking ^.^
And finally added support for variables in locale, so now its easy to change
And one more think, there is more info after using /bottle command, now you can see your level (not so useful but why not ), you can see how much xp you need until next level and how many bottles
Again, you will need to
reset your config file, sorry for this ^.^
Fixed message saying how much you spend on enchant, now its correct number ^.^
Remade xp calculation for enchantments, now its 99.9% accurate by vanilla standards (that 0.1% is like 2-3xp from around 20k to one or another side, not a big deal )