The bug
You can place buttons, torches, etc against the sides of snow blocks, but not against the sides of a full block's worth of snow layers.
Similarly, fences and other connectable blocks will join to the snow block but not the layers.
As this doesn't seem to be a deliberate exclusion, I thought it should be raised as an issue.
It's also worth noting that in 1.12, you can't place a button on the top face of 8 layers of snow, which is something that was possible in 1.11.
Code solution
Changing BlockSnow#getBlockFaceShape
to the following would make it's behaviour consistent with other 'full' blocks:
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face)
{
return face == EnumFacing.DOWN || state.getValue(LAYERS) == 8 ? BlockFaceShape.SOLID : BlockFaceShape.UNDEFINED;
}
Linked issues
Comments 5
This actually does appear to work as intended. A set of 8 snow layers has almost all the same properties as 1 snow layer.
This no longer seems to be an issue in 21w07a. I can place torches and buttons on the side of 8 snow layers, and fences connect to snow layers.
First of all, this is the best KIND of bug report. It has a clear description and it's easy to reproduce. But even more, it has CODE. So I do want to compliment you on that.
I'm looking at MCP code for 1.12pre1, so I don't have the same interfaces that you do, I guess. But anyhow, 8 layers of snow is an interesting corner case, and I can see why it MIGHT be intuitive to change its behavior once it has 8 layers. But snow blocks and snow layers are two quite different things. For instance, snow blocks are opaque while 8 layers of snow are transparent. There are lots of things you could do with one but not the other, like put redstone dust on top.
I can conceive of this otherwise invisible difference being potentially useful. In fact, I bet you someone has already made use of this distinction in a redstone contraption. Plus, the work-around is to just replace the 8 layers with an actual snow block. I doubt the devs will consider this to be a bug.