Don't send events for clicking air
Add voxel sub-hit position
Calculate side of hit voxel, from normal
Sub-hit coordinates are now 2-dimensional
Swap side and sub-hit parameters

Now is ordered from most general (voxel), to most specific (side, then coordinates within side)
Revamp event formats

Now sends an object with keys instead of array, and renamed 'place'
to 'interact' since it could apply to other interactions besides
block placement
Send events even when interacting with air (but target===false)