Duplication/Conversion Bug: Compacting Drawers
Danekjovax opened this issue ยท 11 comments
MC 1.16.5
Forge 36.2.31
StorageDrawers-1.16.3-8.5.1
ImmersiveEngineering-1.16.5-5.0.7-143
Seems the previous dupe fix got "some" of the problem I was observing, but not all of it. May be a mod interaction issue at this point. I used the following steps to reproduce:
-
Get a compacting drawer. Place it down.
-
Get a Quantify Key and activate the counter on the compacting drawer.
-
Get 1 bock and 1 ingot of Immersive Engineering Steel in your hotbar. Also grab a diamond and put it in your hotbar.
-
Place the Block of steel into the compacting drawer. (Notice that the ingot slot isn't populating - this is an indication that this block can be duped. Trying to place an ingot in it at this point won't work.)
-
Take the Block out of the drawer then place the ingot in. (Note the correct counts) Pull out the ingot.
-
Place the block back in. (Notice the missing ingot slot again.) Now, pull the block out and then place it back in a second time. (Note the identical counts!)
-
Place the ingot in. Note that the ingot/block numbers are incrementing 1:1.
-
Pull 1 block out, convert it to 9 ingots, then place all ingots into the drawer. Note the same incrementing.
You get the pattern at this point that this can be a duplication exploit. However, there's one other thing I saw while testing:
- Pull out all Steel ingots/blocks. The drawer should revert to blank state.
- Place the diamond into the drawer and then pull it back out. (this should show proper behavior).
- Now, place the blocks of Steel back into the drawer. (Note: things appear like they did in step 3.)
- Pull all the Steel blocks out and place them back in a second time. Note that the Blocks and diamonds are now showing in the display, with the identical counts.
Placing any diamonds into the drawer at this point will result in a matching increment of Steel blocks.
You see where a player could go with this?
As an extra note, using nuggets can also cause the same conversion/duplication issue between ingots/blocks.
This is still unresolved and causing issues in my pack. If this could be addressed before 1.16 support is dropped, that would be great. Thanks!
Is this issue exclusive to 1.16? Couldn't reproduce on latest 1.18 versions of SD/IE.
I discovered this issue as well in 1.18 using mod version 10.2.0. You can reproduce it in fewer steps, and it can be used to convert any non-compressible item to any compressible item and vice versa, or any item to any other item if you use two steps.
How to reproduce:
- Place the compacting drawers
- Insert a compressible item, then remove it.
- Insert a non-compressible item, remove it, then replace it.
The non-compressible item will be at the top, and the compressible one will be at the bottom. You can add more of either and then take them out to duplicate.
@Danekjovax @Elfinlocks I fixed the bug in this PR: #1017. If the issue is urgent and you don't want to wait for the release, you can try building the jar yourself.
Excellent, thank you! For now we'll wait a little bit for the PR to be approved, as we've kept this one under wraps. ;)
@Danekjovax @Elfinlocks I fixed the bug in this PR: #1017. If the issue is urgent and you don't want to wait for the release, you can try building the jar yourself.
Appreciate your reply. We'll await the release and test again.
@Danekjovax @Elfinlocks A new 1.16 release was posted yesterday with the dupe fix and some performance imporvements, give it a try.
@Quinteger What about 1.18? We've been patiently waiting, but having a dupe glitch on our server is scary.
@SimonMeskens The fix was originally done in 1.18, 1.16 was just a backport. The next 1.18 release will have it included.