QuickShop-Hikari icon

QuickShop-Hikari 3.6.0.2

A shop plugin that allows players to easily sell/buy any items from a chest without any commands.

Page 1
3.6.0.2

3.6.0.2

Last update before 2023! Merry Christmas and Happy New Year!

Bug Fixes

  1. Fixed broken display-item-use-name.
  2. Fixed VirtualDisplayItem stuff won't reload on /qs reload command.
  3. Fixed Item Blacklist reloading doesn't work properly, it won't purge already registered entires.
  4. Fixed Adventure mode player shops clicking detecting.
3.6.0.0 - Plan Discount and more

3.6.0.0

Merry Christmas, everyone!
We brought a Christmas update from QuickShop Hikari! Don't worry, Santa Claus will put the update in your chimney.
Until it is blackened by smoke and becomes outdated.

Highlights

New addons Plan and Discount now joined QuickShop-Hikari addon's family!
Scroll down to read change logs about our addons!

208290345-2aa32f74-8c0a-4d27-9f69-b72a3ad605f4.png 208290346-d2e49e11-a999-4d5e-ae6e-d60bb4cda713.png

New Features

N/A

Bug Fixes

  1. Translation override system doesn't work.
    The file incorrect created as a same file directory.
    Override file incorrect merge with exists translation.
  2. Translation fallback logic doesn't work.
  3. Fixed purchase logger always record zero for item amount in database.

Developer Changes

  1. New event ShopInfoPanelEvent added into QuickShop-Hikari, event will raise after user clicked shop container and info panel printed.
  2. QuickShop-Common module's CommonUtil new added CommonUtil#parseTime(String) method to allow developer convert a Zulu Time (2022-12-17T10:31:37Z) or UNIX Timestamp in seconds 1671273097 to Java Date.

Addon Family

DiscordSRV

Download

  1. Added DiscordSRV artifacts to Modrinth, CodeMC.io and Github Releases artifacts list, You're able to download jars from the sites shown above.

Bug Fixes

  1. Fixed the placeholders with emptry string may cause bad embed message error, it was fixed by replacing empty string to ZERO width space.

Plan

Plan addon allow server owners to showcase the recent QuickShop-Hikari activities on the server.

Data Tracked

Recorded data can be displayed from Hikari v2.0.0.0 onwards, but only after version 3.6.0.0 can Item amount in Purchase History be displayed correctly.

Global Scope
  • Total shops amount
  • All shops (to a Shops list)
  • Recent Purchase History (include deleted or invalided shops), only in recent 365 days and 1000 rows will be shown up.

Due the Plan limitations, We can't add more data into the list because the maxmium columns are hardcoded limited to 5 in server scope.
And still is Plan limitations, the list sorting is disturbed, so the display order is not the actual order.

Player Scope
  • Total shops amount
  • All owned shops (to a Shops list)
  • Recent Purchase History (include deleted or invalided shops), only in recent 365 days and 50 rows will be shown up.

Due the Plan limitations, We can't add more data into the list because the maxmium columns are hardcoded limited to 4 in server scope.
And still is Plan limitations, the list sorting is disturbed, so the display order is not the actual order.

Showcase

208290345-2aa32f74-8c0a-4d27-9f69-b72a3ad605f4.png 208110771-b8d3a1cc-3c07-449f-a2ad-1348eafa7134.png
208109812-4f040bfb-4342-4510-adee-928d9041fa60.png 208110850-d59f4ec9-6c86-4a89-a2f9-87ced3d3d74e.png

Localization

Due the Plan limitations, translate Plan addon is impossible.

Discount

Discount Addon added Discount Code in your QuickShop-Hikari server.

Permission

  • quickshopaddon.discount.use (default: everyone)
    Permission to use any /qs discount commands.
  • quickshopaddon.discount.bypass (default: OP)
    Permission to bypass the owner checks to force config discount codes, add non-self shops in allow list or remove a discount code.
  • quickshopaddon.discount.create.server_all_shops (default: OP)
    Permission to create discount code that applied to all shops in your server.
  • quickshopaddon.discount.create.player_all_shops (default: everyone)
    Permission to create discount code that applied to player themself shops.
  • quickshopaddon.discount.create.specific_shops (default: everyone)
    Permission to create discount code that applied to shops in the code allow list.

