haveric / StackableItems

Minecraft Bukkit plugin that allows you to change the default stack size of items.
22 stars 17 forks source link

Duplication glitch in player Shopkeepers editing gui. #130

Closed FatherWh0 closed 7 years ago

FatherWh0 commented 7 years ago

We've got quite a bit of enjoyment out of your superstacking plugin. We also use Shopkeepers quite a bit for our shops. I'm sure you've heard of it. Unfortunately I've run into a duplication glitch that occurs between the two that could become quite an issue if word got around. The conditions to make it occur are rather specific. The player shopkeeper needs to be the trade type and have it's trades set up and ready. The player's action bar must be fun. It's best to test it with an empty inventory other than the action bar being full as it is important that none of the items you are attempting to dup can already be in the player's inventory. With this arrangement, open the player shop's editing gui and attempt to shift-click the items into your inventory. You will find the items will appear in your inventory, temporarily disappearing from the player shop's trade gui. When you close and reopen the gui the items will reappear. I included a video demonstrating the duplication process hopefully with enough detail to duplicate it. Video demonstration: https://youtu.be/P-cxNTzQTcc Although I didn't include it in the video I did remove StackableItems as a test and was unable to create the dup without it. StackableItems 1.0.5 Shopkeepers 1.81 (and 1.82) paper 1.11.2 #1101 Thank you for your time and effort with this and for such a terrific and useful plugin.

Edit Experimentation has shown that it has something to do with the delay that occurs with Stackableitems and inventory changes.

FatherWh0 commented 7 years ago

I have two servers and both StackableItems and Shopkeepers are in use on both but this dup glitch does not work on the second server. I did remove Stackableitems from the first server because exploiting the glitch had gone viral. However, because there's two servers and one without the glitch and also because we really miss our superstacking I did some more investigating and have come back to post more info and do more begging... i mean requesting help. Here are timings from both. The reason I'm posting timings is because it contains a complete list of plugins. I am wondering if a third plugin might be involved. Server with dup glitch: https://timings.aikar.co/?id=f7a523ae7d044c8baa4feb89907a647f#plugins Server without dup glitch: https://timings.aikar.co/?id=b02a91f5949f4f0ab036f61c6e89c2e9#plugins

I do, of coarse, have test servers which are exact duplicates of the live servers so any level of trial-and-error is possible. Thank you for your time.

haveric commented 7 years ago

Any plugin that deals with inventory could be conflicting. From a super quick glance, I'd try slimefun as I know it has custom inventory handling and any shop plugins if they aren't being used on the one. If you could break it down to just the list of plugin names that the one server has over the other, that might help as well.

FatherWh0 commented 7 years ago

It was plotsquared. Doesn't even manipulate inventories but was responsible for that dup glitch. Go figure.

haveric commented 7 years ago

Strange. Glad you figured it out though.