Silent Gear

Silent Gear

19M Downloads

Arrow dupe bug (kind of)

SnivyLlama opened this issue · 4 comments

commented

Versions

  • Silent Gear: 1.16.3-2.4.7+194
  • Silent Lib: 1.16.3-4.9.0+63
  • Forge: 34.1.42
  • Optifine Installed: No

Expected Behavior

Honestly I am not really sure what I was expecting

Actual Behavior

I have a 1 durability arrow after using the dupe bug, along with the previous full durability gear arrow.

Links/Images

None

Steps to Reproduce the Problem

Load a crossbow with a gear arrow, repair the gear arrow to full, shoot the crossbow, and get a 1 durability gear arrow

commented

I just realized this could cause a material dupe bug, if you use a cheap arrow head (like stone) and keep doing this, take the 1 durability arrow, repair the extra arrow to full, and salvage, you can get infinite of whatever material you made your tool rod/fletching out of.

commented
commented

No, I mean gear crossbows. You can get a 1 durability arrow by loading the GEAR crossbow with a gear arrow, then fully repairing the gear arrow before firing. You still have the fully repaired gear arrow after firing if thats what your confused about, you just get an additional 1 durability gear arrow exactly alike.

commented

Yeah I discovered this duplication glitch too...
If you give it an arrow head made out of some material you want to duplicate, it will give you (occasionaly) one extra of whatever you made it out of when you salvage everything

start with 1 diamond.
make arrow with any tool rod and fletching with diamond tip.
load (gear) crossbow with diamond arrow.
stash away the diamond arrow in a chest.
shoot the crossbow; pickup the arrow.
salvage both arrows.
you will get 1 or 2 diamonds (there is a chance to it, but I did manage to duplicate a diamond using this)

Idk if it can be fixed though... you could try to store an ID per arrow item storing per ID how much of each material it was repaired with, and never returning more than that number from that ID when salvaging (and ofc reducing it when it is salvaged)

this will allow your friend to steal the salvage material from your arrows however...

another fix could be similar: only give materials when salvaging the last item with a given ID (this ID is the same as above: for each arrow item being crafted, it gets its own unique ID which is transfered to new items created after picking the arrow up)

another fix, this is by far the easiest, would be to simply disable arrows from being picked up when you don't have that same arrow in your inventory (or when your current arrow is at full durability)