- Changed all dynamic price products's price-mode to ALL to avoid price does not refresh correctly when using buy more menu.
- Added forbid-click-outside option in menu options.
- Fixed player can drag item into self inventory by double click in some case.
- Added 1.20.6, 1.21 support.
- Added FoodComponent, ToolComponent and JukeboxPlayableComponent support in Item Format.
- By default, {status} placeholder will only display at shop GUI. You can change this at config.yml. (Premium version only)
- Updated default shop configs. (Thanks kingakis)
- Added fish shop.
- Added min-amount and max-amount option in dynamic price section.
- Force sell stick cooldown must greater than 5 tick to avoid sell sitck dupe issue. (Premium version only)
- Start from this version, UltimateShop bring you a new price type: static price.
- Now prices are divided into dynamic prices and static prices.
- If the amount option in the price configuration only contains numbers, we will automatically classify it as a static price.
- Static pricing will automatically disable some features that are only used for dynamic pricing, such as parsing PlaceholderAPI, mathematical calculations, etc., which can reduce some plugin performance consumption.
- The results of static pricing will be stored in memory, rather than automatically calculated every time purchased or selled.
- The concept of base price has been added to dynamic pricing.
- In dynamic pricing, you will use mathematical symbols and a large number of numbers. Starting from this version, the first number in dynamic pricing will be considered as the base price.
- The base price is only displayed and used in the placeholder, and it does not actually change the price of the product.
- The auto add lore feature now supports parsing PlaceholderAPI.
- Added {status} placeholder support in price config's amount option. (Premium version only)
- This placeholder will automatically compare with base price and current price and display different results based on the size relationship between the current price and the base price.
- This placeholder is very useful in dynamic pricing, as it can help players understand whether the current price has increased or decreased.
- This placeholder will display empty value for static price, so it will only work for static price.
- Added {compare_<num1>_<num2>} placeholder support anywhere in plugin.
- This placeholder will compare the 2 numbers and display different value based on the size relationship between 2 numbers.
- Added detection of protection plugins for sell stick. If the clicked container is protected, this sellling will not occur. (Premium version only)
- For the convenience of plugin usage, we added 3 automatically config changer for price config.
- Support automatically add discount placeholder in price amount option. Useful for people want to make discount placeholder working for all products.
- Support automatically add status placeholder in price placeholder option. Useful for people want to make all dynamic price display now status (up or down).
- Support automatically replace amount placeholder to other format in price placeholder option. Useful for people want to display formatted number in price (8000000 -> 8,000,000 or 80k -> 80000), require use some PlaceholderAPI expansions.
- For now, /shop sellall and /shop menu command are default to access to everyone, if you don't want this, simply use LuckPerms and give default group -ultimateshop.sellall and -ultimateshop.menu permission.
- Some other unimportant modifications are no longer listed here. 1.21 is not tested for now but shouldn't have any problems since we never touch NMS in plugin codes!
- Renamed many option keys in config.yml, but, don't worry, your old config.yml can still fully supported in this version.
- Added infinite sell stick support. (Premium version only)
- Added sell stick cooldown feature. (Premium version only)
- Added tab complete support for /shop givesellstick command. (Premium version only)
- Fixed some wrong in default redstone shop config.
- Added {random-times_<ID> general placeholder, can display random placeholder refresh time. (Premium version only)
- Added {buy-price}, {sell-price} and {item-name} placeholder support in PlaceholderAPI extension.
