[1.16] Fluid placer overwrites any solid block in front of it with fluid
RealGrep opened this issue ยท 0 comments
DO NOT REPORT AN ISSUE IF YOU HAVEN'T TESTED THE ISSUE WITH THE LATEST VERSION IN CURSEFORGE
Industrial Foregoing Version:
1.16.5-3.2.14.3-9
Titanium Version:
1.16.5-3.2.8.4-10
Crashlog If Applicable (Upload to pastebin/gist):
N/A
The fluid placer will overwrite any block that's in front of it. I rotated one that wasn't facing right, and it deleted the marble under it, then my ID variable store (destroying quite a lot of work lol). Once I figured that out, I had to test it a bit more. And yes, I can delete bedrock with it, as well. It just overwrites the block completely.
When I was looking for anything on this bug here, I noticed:
Which was a fix for this issue: #1129
In particular, this line:
} else if (world.isAirBlock(getPointedBlockPos()) || !world.getFluidState(getPointedBlockPos()).isSource()) {
It was just the isAirBlock before, which made sense. But if I follow the logic here, if it's not an air block, it goes to the second part of the short-circuit or. If that evaluates to true, then it will replace the block in front of it with the fluid. It will evaluate to true if it's not a source block. So as long as it's not an air block, and it's not a source block, it will overwrite the block with fluid.
Which means that any block that's not a source block will be stomped hard. RIP my variable store. XD
I assume you need to check if it's a fluid before checking if it's a source block, or at least make sure there isn't a non-fluid block there.
Thanks!