Opencomputers: Fluid dupe bug

Created on 17 Jul 2018  路  4Comments  路  Source: MightyPirates/OpenComputers

With Forestry and OpenComputers installed fluids can be duped with a robot. I tested this without forestry installed and robots cannot use buckets like tanks. This seems to be with something with how forestry handles its buckets.

With the following versions, a person can use an OC robot with a tank_upgrade and a tank_controller upgrade to infinitely dupe any bucketable fluid. All you have to do is have the robot run the following script and it will dupe the fluid

while true do
component.tank_controller.drain()
robot.drop()
robot.suck()
end

It will continuously drop the bucket and then pick it up and reuse it.

Minecraft: 1.12.2
Forge: 14.23.4.2705
OpenComputers: 1.7.2.67
Forestry: 5.8.1.322

bug-minor

Most helpful comment

repro in >=1.11 due to how fluid containers drain a copy, and not the reference. thus we need to set the inventory slot with the modified fluid container after drain, also had to fix fill for the same reason. thanks for reporting

All 4 comments

Hmm, is this just with forestry and opencomputers? If it is maybe it's an issue with the universal bucket.

I noticed it originally with a small custom mod pack that I made. I tried reproducing it with strictly OpenComputers and could not reproduce the bug. I then started testing combinations of various mods in my pack and found that the bug only appeared when I had Forestry installed alongside OpenComputers. It seems that Forestry may add a capability to the buckets, as it seems that the robots appear to treat buckets like a portable tank holding 1000 mb of a fluid, but don't get fully updated when that fluid is drained into an internal tank in the robot. The robot does seem to think the bucket is empty after successfully draining it once into an internal tank, but dropping the bucket and picking it back up seems to cause it to treat it like a fresh full bucket.

I just did some further tests. I am mistaken, Forestry is not involved. This seems to be strictly an OpenComputers issue as I was testing with a milk bucket before. Forestry seems to add milk as a fluid, but I was able to recreate this bug with a water bucket without Forestry involved. It seems that when a robot with a tank and a tank controller performs a drain function on a bucket, it'll drain the fluid into the internal tank but not update the bucket to reflect the change.

repro in >=1.11 due to how fluid containers drain a copy, and not the reference. thus we need to set the inventory slot with the modified fluid container after drain, also had to fix fill for the same reason. thanks for reporting

Was this page helpful?
0 / 5 - 0 ratings