Create a discount code

To create a discount code, you need use discount command:

/qs discount create <code> <code-type> <rate> [max-usage] [threshold] [expired-time]

Command pretty long, but you have in-game command assistant to help you in your tab complete hint.

208291577-59fcd76e-2b4a-4e87-bdf5-582ba573795e.png

Available Code Type
  • SERVER_ALL_SHOPS (Applied to all shops in your server)
  • PLAYER_ALL_SHOPS (Applied to all shops belongs to code creator)
  • SPECIFIC_SHOPS (Applied to shops in allow list that added by command /qs discount config <code> addshop)

Install a code

To use a Discount Code, you need install them before purchase shops.

/qs discount install <code>

The installed code will remember during this session.

Uninstall a code

To uninstall a Discount Code, you need use command:

/qs discount uninstall <code>

Show detailes for a installed discount code

To use info subcommand, you can query the code creator, range, remaining usage, expired time, threshold and discount rate.

/qs disount info

208291677-85469f8b-2c34-4563-bb57-619cfe70e105.png

Remove discount code

To remove your a specified discount code, execute command:

/qs discount remove <code>

Check if discount code can be applied to specific shop

You need install a discount code first, then you click the shop you want to check, a promot message will show up when you can enjoy the discount in this shop.
If code not accepted by target shop, you will also receive a warning message when you click it.

208291999-a32277bb-4111-4dde-bcd4-1d5f5b40ce9e.png

Apply the discounting

You need install a discount code first, then purchase a shop that accept your code.
Then discount will applied to your puchase, and your remaining count will be consumed.

208292084-633fe7e1-239c-4b8c-99b2-87fc9e824e1f.png

NOTE: If the above additional conditions are not met, the Discount Code will not be applied and you will not get a discount, but at the same time, the Discount Code will not be consumed, and the prompt message will contain the specific reason.

Auto Purge Expired Code

An expired discount code will automaticlly removed while server startup or in 30mins.
Before they got purged, players who use a expired code will receive a error message that says the code has been expired.

Convert your time

Expired time accepts both Zulu Time format and UNIX Timestamp in seconds format:

208248088-01b1cbfe-ff79-4448-8a34-7e95324a71e1.png

There have a such pretty online website can help you convert the time:
https://www.unixtimestamp.com/

For Zulu Time (ISO 8601 Extended) format:

yyyy-MM-dd'T'HH:mm:ssZZ

Note that the server time zone is used for calculations during the conversion.

Some other stuff

Since Nov 20, 2018, I have spent thousands of hours on QuickShop series projects, I have maintain these projects for up to four years.
The fifth year is coming, I would appreciate it if you could light up Star and Fork buttons for Github ❤.

68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f47686f73742d6368752f517569636b53686f702d48696b6172693f7374796c653d736f6369616c 68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f47686f73742d6368752f517569636b53686f702d48696b6172693f7374796c653d736f6369616c

Full Changelog3.5.0.3...3.6.0.0

Bug Fixes
  1. Fixed VirtualDisplayItem on 1.19.3 with ProtocolLib build 5.0.0-SNAPSHOT.
Tested on Paper git-Paper-334 (MC: 1.19.3)

Bug Fixes

  1. Fixed VirtualDisplayItem reporting java.lang.ClassNotFoundException: com.comphenix.protocol.wrappers.WrappedDataValue.
  2. Fixed VirtualDisplayItem reporting java.lang.RuntimeException: Failed to find NMS class: network.syncher.DataWatcher$b.

For 1.19.3 users, no impacts of those bugs, if you hit java.lang.ClassNotFoundException: com.comphenix.protocol.wrappers.WrappedDataValue on 1.19.3, upgrade ProtocolLib.

Tested on Paper 1.19.2 and Paper 1.19.3.

Bug Fixes

  1. Fixed broken VirualDisplayItem (1.19.2) on 3.5.0.0.
