This will work as long as it's executed after Brick_Large_Cubes.
function brick8xWaterData::onPlant(%data, %brick)
{
%brick.setColliding(0);
%brick.setRayCasting(0);
//if we've planted directly on top of an identical water brick, hide it
if(!isObject($LoadingBricks_Client))
{
%count = %brick.getNumDownBricks();
for(%i = 0; %i < %count; %i++)
{
%downBrick = %brick.getDownBrick(%i);
if(!isObject(%downBrick.physicalZone))
continue;
if(%downBrick.getDataBlock().brickSizeX != %data.brickSizeX ||
%downBrick.getDataBlock().brickSizeY != %data.brickSizeY ||
%downBrick.getDataBlock().brickSizeZ != %data.brickSizeZ )
continue;
%pos = %brick.getPosition();
%downBrickPos = %downBrick.getPosition();
%xDelta = mAbs(getWord(%pos, 0) - getWord(%downBrickPos, 0));
%yDelta = mAbs(getWord(%pos, 1) - getWord(%downBrickPos, 1));
if( %xDelta > 0.05 ||
%yDelta > 0.05 )
continue;
%downBrick.setRendering(0);
}
}
}