MattiDragon / ExtendedDrawers

Adds drawers and more
Other
5 stars 13 forks source link

[Bug]: Duping Upgrades #117

Closed otterpawps closed 3 months ago

otterpawps commented 3 months ago

Description of the issue

I found a way to duplicate upgrades infinitely. I thought it was a visual bug at first, but after resetting the server and my game the duplicates were still in my inventory and usable on other drawers in world. Basically I am using it with create. I have a funnel pushing items into a drawer. I had a diamond upgrade into it and realized I didn't want that much Sand and so I removed the upgrade while the drawer had 7k+ sand in it. I expected 1 of 3 things to occur, 1: the remainder Sand staying in there, but no longer accepting any new sand. 2: For the excess sand of 1024 to explode out of the drawer. 3: For the excess sand of 1024 to delete entirely from the world and stay at 1024. Instead my Sand remained in the drawer, all 7k. And was accepting more sand from the conveyor belt into the funnel into the drawer. I go back to the drawer to see if the upgrade is still there. It is. I put the upgrade in my main inventory and went to go check the Drawer UI again. It was still there. Then to see if it was just a visual bug I put the duped upgrade into another drawer and pushed it past 1024.

Reproduction steps

  1. Use Create.
  2. Upgrade target drawer via ED's UI.
  3. Have sand farm (or probably any mat farm) pushing into drawer via funnel and conveyor belt. (I have not tried other methods such as chutes and mech-arms).
  4. Remove upgrade.
  5. Go back into ED's UI of target drawer and see that it is still there.

Mod version

2.1.1

Operating System

Windows 10

Minecraft version

1.20.1

Other mods

Fabric. 300 mods, most of them adding furniture blocks, UI improvements, Tom's Simple Storage, and Cobblemon are the bigger ones. Many Fabric FPS/Server improvement mods.

I should note I am using CraftTweaker, specifically I used it to alter upgrade recipes to be a little cheaper and that may be the issue. Will test later when I have more time. Below is the ZS used. `var ed_upgrade1 = as IItemStack; var ed_upgrade2 = as IItemStack; var ed_upgrade3 = as IItemStack; var iron = as IItemStack; var gold = as IItemStack; var diamond = as IItemStack;

craftingTable.remove(ed_upgrade2); craftingTable.remove(ed_upgrade3);

craftingTable.addShaped("ed_newup2", ed_upgrade2,[ [iron, iron, iron], [iron, ed_upgrade1, iron], [iron,iron,iron] ]);

craftingTable.addShaped("ed_newt3", ed_upgrade3,[ [iron, gold, iron], [diamond, ed_upgrade2, diamond], [iron,gold,iron] ]);`

Server

Happens

Client

Happens

Logs

https://gist.github.com/otterpawps/357f401321caf7a9b5b3e2f42dc500d7

Extra Context

No response

MattiDragon commented 3 months ago

The drawer GUI is not added by Extended Drawers. It's added by ExtendedDrawersAddon and is known to have some issues. Contact them for further support. If you can reproduce this without the addon, please reopen.