3.5.0.0
New Features
  • DiscordSRV addon (beta), it's a standalone plugin and need you install DiscordSRV.
    • Players who linked with their Discord in game now can receive the discord alerts through DM.
      • Including:
        • Anyone sold/bought items to/from your shop.
        • The shop permission settings changed.
        • The shop transfer to you.
        • The shop has run out of space.
        • The shop has run out of stock.
    • Same as QuickShop-Hikari it self, the messages send to players though Discord also use client display languages.
      • If player offline, QuickShop-Hikari will try to use latest known client language.
  • User now able to add new languages by create a folder in overrides folder with locale code as name, and same name yaml file inside folder.
    • You can create a locale named hack for example, and add a same name language to game client by using Resources Pack, and QuickShop-Hikari will detect new language and loading translation from custom languages.
  • (upstream) VirtualDisplayItem 1.19.3 support.
Bug Fixes
  • Rewrtitten SimpleTextManager, CrowdinOTA and LanguageFilesManager
    • Replaced CrowdinOTA codes to a standalone, bug-free library CrowdinOTA
      • This fixed incorrect cache handling, QuickShop-Hikari can correct handling the translations that cached in disk, and validating them when next loading to make sure files exists, up-to-date.
      • This also make translation cache files name be more friendly (human readable).
    • Rewritten files loading logic in SimpleTextManager.
      • This fixed incorrect override order and incorrect whole section override.
      • It always loading files by order: built-in failback -> bundled -> crowdin -> user override
      • Fixed strings lost issue if user or crowdin or bundled translations only override part of strings in a section.
      • Fixed translations merge function.
      • Fixed third-party addons translations registering function.
  • Fixed debug.delete-corrupt-shops doesn't work. (contributed by @Nlkomaru)
Developer
  • ShopPlayerGroupSetEvent now provides player's uuid in event.
Misc
  • Bump adventure-minimessage-platform from 4.1.2 to 4.2.0.
3.4.0.3 - 1.19.3 compatibility
3.4.0.3 released with 1.19.3 compatibility
 
New Features
  1. Spigot 1.19.3 compatibility.
  2. New command /qs database purgehistory for purge x days ago logs from your database.
Translations
  1. Updated translations from Crowdin.
3.4.0.2 - Velocity Compatilibility Module

New Features

  • [BETA] Velocity Compatibility Module (contribute by 4drian3d)
  • /qs find now supports Item Reference

Bug Fixes

  • /qs export command doesn't work anymore.
