Ya, BlockContainer is a bad thing here. As we can have tile entities that ARNT block container, so you should probably test Block.hasTileEntity(meta)