[1.12] Dupe Bug On Multiplayer
TheLimePixel opened this issue ยท 5 comments
Expected Behavior
Players previously accessing the picked up inventory have their GUI closed.
Actual Behavior
When a player has the GUI of an inventory opened and another player carries it, the GUI is still opened and the player can collect the items from it, allowing 2 players to essentially dupe items.
Steps to Reproduce
- Player 1 opens an inventiry
- Player 2 picks up the inventiry
- Player 1 collects the items from the inventory
Version of Minecraft, Carry On, Forge
1.12.2
1.7
14.23.1.2556
oh wow nice catch!
EDIT: Not sure if this is up to me to fix. If I'm guessing correctly, the gui should also still show if the block is broken (which is essentially what's happening when a block is carried). If you try this with chests, it shouldn't happen.
I suggest you contact the mod authors of said Tile Entities, they need to override Container#canInteractWith
.
I'm going to jump in on this closed issue and give my two cents:
Yes, I 100% agree that mods SHOULD be fixed to close their GUI when the item is picked up. However, when a block is broken via a player with a tool, block breaker, or TNT the items are thrown on the ground even when the GUI remains open. So, those mods do not have a duplication bug in the absence of Carry-on. What Carry-on does add is the ability for the items to be retained in the inventory during this "broken" phase instead of tossing them on the ground.
I would argue that since Carry-on, or other inventory movement method mods, introduce this extra layer and is the bridge to duplication glitches that Carry-on should be responsible in fixing the bug.
As a suggestion, is it possible to make blocks NOT be picked up when being interacted with?
Thanks for checking back on this issue,
Darkosto
This is why you force explicit whitelisting on tile entities.
Anyhow, good note; made sure to fix it in Charset.
I mean, it's not like this is a Carry On problem, but more of a general problem that many mods have. Containers could just as easily have been duplicated if the block was broken by a machine or another player. Yes, Carry On might make this issue more common, but it is definitely not causing it.
Also, I made a somewhat hacky fix that does the job and closes all GUI's when a connected TileEntity is no longer found. So on the latest version this bug shouldn't happen anymore.