Read correct packet lengths for HeldItemChange

The HeldItemChange packet is different sizes depending on what direction it is going in, because logic.