For time being disabled inventory resetting in case trade gets detected as invalid.
Fix for small issue where if you had single special trading mode available, like residence trading, which includes residence selection button, it would have been shown at the confirmation button line and then got disabled/hidden on confirmation. Now it properly reappears if trade is canceled
Small update to allow more customizable GUI title for both players, which are not separated and can be fully customized independently of each other. By default player who started trade will be shown in brown color while accepting player will be in black
Added option to prevent trades between players with same IP address, this can be bypassed if one of the trading players had access to trademe.sameipbypass permission node
Few additional checks relating to "stuck" trade state due to rare instances where player remains marked as trading while not actually being in a trade mode
Fix for ShowNewVersion option not behaving as it should
Update for command list page. Removal of command description, it got moved into hover over option. Some color updates, existing locale files will have minimal effect.
You can now click command line to get commands suggestion
Commands are now sorted alphabetically
Additional small improvement when it comes to dupe preventions. Keep CMILib up to date.
Fix for ConfirmMessage including empty line with default locale file when its disabled
Fixing issue relating to item dupe with help of some hack tools. Additionally its recommended to update CMILib which includes extra protections on top of this.
Fix for issue where some of the entries in file would have duplicated if you did /trade reload command
Added support for custom model data while defining UI items. you can use generic GREEN_STAINED_GLASS_PANE{CustomModelData:10} or simplified GREEN_STAINED_GLASS_PANE;cm{10} format to achieve this.
Reworked permission handling to be more in line with other plugins
New command /trade checkperm [keyword] which will output all permission nodes currently in use if no keyword was used or only those relating to entered word
trademe.logitemsothers changed to trademe.command.logitems.others
trademe.log.others changed to trademe.command.log.others
Fix for issue when you are consuming item while opening trade with someone
Added Folia server support. Update CMILib to the latest version. If any errors happen while running this plugin on Folia server, let me know. Some kinks might still need to be refined.
Added extra fail safe check when confirming trades
Added option (enabled by default) to record players clicks and actions during trades even if trade is canceled. This will help out to figure out possible exploits in the future. Files will be saved into tradeActions folder, which is separate from dupeLogs
Added option to auto delete log files for tradeActions and dupeLogs. By default we will keep dupe logs for 30 days and trade action logs for 3 days, you can always adjust those values to your liking. Keep in mind that logs will only be removed on server startup.
Don't forget to update CMILib as newest version will be required for this update to work properly.
Small fix while recording trade information into database
Small change for dupeLogs relating to click event being canceled or not.
Added options to disable exploit detector. We will have this option disabled by default, so enable it if you want to perform this check on trading.
Added option to disable item reset if potential item exploit was detected. When enabled we will reset players items to original state as it was at start of trade, which means that if player gained items with exploiting or not while trade window was opened would be lost. You can disable this to prevent potential legit item loss while allowing potential item dupe to go through while still having record in console about potential exploit with items list.
Fix for issue where items could be removed from offer while confirmation of trade was already running
Added better detection by player nick name, this will require you to update CMILib plugin
Fix for possible item loss in case you die while having items placed in trade menu
Fix for filler itemstacks having their original name and not empty field as it should
Added option to define order you want to show custom trading in. This will allow you to have same order each time you trade and put more important trade modes at front.
Fixing issue with blacklisted lore not being taken into consideration and player was able to trade blacklisted items. This will require CMILib to be updated to take full effect.
Fix for quickbar lock not working as it should. This is relating to previous issue fix as its originating from same bug
Fix for accepted trade buttons showing wrong messages
Added initial placeholderAPI support.
New placeholder as %trademe_user_hasTradeToggledOn% which will return true or false depending if player accepts trades or not. If you have list of placeholders you would want to see please make a ticket with full list and basic explanation what each of them should return.
Added option to block item trade by its NBT path. This only checks if NBT path exists and not what contents of it we have. You can use this to block special items with special custom NBT entries, avoid using generic ones like 'display.Name' which would block trading items with custom name, unless you actually need this
Extra message for item being blocked from trade will be shown in UI title section, just to be more noticable why you can click on specific item to trade it. We still have action bar message, but that one can be hard to see in some situations
Removed few lines from locale file to redirect and use them from CMILib which is more centralized place for it.
Fixing support for new WorldGuard API causing errors
1.17 server support update. Last plugin which goes into
CMILib type environment. As of 6.1.0.0 plugin will need
CMILib to function properly. Plugin size went down due to this change from 583Kb to 296Kb.
Fix for issue with plugins like Magic which tends to modify inventory just before opening trade window which wants to trigger item dupe protection as initial and end inventories doesn't match.
Fix for incorrect plugin version always informing about new one even if you already have newest
Fix for sometimes plugin failing to load in case you have issue while loading plugin incompatibilities with other plugins
Now trade modes should keep their order in gui
Fix for money trading showing big numbers with E instead of showing full one or shortened if enabled in config file
Added support for mmocore skill point trading
Added support for mmocore attribute point trading
Keep in mind that MMOCore currently is in early support mode and might need some extra adjustment and balance. If you have any ideas feel free to give suggestions at github
Fix for GUI title not adding color codes when generating it with player names who want to trade. Keep in mind that we can only put 32 characters in title and color codes takes atleast 2 slots from that.
Added extra locale line for jobs offer list so you can customize it to your own liking.
Added option to translate received item list which includes an option to define colors
Fixed issue with item list you received from trade adding separator at the end
Fix for issue with residence trading which would allow to have more residences over allowed residence limits
Update some of the code to be more version independent. Which will mean that in future it should continue working with new versions of minecraft without any additional special update.
Fix for log not showing a record of a player if the name provided was in different capitalization
Fix for issue when you would click on log entry of someones trade log and it would show your own
Now some of the items in Gui will not have useless information, like damage when you hold it in your main hand. This only applies for the buttons and not for the tradable items, so you can still see exactly what item you are getting.
Fix for issue with Jobs exp trading not removing properly traded exp from source player
Now you can trade Jobs exp in fractions, so if you have 19.25exp, you can trade all of this and after the trade it will not be averaged to hole numbers as before.
Updated locale file handling in general and now if we will fail to load locale, in example when you have miss formatted file, then backup copy of that file will be created for you to check it out and maybe fix issues. As miss formatted file gets reseted to default one (English) by default, just to keep plugin running even tho language will be "wrong" one.
Attempt to fix issue when items could disappear if you would cancel trade while counter is running. Could not reproduce this issue on test server, so some feedback would be nice (Discord pm's work too )
Completely removed old GUI handling as it was... Outdated. Remade it to run on CMI gui engine which is allot more flexible and more reliable when it comes to items being bugged out of inventory or clicking on inventory in general.
General library updates for better plugin handling.
API got some minor changes so plugins using old API will have to update it. Its quite minor changes, but they had to be done, check gitHub example plugin which contains full code examples.
Some trade values changed from decimal ones to full numbers. So no more information values like 5.0 when you cant have decimal value for that type of trading.
Now trade window title will update with some nice information when another player changes trading values. This is allot more convenient then action bar messages which can be hard to see.
Fixed issue with Sounds not being recognized in 1.13+ servers as of new changed names
Config file update to handle materials by names or by id and some general simplifications. So please update your config file if you had some custom values.
Added option to define sounds used while clicking on trade window. Check config file for those ones.
Fixed issue with new WorldGuard API changes introduced with 7.x version.
This is Experimental version, did tested out everything what i could think of to check out if its working properly with new GUI engine, but one head is always not as good as couple of them
Small fix for error message showing trade. instead of treademe. permission node
Extra check to be sure that trade window opened for both players successfully. This to address plugins which could prevent inventory from opening if player is in combat or some special conditions.
Error catcher when kingdoms support fails to initialize. Will need to investigate further why this happening with nevest version. For now, it will disable Kingdoms trading if it fails, but will allow other trade types.
Thanks to
UnioDex pointing out and coming up with solution. So all credits for this fix goes to him.
Added extra protection to prevent players, who are in trade mode, from sending chat messages or performing commands. This should minimize possibilities for hacked clients to send actions they should not have access too while trading.
Now right side should be fully filled with gray glass panels, just to minimize possibility for reported (not reproduced) issue when player would click on wrong side and loose items.
Some fix for 1.7.10 servers (we have 1.12.2 out...) and exp trade issue
Small remake for message on trade offer, now it will show 2 lines and can be shrinked to one if needed by removing \n in locale file for appropriate line
Couple fixes for incorrect command descriptions. Will not have any effect if you have used older versions. It just default ones got messed up a little bit.
This is official PreRelease version as plugin size grown up by additional 50% just because of new libraries and new features. So please test out know issues to be certain that it's now working properly.
Changed how locale/config files are being handled, to be in same area as other mine plugins.
Ther e was some rearrangement of some locale lines and some will get defaulted to English. Please double check your locale file after update.
Now trading will be stopped if one of the players gets damage.
"Rolled back" money trading finalizing method, hopefully to help out with situations when it's not giving money to a receiver but takes them from the giver.
Fix /trade log not showing traded items
Couple other small fixes
"New" command /trade offer (playerName) which simple give trade request. This is same as simply typing in /trade (playerName)
Added new command /trade logitems (playerName) [id] which will show full list of traded items including their displayname, lore, enchants and so on. This will only work with new trades. old trades will only show item type. For simpler use /trade log (playerName) command will show list of logs and by pressing on one of them which contains item trade will show detailed information about traded items.
As there is some issues with decimal money amounts with some plugins, when you are setting more than you have, value will be set to full number, in example if you have 10023.45 you will trade 10023, just to avoid possible issues with that decimal value.
Additional fail safe in case money withdrawal from player fails to stop money transfer.
Bigger numbers, which would be shown as 1.0E13 now should be shown in normal format. Keep in mind that you can use ShortNames feature to shorten big numbers if you don't care about precision.
Tax line will be moved to another line now, just to avoid to long ones.
Updated API example plugin (GitHub) with additional Money class example
Some "fix" to handle money transactions over 2.147.483.647 up to 10.000.000.000.000 (this only applies when using essentials economy system, other systems don't have hard limit as essentials limits it self up to this number). If offered money amount exceeds this amount (yes, there is servers who have so many money ), player will get message informing about that and will prevent rising money over this hard limit.
API For thos who using it, there is some change for increment handling and old get method is marked as deprecated as now new getAmount will return double value instead of int to handle bigger amounts set in config file.
Re-coded big chunk of code on how trading modes are handled and now TradeMe will support option to add custom trade modes with some simple plugins. Example plugin is in 9kb size and you can find it over github. Its as simple as it can get, you will need only 2 classes for it to implement new trade mode. Some extra explanations will be coming later on, mainly just to show how to add trades with accept fields, but you can always check it in main plugin as its working in same way and trade mode are being added in same way as you would be adding new trade modes with 3rd party plugin. Enjoy
Some optimization when saving trade information into data base
Added option to disable trade saving if you are not using it.
Some change for griefprevention handling to be more forgiving when checking for default block amount.
Some change on locale handling, now using same method as Residence plugin as there was no reports for issues with utf-8 encoding, hopping this will help out for thos ho cant use currently trademe locale in their language.
You don't need to provide base and multiplaier any more, values will be taken directly from McMMO folder
Keep in mind that Cumulative_Curve is not supported as it makes everything overcomplicated and i will need to do some extra experimenting to get correct results when using that McMMO feature
Recompiled against 1.11 version just to be safe with new API
Added 3 events to be fired when certain action are being done. Currently its just basic stuff to have starting point, if you have some additional requests or need additional events on another actions, just give me a shout.
TradeEndEvent - fired when trade is ended by one of players
TradeFinishEvent - fired when trade is successfully finished
TradeStartEvent - fired when trade is being started
Fix for new updated residence API, please use latest version of residence if you are updating to this version and want to have residence trade support.
Fix for mypet not allowing trade if player dint had any mypet before trade and so he don't have appropriate stuff made for him before hand. Now trade plugin will create needed stuff and in unlikely situation when thats fails, MyPet trade will be temporally disabled for that trade so it can be finished.