[Added] Added "Refund-Taxes-Upon-Merchandise-Removal" setting in GlobalMarket.yml file, which can enable refund the tax amount of the merchandise when removing.
[Fixed] Fixed a placeholder error in the default configuration file.
NOTE: Only after updating to this version, items that are uploaded can have their tax refunded upon removal.
[Added] Added restrictions on various merchandises in different currency units in the Groups.yml file (see comments in the configuration file for details).
[Optimized] Rewrite the statistical data function. (Changed some statistical objects).
[Added] Added new statistics type and corresponding placeholders. (See wiki for details)
[Fixed] Fixed some bugs in code details.
Note that due to the rewriting of statistical data functionality in this version, we recommend that you use the command "/gmp admin database backup merchant" to back up the data before updating to the latest version.
[Fixed] Fixed a bug in the default configuration file environment where players would not automatically return to the previous GUI after transaction confirmation in the trading GUI.
[Fixed] Fixed a serious bug regarding the "/gmp money" command, which can cause copying of money in special circumstances. Please update to this version ASAP or disable the player's permission to use the corresponding command in the CommandPermissions.yml file.
[Fixed] Fixed a SERIOUS BUG: Players can use certain cheating clients to send incorrect data packets through special processes to copy items (principle not disclosed, bug scope: ALL past versions of GMP). Please update to the latest version ASAP to avoid this bug!
[Optimized] Starting from this version, when multiple players are viewing the same merchandise at the same time, if a player has made a transaction, all GUI related to that product will be automatically closed.
[Added] Added regular expression support for some options in the categorization and blacklist functions. (see comments in the Categories.yml, GlobalMarket.yml, and Mailbox.yml files for details)
[Added] Added "Number-Section-Marks-Distance-Length" setting in GlobalMarket.yml. Number section marks can enhance the visualization of numbers such as prices and balances. (Example: 1000000 -> 1,000,000)
[Fixed] Fixed a bug where the store style did not work for other players.
[Added] Added settings for currency unit usage permissions in the OtherPermissions.yml file. It can be used to set the permissions required to use each currency unit.
[Fixed] Fixed a bug where the mouse would be reset to the middle position of the screen when switching to the GUIs.
[Fixed] Fixed a bug on the Folia server that caused the server to crash after executing a special task.
[Fixed] Fixed a bug where some merchandises were traded after special operations, which resulted in sellers not receiving money after enabling the Separate-Servers option.
[Added] Added Command Delay function (note not "command cooldown"), settings: Commands-Delay in Config.yml. Please refer to the comments in the default configuration file for detailed usage of this function.
[Added] Added the function of Separate Servers for the economic system, settings: Economy-Settings.Separate-Servers in Config.yml, which allows each server to maintain economic system independence even when connected to the same MySQL.
[Fixed] Fixed a bug where the offline task processing function ran incorrectly in special circumstances.
[Fixed] Fixed a bug where the automatic configuration file repair function could not successfully repair configuration files in special circumstances.
[Optimized] Optimized the logic of increasing or decreasing the number of items in the transaction GUI.
[Fixed] Fixed a bug where when a merchandise has both a wholesale price and retail price, opening the transaction GUI of the merchandise displays retail mode but is actually in full sales mode.
[Fixed] Fixed a SERIOUS bug: Players can use special methods (cheating programs) and exploit the underlying logical vulnerabilities of this plugin to copy items.
WARNING: This bug has now spread in some communities and is valid for all previous versions of GlobalMarketPlus. To ensure server data security, please update to this version ASAP!
[Fixed] Fixed a SERIOUS bug where the thread pool of the plugin could not start under special circumstances. (This will lead to some serious errors occurring)
This bug has been valid in several previous versions. To ensure the data security of your server, please update to this version ASAP!
[Fixed] Fixed a bug where when players purchase item, if the merchandise itself is set to infinite, players can set a one-time purchase that exceeds the stack limit of the item itself. (this will cause some serious problems)
[Added] More events have been added in the "studio.trc.bukkit.globalmarketplus.api.event" package.
WARNING: This version has removed some methods from the API. If you have used this plugin for secondary development, you may need to check if the new version of the plugin is compatible with your code!
[Added] Below version 1.12.2, you can now use "[Item ID]:[Value]" to distinguish different types of items under the same item ID in Category function and Item Blacklist function.
WARNING: This version has modified the storage format of the SerializedItem.yml file, so if you are using this feature, you need to copy and save all the data, and then add the items again after updating the version.
1.2.7.0 Update log:
[Optimized] Optimized the process of delivering items when players sell items. (Before this, it searched for an item with parameters consistent with the target item from the inventory, but now it prioritizes the items in the player's hand.)
[Fixed] Fixed a bug that reported an error in the console when a player entered a price that was not a number.
[Fixed] Fixed some bugs under 1.7.10 where item NBT may be lost.
[Fixed] Fixed a bug where the "Match Merchandises" feature would recognize own merchandises.
[Fixed] Fixed a bug where players can use SellInventory and BuyInventory to bypass the decimal limit.
[Fixed] Fixed a bug where displaying product prices on the market interface can cause decimal point accuracy errors/loss in special circumstances.
WARNING: This version has modified the storage format of the SerializedItem.yml file, so if you are using this feature, you need to copy and save all the data, and then add the items again after updating the version. 1.2.7.0 Update log:
[Optimized] Optimized the process of delivering items when players sell items. (Before this, it searched for an item with parameters consistent with the target item from the inventory, but now it prioritizes the items in the player's hand.)
[Fixed] Fixed a bug that reported an error in the console when a player entered a price that was not a number.
[Fixed] Fixed some bugs under 1.7.10 where item NBT may be lost.
[Fixed] Fixed a bug where the "Match Merchandises" feature would recognize own merchandises.
[Fixed] Fixed a bug where players can use SellInventory and BuyInventory to bypass the decimal limit.
[Fixed] Fixed a bug where displaying product prices on the market interface can cause decimal point accuracy errors/loss in special circumstances
[Optimized] Optimized price and balance display (Added a few placeholders, can be viewed here: link). When the price is too high, it will no longer be abbreviated, but will be displayed in full.
[Fixed] Fixed a bug where players can list items with a price of 0 under specific circumstances.
[Fixed] Fixed a bug in PAPI placeholders where auction related placeholders do not work.
[Fixed] Fixed a SERIOUS BUG: Missing a logic judgment code. which could lead to a serious logic vulnerability. (which could allow players to copy money using the plugin's functionality)
[Fixed] Fixed a bug where players were accidentally deducted their balance when delisting merchandise if the wholesale deposit was not set.
[Added] Added "Marketing-Mode-Name" settings and "Default-To-Retail-Mode" in "Transaction" setting in GlobalMarket.yml. Now it is possible to set whether players will list their merchandise in wholesale or retail mode. (Prior to this, the retail price needs to be priced after being listed first)
[Added] You can now specify the marketing mode in the listing commands (for example, "/gmp market sell retail:100" means listing an item at a retail price of 100 per item)
[Added] Added a Special Effect (Special Key) feature setting for the GUI. View details: here.
[Fixed] Fixed a bug where the collected tax amount cannot be displayed when using command "/gmp market buy".
[Fixed] Fixed a bug where PlayerPoints cannot be repriced through the chat bar when used as currency
[Fixed] Fixed a bug where merchandises cannot be traded in quantities exceeding the amount of the merchandise item itself in a single transaction when merchandise unlimited.
[Fixed] Fixed a bug where under special circumstances, the remaining deposit was refunded upon completion of the transaction, the merchant was unable to receive it when it was offline.
[Fixed] Fixed a bug with incorrect category logic for shulker box products.
[Fixed] Fixed some bugs with incorrect code placement, which may result in some options that could have been set through configuration files not working.
[Fixed] Fixed bug with incorrect wording for some language options.
[Added] Added "Commands-Cooldown" option in Config.yml. Writing down the sub commands that require adding cooling here can prevent players from frequently executing commands.
[Fixed] Fixed a bug where the {displayBalance} placeholder did not work in some message options.
[Fixed] Fixed a bug where the decimal part of the digits in some prompt messages was abbreviated incorrectly.
[Added] Added the setting 'Retaining-Decimal-Places' in GlobalMarket.yml. This setting applies to the maximum number of decimal places for prices, balances, etc
[Added] Added an internal placeholder {displayBalance} to display the player's balance after decimal point processing (see Wiki for details)
[Added] Added PAPI placeholder: %gmpapi_ merchant_ malance_ fixed%, with the same effect as before.
[Fixed] Fixed some minor bugs.
PS: This version has changed the balance display settings in Messages.yml and some GUISettings. You need to manually add or delete configuration files to automatically generate them to update to the latest display effect!
[Added] Added more Placeholder API support (see Wiki for details)
[Added] Supported to 1.20.2 version server.
[Added] Added new record object for 'Balance Change Record', which will record all balance modification records operated by this plugin (viewed in the command "/gmp admin recorder balanceChange")
[Added] Added option "Scan-Shulker-Box-When-Uploading" in GlobalMarket.yml. Whether to scan all items in the Shulker Box during listing (equivalent to sell inventory)
[Added] Added option "Match-Shulker-Box" in Categories.yml. This enables the classification function to scan items in the ShulkerBox to determine whether they belong to this category.
[Added] Added option "Scan-Shulker-Box" in GlobalMarket.yml's Item Blacklist settings. This enables the blacklist function to scan items in ShulkerBox to determine if they belong to the blacklist.
[Added] Added mailbox capacity limit function, where you can set different mailbox capacity limits for each group.
[Added] Added the "Store Style" feature (Command: "/gmp store style"), which can be used to provide players with multiple different view schemes for the layout of the store GUI.
[Optimized] Optimized code execution for mail pickup commands (no longer causing server lag).
[Optimized] Further optimized the database memory recycling mechanism.
[Fixed] Fixed a bug where ShulkerBox cannot be blacklisted as an item.
[Fixed] Fixed a logical bug on the thread pool that could cause severe CPU high usage.
[Added] Added new record object for 'Balance Change Record', which will record all balance modification records operated by this plugin (viewed in the command "/gmp admin recorder balanceChange")
[Added] Added option "Scan-Shulker-Box-When-Uploading" in GlobalMarket.yml. Whether to scan all items in the Shulker Box during listing (equivalent to sell inventory)
[Added] Added option "Match-Shulker-Box" in Categories.yml. This enables the classification function to scan items in the ShulkerBox to determine whether they belong to this category.
[Added] Added option "Scan-Shulker-Box" in GlobalMarket.yml's Item Blacklist settings. This enables the blacklist function to scan items in ShulkerBox to determine if they belong to the blacklist.
[Fixed] Fixed a bug where ShulkerBox cannot be blacklisted as an item.
1.2.0.0-SNAPSHOT-1 Update log: This is a temporary snapshot version that will be removed after the release of version 1.2.0.0.
[Added] Added the "Store Style" feature (Command: "/gmp store style"), which can be used to provide players with multiple different view schemes for the layout of the store GUI.
[Optimized] Further optimized the database memory recycling mechanism.
[Fixed] Fixed a logical bug on the thread pool that could cause severe CPU high usage.
[Added] Added "Commands-Cooldown-After-Login" option in Config.yml. How many seconds do players need to wait after entering the server to use the commands of this plugin. (According to this update, by default, players are not allowed to execute the commands of this plugin within 3 seconds after entering the server. You can make adjustments in Config.yml)
[Added] Added permission to bypass item blacklist (in OtherPermissions.yml)
[Added] Added "Merchandise-Type" option in Categories.yml. It can be classified according to different merchandise types. (Such as selling, bidding, etc.)
[Fixed] Fixed a bug where players were able to place blacklisted items in the Shulker Box to bypass blacklist censorship.
[Fixed] Fixed a bug where item parameter related settings did not work in category blacklist mode.
[Fixed] Fixed a bug that caused the currency unit to change to the default when found the same merchandise upon listing and continued to confirm its listing.
[Fixed] Fixed a bug where players can set the number of item to exceed their maximum allowed stacking quantity when starting acquisition
[Fixed] Fixed a potential bug in the mailbox system that could cause a large number of errors.
[Added] Added the "Operators" option in the economic settings (Config.yml), players in this list will not perform balance operations. (Usually, only when a certain merchant is used as a system store, the merchant name needs to be included in this list.)
[Fixed] Fixed a bug in the CatServer 1.16.5 core where the use of special MODs may prevent players from using commands.
[Added] Added the "Limit" option in Auction-Automatic-Overtime, which is used to limit the number of times a certain overtime policy can take effect (that means the maximum time of overtime)
[Fixed] Adjusted the position of the "Broadcast" option in Auction-Automatic-Overtime (originally placed in Conditions, now moved to the outside)
[Fixed] Fixed a bug where the English version configuration file 'GlobalMarket. yml' could not be loaded.
[Added] Added "Auction-Automatic-Overtime" options in GlobalMarket.yml. Now you can set the automatic overtime policies you want according to your needs.
[Added] Added "Transaction-After-Taxes" option in GlobalMarket.yml. You can setup whether to charge the tax before the transaction or after the transaction.
[Fixed] Fixed a SERIOUS bug that using a cheating client and exploiting system vulnerabilities to copy items.
[Added] Added whitelist option in item parameters blacklist settings (GlobalMarket.yml -> "Item-Parameters-Blacklist" -> "Whitelist"). With this feature, you can set that only certain items can be put on the market.
[Fixed] Removed the bug detector from the previous version, attempted to fix the database connection issue. (Maybe not working but I will continue to pay attention to the problems)
[Fixed] Fixed a serious bug that can copy money (For safety reasons no details are disclosed), please update as soon as possible! (This bug is valid for 1.1.0.0 or above)
[Fixed] Fixed a bug that could not search for MailExchange and MailPickUp records through the "sender" keyword. (Command "/gmp admin recorder mailexchange" and "/gmp admin recorder mailpickup")
[Fixed] Fixed some potential bugs that may cause console error reporting.
This version has added detectors for several bugs that can't be repaired and appear irregularly. If you find relevant error reports, please feed back to me in time.
[Added] Added new options in Merchant.yml(See the picture below). Whether to turn on the automatic processing of offline tasks. (After the player is offline, if there is a data operation that cannot be processed when the player is offline, it will be recorded in the player's profile and wait for processing.)
[Added] Added new command "/gmp profile tasks". It is used to process the unprocessed tasks in the file.
[Changed] About "Purchase" function: since this version, when the purchase sets a deposit for a single item, if a player has made a retail sale, the wholesale deposit of the item will be returned and the wholesale function will be disabled. Other players can only sell the item to the buyer through retail. (Before that version, there was a logic bug in this function. Other players could sell 63 items to the buyer through retail to get 63 of the retail deposit, and then sell 1 item to the buyer through bulk sale to get the bulk deposit. This caused an unfair transaction.)
[Changed] About tax rules: since this version, each item will rely on the tax collected on the merchandise to make up the difference when repricing.(For example, $5 tax is charged for 100$ price. If the price is changed to $50, no tax is required. If the price is changed to $200, the difference of $5 tax is required.)
[Added] Added multi currency symbols (In Config. yml). This is used to quickly position the target currency unit without manual command settings. (For example: When "Vault: $" is set in the option, "/market sell 100$" can be directly recognized as a Vault as a currency unit.)
[Fixed] Fixed the bug that "Change-Balance-Only-When-Online" in Merchant.yml does not work in MySQL mode.
[Fixed] Fixed a bug that may cause server crash in MySQL mode (main thread is suspended)
[Added] Added option "Cooldown-Of-Button-Click" in GUIs configuration file. This function is used to enable cooldown of this button to avoid the lags of highly clicked. (Wiki)
[Fixed] Fixed a bug with Merchant.yml -> "Change-Balance-Only-When-Online" option, which may cause some players to be unable to trigger the function normally. (that is, they cannot get paid after rejoining the game)
[Fixed] Fixed a bug with Merchant.yml -> "Change-Balance-Only-When-Online" option, which may cause some players to be unable to trigger the function normally. (that is, they cannot get paid after rejoining the game)
[Added] Added "Open-With-Asynchronous" option to GUI settings. This function is used to support opening the GUI asynchronously to prevent the server from crashing due to the loading of special items.(Enabled by default in versions below 1.12.2)
[Optimized] Optimized API methods.
[Fixed] Fixed the bug that CancelledPacketHandleException was thrown when the GUI was opened asynchronously in versions below 1.12.2.
[Added] Added "Async-Thread-Settings" option, you can now make more detailed settings for asynchronous threads.
[Optimized] Optimized the English version of the messages files.(The main thing is to change the text line to prevent the problem that the text cannot be fully displayed in a limited window because of too long text.)
[Fixed] Fixed the bug that the "/gmp market buy" command must be based on the number of items in hand when specifying the quantity.
[Added] Added option "Load-Head-Textures-From-GUIs" in Merchant.yml. Whether to enable reading player head textures from GUIs to save to database. (This feature will be used to fix an issue where player head data could not be saved in versions 1.8.x - 1.12.x.)
[Fixed] Fixed a series of problems in menu usage (a series of problems such as null pointer error, invalid click, etc.)
[Fixed] Fixed some minor bugs. (code logic errors)
[Added] Officially open API, you can directly import jar and carry out secondary development (wiki will be added later)
[Added] Added option "Change-Balance-Only-When-Online" in Merchant.yml. (This option needs to be enabled when the currency system does not support offline manipulation of player balances. Like Essentials+Vault, etc)
[Fixed] Fixed some bugs in notation ("," cannot be used as a decimal point)
[Fixed] Fixed a bug in version 1.13 that would cause an error to open the GUI.
[Added] Added custom command alias feature, you can now freely set aliases for any command. (In Alias.yml)
[Fixed] Fixed some minor bugs.
NOTICE: This version update modifies the content of the Alias.yml file. If you have not changed this file, it is recommended that you delete it and regenerate it; if you change this file, you need to reset it according to the updated setting specification!