I forgot to mention this initially, regarding items. The states can be largely ignored when updating, but changes to handedness will have to be acknowledged.
Methods like onItemUse, onItemRightClick, and itemInteractionForEntity now receive an extra parameter for an object I called...