Translucent Material acting weird with voxel like generation

I made a voxel based game, I gave each block flags for how each block will hide hidden. for example for water I had a flag to hide next to same and an opaque flag. so water will hide next to same and is not opaque. opaque makes blocks hide faces if next to an opaque block and hide next to same hides faces if the block is places next to the same type of block allowing for water to just be a single surface.