A hopper has an ID name of minecraft:hopper and is further defined by its block data and block entity. A hopper also has a block state that is expected to replace the functionality of block data in 1.13.[upcoming]