Use enum instead of hardcoded magic values
(cherry picked from commit b83837e)
UpdateBlockEntityMessage protocol courtesy of @Aaron1101
(cherry picked from commit ea3532b)
Basically everything for Banners. As of yet, untested.
Formatting fixes
Rotate properly, update on placing, and actually save layers to NBT