Multi Currency, Item-free creating, FabledSkyblock support, New API, Bug fixes and Optimizations
BACKUP! This is a feature update and may break some things!
4.0.7 Feature Update - Multi Currency
=============================================
In this update, we're added the Multi-Currency feature to QuickShop.
Players can use different currency trade with shops. To use this feature, you must have the Multi-Currency Economy plugin installed. For now, we support GemsEconomy and TheNewEconomy. You can switch from Vault to them in config.yml!
We also fixed some bugs and do some works on it to improve the stability, Enjoy the update
New stuff:
1. Multi-Currency feature.
2. Make /qs amount command working under Adventure game mode.
3. Improve /qs create and it now create shops using `/qs create <price>` and `/qs create <price> <item>`; Example: To create a diamond shop you can type `/qs create 100 diamond`. It has language support that means you can use some like `/qs create 100 钻石`.
4. Added FabledSkyblock Integration. (Thanks
DoctaEnkoda)
5. /qs paste now supports `-file` arg to create a paste to a local drive.
6. New EnvironmentChecker, faster and stable than the old one.
7. New ExtraManager API to allow you to use ExtraAPI like BukkitConfiguration API.
8. New EconomyTransaction callback and event before commit.
Fixes:
1. Player can create shops use ShulkerBox and buying it to put ShulkerBox into another ShulkerBox.
2. QuickShop always turns `disable-move-event` off even protection disabled or no shops in the world.
3. /qs paste command doesn't work.
4. Small memory leaking from updater.
5. The async calling sync method only issue from integration.
6. Cannot download require file errors under the English language.
7. DisplayItem still appears even shop has been deleted when the auto-despawn feature enabled.
8. Strange SLF4J warning in the console.
9. Possibility memory leaking when auto-despawn on.
Optimize:
1. Rewritten GameLanguage and MojangAPI utils to optimize boot speed. Because old one keeping download files when rebooting every time.
2. Optimized some code logic to use a more stable and faster API.
3. Use Logger#log to print errors with reason to make it clear.
4. Optimized some API in ContainerShop general to prevent useless Bukkit API call.
5. Reuse some objects to prevent waste resources.
Off-topic:
We're collecting data to allows analysis of the performance of QuickShop.
If you want to help us to improve the performance of QuickShop,
please join our discord server and go #quickshop-optimization channel.
Any data like Timings, Spark report and something else about performance is welcome
