Duping exploit with tanks
vajura opened this issue · 19 comments
So you can essentialy dupe any liquid in the game very easily. First you make a standard tank (http://minecraftbuildcraft.wikia.com/wiki/Tank), put it on the ground and fill it with any liquid. Now you make 2 or more portable tanks(http://ftbwiki.org/Portable_Tank) and stack them together, lets say you made a full stack of 64.
Now you select that stack in your bar and right click on the tank on the ground. It removes 1 bucket of liquid from the tank on the ground and it fills up all 64 portable tanks in your inventory with 1 bucket so you essentialy multiplyed the liquid by 64x.
This can be done extremly easily and very fast
This was done in FTB infinity 1.3.1(latest)
Maybe you're using other mod's portable tank? I don't remember which one
exactly, maybe Mekanism.
2015-03-24 15:15 GMT+06:00 vajura [email protected]:
I though so too but the guys at TE said it was BC bug
CoFH/Feedback#338 https://github.com/CoFH/Feedback/issues/338—
Reply to this email directly or view it on GitHub
#2585 (comment)
.
@SandGrainOne - buckets are items without an internal tank
This is an easy fix @asiekierka - you shouldn't be attempting to fill those types of containers. The onus is on the ITEM to provide bucket-style behavior.
Just because something holds fluid doesn't mean that it can or should be filled in the same way as a bucket.
@KingLemming - I need to check why this was added to dispute that first
@KingLemming - #2236 - let's ask @ganymedes01 about this!
I'll add a hotfix to make it never try to fill a stacked IFluidContainerItem for now - when Gany comes back we might know better about why he asked for this. @KingLemming
Put it this way, if you right click on an energy cell with a chargeable item, say a tool - is it supposed to automatically recharge it? I'm thinkin no.
Good news is, this is a trivial fix. Check the stacksize of the item. Done.
Thermal Expansion http://ftbwiki.org/Thermal_Expansion bug,
2015-03-24 15:03 GMT+06:00 vajura [email protected]:
So you can essentialy dupe any liquid in the game very easily. First you
make a standard tank (http://minecraftbuildcraft.wikia.com/wiki/Tank),
put it on the ground and fill it with any liquid. Now you make 2 or more
portable tanks(http://ftbwiki.org/Portable_Tank) and stack them together,
lets say you made a full stack of 64.Now you select that stack in your bar and right click on the tank on the
ground. It removes 1 bucket of liquid from the tank on the ground and it
fills up all 64 portable tanks in your inventory with 1 bucket so you
essentialy multiplyed the liquid by 64x.This can be done extremly easily and very fast
This was done in FTB infinity 1.3.1(latest)
—
Reply to this email directly or view it on GitHub
#2585.
I though so too but the guys at TE said it was BC bug
https://github.com/CoFH/Feedback/issues/338
BTW this might also work on IC2 machines but i forgot if i tested it or not, should i post a bug report on their forums/github also if it works?
@KingLemming - Buckets work this way, however, and it is on our side to provide that - in other words, removing this right now might break another mod relying on US providing bucket filling functionality (Gany's?). This should be looked at carefully.
This definitely goes against the intention of the interface, but I can understand why people would want to use it that way.
@KingLemming - as I said, removing support for this depends strictly on if and why people asked for it to work this way
My mods don't really depend on that code, if you'd like to remove it I'm okay with it.
I requested it mostly because I thought.. hey IFluidContainers hold fluids, might as well support them.
I noticed the issue when I was working with FluidStacks that had a NBT tag. Those can't be registered in the FluidContainerRegistry. I reported it to forge and the answer was "use IFluidContainers"...
But @KingLemming is right, the item itself should handle filling the tanks it is right-clicked on or not (though this would be an easy fix: divide the amount of fluid drained by the stack size, or just don't allow it if the size is not 1).