3.4.0.1
New Features
  • [BETA] Added BungeeCord Compatibility Module (#536).
Bug Fixes
  • Fixed /qs lookup create command always report name must applied to regex \w.
3.4.0.0 Major Update

Warning: This is a major update, have a lots internal changes, please make sure you have backup for worlds, databases and configs!

Warning: This update contains database structure changes, downgrade without backup is impossible and may kill your shop data!


New Features:

  1. [BETA] Shop Benefits! Now you are able to add players into your shop benefits! Share the earnings together with customize percentage! (only selling shops) [/qs benefitCheck Details
  2. Compatibility module Lands now support LandsAPI 6.22.0 and up only.
  3. Compatibility ARM now build against advanced-region-market 3.13.12.
  4. Discord server link now added into ErrorReporter, now you will see our discord server link while QuickShop catch any internal error then you can report it instantly.

Bug Fixes

  1. Fixed exception in /qs find command when any of shop not loaded correctly.
  2. Fixed RollbarErrorReporter sometimes report non quickshop errors.
  3. Fixed loan feature doesn't work in some situation.
  4. Fixed the tax value range warning description.
  5. Fixed dupilicate Crowdin manifest retrieve, this should can improve CrowdinOTA performance by reduce the Internet API requests.
  6. Fixed debug logger may blocked the threads if any error occurs between after logger lock locked and before lock released.
  7. Fixed incorrect Crowdin link in config.yml

Security

  1. Fixed potential XXE attacks exploit.

Removed

  1. Option trying-fix-banlance-insuffient now removed from configuration since it doesn't work well, most economy plugin can handle balance cache correctly, if something doesn't work, it should be economy plugin side issue.
  2. Removed command /qs debug sql <sql> function now completely removed from source code and binary.
  3. Some un-used classes and staled classes now removed from both source code and binary.

Optimize

  1. Optimized heap memory usage by reduce same fields in objects.
  2. General code clean up and optimize.

Dependencies

  1. Update towny from 0.98.3.10 to 0.98.4.2.
  2. Update PlotSquared-Core from 6.10.1 to 6.10.4.
  3. Update PlotSquared-Bukkit from 6.10.1 to 6.10.4.
  4. Update LandsAPI from 6.15.0 to 6.20.0. (breaking)
  5. Update unirest-java from 3.13.11 to 3.13.12 .
  6. Update commons-compress from 1.21 to 1.22.
  7. Update advanced-region-market from 3.3.6 to 3.13.12.

Misc

  1. Updated developer list in plugin.yml from Github Repository Contributors, thanks for contributing!
hotfix for last update

A hot fix for last version that fixed purchase failed bug.

3.3.0.0 Minor Changelog

attachment.jpg
 This update is sponsored by the club cat, say "Hello" to "Huahua".

New features

  1. Per-player i18n shop infomation sign. (img1)
    1. QuickShop-Hikari now support packet based shop infomation sign with ProtocolLib installed. Multiple player can see same sign in same time with different language display now.
  2. In this version, compatibility modules will provide the shop creation cancel details (like reason).
    1. User may need upgrade the compatibility modules to use this feature.
  3. In this version, player may able to set the shop stack size over the default limit (64). (img2)


Bug Fixes

  1. Fixed SQLite error for username-uuid lookup mapping caches, it now use memory cache instead.
  2. Fixed 3rd-party integration resources won't be released after QuickShop-Hikari disabled.
  3. Fixed database resources won't be released after QuickShop-Hikari disabled.
  4. Fixed economy hooks loaded in early statup stage, it will load in first server tick to make sure all economy plugin can be loaded.
  5. Fixed internal-error rollback logic, now it will take a snapshot for shop and trader inventory for error rollbacking instead count amount and add/remove items.
    1. Normally, this mechanic should not be triggered, it is a misconfigured or misprogrammed protection mechanism to avoid players or shops from losing/duplicating items and money.
  6. Fixed [backcolor=#dedede]/qs paste[/backcolor] reported paste missing the Timings, Transactions and Cron logs.

API changes

  1. TextManager now allow 3rd-party addons register their language k-v to QuickShop locale system.


Images

img1: -24757a3ffa7d1c7a.jpg img2: 196186413-a8323e29-5bfa-4e82-9b3b-3d235219b13a.png

3.0.3.0 Minor Changelog

attachment.jpg
 This update is sponsored by the club cat, say "Hello" to "Huahua".

New features

  1. Per-player i18n shop infomation sign. (img1)
    1. QuickShop-Hikari now support packet based shop infomation sign with ProtocolLib installed. Multiple player can see same sign in same time with different language display now.
  2. In this version, compatibility modules will provide the shop creation cancel details (like reason).
    1. User may need upgrade the compatibility modules to use this feature.
  3. In this version, player may able to set the shop stack size over the default limit (64). (img2)


Bug Fixes

  1. Fixed SQLite error for username-uuid lookup mapping caches, it now use memory cache instead.
  2. Fixed 3rd-party integration resources won't be released after QuickShop-Hikari disabled.
  3. Fixed database resources won't be released after QuickShop-Hikari disabled.
  4. Fixed economy hooks loaded in early statup stage, it will load in first server tick to make sure all economy plugin can be loaded.
  5. Fixed internal-error rollback logic, now it will take a snapshot for shop and trader inventory for error rollbacking instead count amount and add/remove items.
    1. Normally, this mechanic should not be triggered, it is a misconfigured or misprogrammed protection mechanism to avoid players or shops from losing/duplicating items and money.
  6. Fixed [backcolor=#dedede]/qs paste[/backcolor] reported paste missing the Timings, Transactions and Cron logs.

API changes

  1. TextManager now allow 3rd-party addons register their language k-v to QuickShop locale system.


Images

img1: -24757a3ffa7d1c7a.jpg img2: 196186413-a8323e29-5bfa-4e82-9b3b-3d235219b13a.png

Bug fixes

Fixed a bug that MySQL driver report exception: Unknown column 'SHOPS.id' in 'on clause'

Page 1