Uses of Interface

Packages that use BlockState
The root package of the Bukkit API, contains generalized API classes.
Classes used to manipulate the voxels in a world, including special states.
Events relating to when a block is changed or interacts with the world.
Events relating to entities, excluding some directly referencing some more specific entity types.
Events triggered by various world states or changes.
Classes to facilitate world generation implementation.
The interfaces used when manipulating extra data can can be stored inside item stacks.
Classes related to creating or using structures without creating Structure blocks in the world.